Commit graph

187826 commits

Author SHA1 Message Date
Neel Natu dc50650607 Queue pending exceptions in the 'struct vcpu' instead of directly updating the
processor-specific VMCS or VMCB. The pending exception will be delivered right
before entering the guest.

The order of event injection into the guest is:
- hardware exception
- NMI
- maskable interrupt

In the Intel VT-x case, a pending NMI or interrupt will enable the interrupt
window-exiting and inject it as soon as possible after the hardware exception
is injected. Also since interrupts are inherently asynchronous, injecting
them after the hardware exception should not affect correctness from the
guest perspective.

Rename the unused ioctl VM_INJECT_EVENT to VM_INJECT_EXCEPTION and restrict
it to only deliver x86 hardware exceptions. This new ioctl is now used to
inject a protection fault when the guest accesses an unimplemented MSR.

Discussed with:	grehan, jhb
Reviewed by:	jhb
2014-02-26 00:52:05 +00:00
Glen Barber 23659c9d9d In release/Makefile, remove exclusion of CVS directories in the
src/ and ports/ distributions.

While I am thinking about it, exclude .git directories for src/
and ports/, as somewhat of a followup to r262499.

Sponsored by:	The FreeBSD Foundation
2014-02-26 00:52:01 +00:00
Julio Merino 50b9fb4657 Fix comment introduced in r262480: it's 1920x1200, not 1980x1200.
PR:		kern/180558
MFC after:	5 days
2014-02-25 23:04:39 +00:00
Xin LI 43e3038611 Refresh our implementation of OpenBSD's Blowfish password format.
Notable changes:

 - Support of $2b$ password format to address a problem where very
   long passwords (more than 256 characters, when an integer
   overflow would happen and cause the length to wrap at 256).
 - Updated pseudo code in comments to reflect the reality.
 - Removed our local shortcut of processing magic string and rely
   on the centralized and tigntened validation.
 - Diff reduction from upstream.

For now we are still generating the older $02a$ format of password
but we will migrate to the new format once the format is formally
finalized.

MFC after:	1 month
2014-02-25 23:03:48 +00:00
Glen Barber 9bb84a63b7 release.sh:
- Add a VCSCMD variable that defaults to 'svn checkout',
  and update places 'svn co' is used directly.
- After sourcing a configuration file, prefix SRCBRANCH,
  PORTBRANCH, and DOCBRANCH with the SVNROOT.
- Properly capitalize 'FreeBSD.org' in the default SVNROOT.
- Update Copyright.

release.conf.sample:
- Add an example to use git instead of svn, by nullifying
  SVNROOT, and setting SRCBRANCH, DOCBRANCH, and PORTBRANCH
  to the URL fo a git repository.

release.7:
- Document VCSCMD.

Submitted by:	Rick Miller (based on)
Sponsored by:	The FreeBSD Foundation
2014-02-25 22:13:48 +00:00
Sean Bruno 70c9dd3e3d Slightly better revision of teaching userboot how to respect MK_CDDL
Reviewed by:	grehan
2014-02-25 21:07:18 +00:00
Christian Brueffer 550c00ac6c Rough cleanup (new sentence -> new line, grammar, spelling, mdoc).
This could use more work.

PR:		187035 (in part)
Submitted by:	Bjorn Heidotting
MFC after:	1 week
2014-02-25 21:01:55 +00:00
John Baldwin 5b26ea5df3 Remove more constants related to static sysctl nodes. The MAXID constants
were primarily used to size the sysctl name list macros that were removed
in r254295.  A few other constants either did not have an associated
sysctl node, or the associated node used OID_AUTO instead.

PR:		ports/184525 (exp-run)
2014-02-25 18:44:33 +00:00
Kirk McKusick eff68496e2 Arguments for malloc and calloc should be size_t, not int.
Use proper bounds check when trying to free cached memory.

Spotted by: Xin Li
Tested by:  Dmitry Sivachenko
MFC after:  2 weeks
2014-02-25 18:25:27 +00:00
Sean Bruno 4477cac768 Teach userboot to comply with WITHOUT_CDDL/WITHOUT_ZFS
Apparently, LIBZFS is set to a non-empty string when WITHOUT_CDDL/WITHOUT_ZFS
are set, I think this is a bug, but work around this feature for now.

Reviewed by:	grehan
2014-02-25 18:00:55 +00:00
Christian Brueffer 419749b63a In puthdr(), start the ELF .data section on a new page, as this is
what btxldr expects (.set MEM_DATA,start+0x1000 in btxldr.S).

This makes resulting ELF binaries bootable with grub, gptboot and boot2.

PR:		153801
Submitted by:	Gleb Kurtsou <gleb.kurtsou at gmail.com>
Tested by:	Ruben Kerkhof <ruben at rubenkerkhof.com>
Glanced at by:	jhb, peter
MFC after:	1 month
2014-02-25 17:13:42 +00:00
Ruslan Bukin ee270bbca3 - Pin configuration is a complete iomux register now and includes
drive strength, pull mode, mux mode, speed, etc.
- Add i2c devices to the tree
- Add IPG clock
2014-02-25 17:02:11 +00:00
Ian Lepore f32801f42b Invalidate the SCU cache tag ram on all 4 cores, not just 1-3. I misread
Juergen's original code, it was doing all 4 cores.  Also remove the L2
cache invalidate operation, this code runs before L2 is activated.
2014-02-25 15:22:40 +00:00
Julio Merino 478b27042c Increase maximum number of columns to support 1980x1200 displays.
In my specific case, this fixes the problem of my PowerMac G5 displaying a
4:3 console on a 16:10 display with black bars on the left and right.

PR:		kern/180558
Reviewed by:	nwhitehorn
MFC after:	5 days
2014-02-25 13:48:05 +00:00
Hans Petter Selasky 358e903857 Don't generate devd rules for WSP device ID's found in the ATP driver yet.
MFC after:	2 weeks
2014-02-25 09:34:30 +00:00
Hans Petter Selasky eaef7dbdab Updates for WSP driver:
1) Add support for page back/forward.
2) While doing HOR scrolling, disable VER scrolling.
3) Checking dx_sum and dy_sum before emulate right button, this can
avoids unexpected right button press.
4) Fix stable pointer operation when emulating middle button.

Submitted by:	Huang Wen Hui <huanghwh@gmail.com>
MFC after:	2 weeks
2014-02-25 08:37:06 +00:00
Dimitry Andric 362a42b214 Make sure a for loop in fire_alloc_msix() terminates, by making the loop
counter signed.

Reviewed by:	marius
MFC after:	3 days
2014-02-25 07:33:28 +00:00
Dimitry Andric ad3d02dd2a In sys/sparc64/sparc64/spitfire.c, prevent signed shift overflow by
casting to the appropriate type.  (Note this fix cannot be done in
sys/sparc64/sparc64/spitfire.c, since that file is also included by
assembly source files.)

Reviewed by:	marius
MFC after:	3 days
2014-02-25 07:28:51 +00:00
Daichi GOTO 455b654622 sh: Add -h option to SYNOPSIS
Reviewed by:	jilles
MFC after:	soon
2014-02-25 03:05:43 +00:00
Mark Johnston 68ac8d05d3 Make all 8 syscall arguments available to syscall probes in the same way
that this is done for SDT probes. This fixes the syscall/tst.args.d test,
which was failing because mmap(2)'s sixth argument wasn't available to the
probe.

MFC after:	2 weeks
2014-02-25 02:58:11 +00:00
Kevin Lo 5c5e99d273 Add a flag to run's device list which uses a standard scsi eject.
The flag indicates that the mcu doesn't need to load firmware.

Tested by:	Alex Deiter <alex dot deiter at gmail.com>, myself
Tested on:	ASUS USB-N66
2014-02-25 01:42:02 +00:00
Xin LI b37cb98186 Wrap for loop in #if block testing the size is actually greater
than 0.  This silences gcc warning.

Reviewed by:	sha256(1) with clang
X-MFC-With:	r262447
2014-02-25 01:11:05 +00:00
Xin LI 882e4d2b26 Revert 262462 and 262461, they didn't solve the problem, in
fact I should actually waited the build to be finished before
committing.

A proper fix would be committed once my test build passes.

Pointy hat to:	delphij
2014-02-25 00:57:06 +00:00
Xin LI 9585cd10d4 Patch 2/2:
Reindent the code after previous change.

X-MFC-With:	r262447
2014-02-24 23:58:07 +00:00
Xin LI 5ce96980eb Patch 1/2:
Pet gcc: enclose the for loop that currently do nothing with an if.

Reviewed by:	sha256(1)
X-MFC-With:	r262447
2014-02-24 23:56:09 +00:00
Ruslan Bukin 9516467e96 Add support for Quartz Module.
Quartz is a tiny module utilized Freescale VF6xx
system-on-chip and development kit produced by
Device Solutions.

Quartz is available in a form of LGA (38x38x2mm)
or as a module with high-density connectors.

Sponsored by:	Device Solutions
2014-02-24 19:32:15 +00:00
Hans Petter Selasky b3c0274515 Update ATP manual page.
Submitted by:	Rohit Grover <rgrover1@gmail.com>
MFC after:	2 weeks
2014-02-24 19:27:26 +00:00
Hans Petter Selasky 973650a472 Fix compiler warning.
Reported by:	David Wolfskill <david@catwhisker.org>
MFC after:	2 weeks
2014-02-24 19:19:35 +00:00
Robert Watson a7626073a0 Build FICL support into little-endian 64-bit MIPS boot-loader fragments;
while this won't actually be used for anything (yet), it doesn't hurt to
ensure it is exposed to the tinderbox.

Requested by:   imp, jmallett
MFC after:      3 weeks
2014-02-24 18:44:22 +00:00
Robert Watson 5af5d53deb Build 64-bit ELF support into little-endian 64-bit MIPS boot-loader
fragments; while this won't actually be used for anything (yet), it
doesn't hurt to ensure it is exposed to the tinderbox.

Requested by:	imp, jmallett
MFC after:	3 weeks
2014-02-24 18:44:03 +00:00
Eitan Adler dd507fd312 hier(7): Add /usr/lib/private
Requested by:	theraven
MFC After:	3 days
2014-02-24 17:14:08 +00:00
Tijl Coosemans 0006340d93 Fix an array index out of bounds bug in iconv VIQR (Vietnamese) module.
PR:		185964
Submitted by:	Manuel Mausz <manuel-freebsd@mausz.at>
MFC after:	5 days
2014-02-24 14:40:28 +00:00
Tijl Coosemans 93da8bdca8 Fix Simplified Chinese character set conversions by switching around the
fields of an internal struct so it corresponds with the way variables of
this type are initialised.

PR:		185964
Submitted by:	Manuel Mausz <manuel-freebsd@mausz.at>
MFC after:	5 days
2014-02-24 13:43:11 +00:00
Tijl Coosemans 64f204f9dd Consistently pass around context information using a simple pointer. This
fixes some dereferencing bugs in Chinese character set conversions.

PR:		185964
MFC after:	5 days
2014-02-24 13:33:20 +00:00
Luiz Otavio O Souza b85b1bbd0f Enable the second and the third I2C controllers on Beaglebone-black.
The first I2C controller is only used to manage the on-board devices (PMIC
and HDMI framer) and its bus is not exposed on the expasion headers.

With this change the following pins on the P9 expansion headers are now
reserved as I2C pins:

 Pin 17 - I2C1 SCL
 Pin 18 - I2C1 SDA
 Pin 19 - I2C2 SCL
 Pin 20 - I2C2 SDA

The I2C2 is the bus that should be used to read the contents of cape
eeproms.

Approved by:	adrian (mentor, implicit)
2014-02-24 12:45:03 +00:00
Hans Petter Selasky 266ffc1f40 Update ATP driver:
- Add support for emulating a mouse wheel, Z-axis.

Submitted by:	Rohit Grover <rgrover1@gmail.com>
MFC after:	2 weeks
2014-02-24 10:44:42 +00:00
Adrian Chadd 9ab21e32fb Add in port0/port6 configuration as part of the platform data code path.
It's still hardcoded (for db120) but it is now hardcoded in all the
same place (ie, the pdata path.)  The port config/status code now checks
port0/port6 as appropriate to configure things.

Tested:

* Qualcomm Atheros DB120, AR8327 switch.
2014-02-24 05:55:00 +00:00
Adrian Chadd 2e3fd37d45 Add the AR8327 bits to the DB120 config file.
There's plenty of hints that I haven't yet fleshed out and are hardcoded
in arswitch_8327.c.  They're listed here (from OpenWRT) for completeness.

This is enough to get the thing up, running and pinging.

Note that the mdiobus for the on-switch switch changes - the AR8327
probes first, which exposes mdio1, and thus the arge1 mdiobus will probe
and attach as mdio2.  That is what the AR9344 on-chip switch has to
attach to.

Tested:

* Qualcomm Atheros DB120
2014-02-24 04:48:46 +00:00
Adrian Chadd 482d268d49 Link the AR8327 to the build. 2014-02-24 04:47:27 +00:00
Adrian Chadd 7330dd0bb4 Add initial AR8327 support.
This is (almost!) enough to actually probe, attach, configure a default
port group and do some basic work.  It's also totally hard-coded for
the Qualcomm Atheros DB120 board - it doesn't yet have any of the code
from OpenWRT which parses extra configuration data to know how to program
the switch.  The LED stuff is also missing.

But, it's enough to facilitate board, PHY, switch and VLAN bringup,
so I am committing it now.

Tested:

* Qualcomm Atheros DB120

Obtained from:	OpenWRT
2014-02-24 04:47:16 +00:00
Adrian Chadd 6dcbabd7d6 Methodize the arswitch VLAN routines.
These differ per chipset family in subtle and evil ways.

It becomes very noticable on the AR8327 where the layout is just plain
wrong.
2014-02-24 04:44:28 +00:00
Adrian Chadd 570c21252c * Ensure enough ports/phys are available for both the AR8327 and previous
switches.

* Add some new VLAN HAL methods that will be used by the VLAN configuration
  code.  The AR933x and later switches use slightly different register
  layouts (even though the driver currently doesn't support it.)
2014-02-24 04:43:23 +00:00
Ian Lepore 1f22526981 Add the bits needed to run SMP on imx6.
The 'option SMP' isn't added to the kernel config yet; people wanting to
test this have to opt-in for now.
2014-02-24 03:51:31 +00:00
Ian Lepore 1cf228d34b Invalidate caches immediately upon entry to init_secondary(). Also set
the Bufferable bit in the PDE entries of the secondary processor startup
pagetables.

The caches really need to be invalidated even earlier than this, but this
is a big step in the right direction.  The invalidate needs to happen
before the MMU is enabled, which means it has to be called from asm code
that's running with physical addressing.  Fixing that will be handled in
a future change.
2014-02-24 03:47:39 +00:00
Adrian Chadd 33d6df9acb Add correct attributions.
Sponsored by:	Netflix, Inc.
2014-02-24 02:47:47 +00:00
Adrian Chadd 85ec49f339 Add a new option - 'a <file>' - which spits out annotated callgraphs.
'-m <file>' spits out the given stream into <file> (eg, /dev/stdout).
However, it only resolves the first symbol; it doesn't parse the entire
callgraph.  If it fails to lookup then it doesn't print anything.

'-a' instead does a symbol and file:line lookup for each address in each
callgraph and will happily print the address itself with no lookup
information if it couldn't look things up.

This makes it much easier to pull out individual records from a
pmc data file and look at the callgraph information without having to
hand-decode the addresses.

Sponsored by:	Netflix, Inc.
2014-02-24 02:43:58 +00:00
Adrian Chadd 80dba82708 Add a very basic and totally hacked up iwnstats program.
This just extracts the current statistics out from the NIC via
the new ioctl API and displays them.  It runs every 100ms to hopefully
grab the latest statistics.

I may eventually teach this to use libstatfoo like what has been done
for athstats and such; but this is good enough for now for people to
do some basic investigation.

Tested:

* Intel Centrino 6205
2014-02-24 02:38:43 +00:00
Adrian Chadd 49f79cfd5f Track and expose the latest statistics from the firmware.
Tested:

* Intel Centrino 6205
2014-02-24 02:37:04 +00:00
Adrian Chadd 892ebbbd84 Reserve a bit for statistics debugging. I'll hopefully use it soon. 2014-02-24 02:13:20 +00:00
Ian Lepore 4b7fcd31e1 Add a new cache maintenance function, idcache_inv_all, to the table, and
implementations for each of the chips we support.  Most chips up through
armv6 can use the armv4 implementation which has a single coprocessor
opcode for this operation.  The rather more complex armv7 implementation
comes from netbsd.
2014-02-24 01:41:58 +00:00