14465 Commits

Author SHA1 Message Date
ray
d518940c2d MFC: 266836, 266839
vt(4) support for vidcontrol(1).
  o Teach vidcontrol(1) how to load vt(4) font.
  o Teach vidcontrol(1) to distinct which virtual terminal system is running now.
  o Load vt(4) fonts from different location.
  o Add $FreeBSD$ tag for path.h.
vt(4) support for kbdcontrol(1).
  Enable kbdcontrol(1) to use maps from vt(4) keymaps dir /usr/share/vt/keymaps
  if vt(4) is present.

Sponsored by:	The FreeBSD Foundation
2014-06-16 11:51:00 +00:00
jhb
30000c41d7 MFC 262744:
Add SMBIOS support.

A new option, -U, can be used to set the UUID in the System
Information (Type 1) structure.
2014-06-13 21:30:40 +00:00
jhb
f6a797dc57 MFC 262139,262140,262236,262281,262532:
Various x2APIC fixes and enhancements:
- Use spinlocks for the vioapic.
- Handle the SELF_IPI MSR.
- Simplify the APIC mode switching between MMIO and x2APIC.  The guest is
  no longer allowed to switch modes at runtime.  Instead, the desired mode
  is set when the virtual machine is created.
- Disallow MMIO access in x2APIC mode and MSR access in xAPIC mode.
- Add support for x2APIC virtualization assist in Intel VT-x.
2014-06-13 19:10:40 +00:00
jhb
3e1f2ae835 MFC 261638,262144,262506,266765:
Add virtualized XSAVE support to bhyve which permits guests to use XSAVE and
XSAVE-enabled features like AVX.
- Store a per-cpu guest xcr0 register and handle xsetbv VM exits by emulating
  the instruction.
- Only expose XSAVE to guests if XSAVE is enabled in the host.  Only expose
  a subset of XSAVE features currently supported by the guest and for which
  the proper emulation of xsetbv is known.  Currently this includes X87, SSE,
  AVX, AVX-512, and Intel MPX.
- Add support for injecting hardware exceptions into the guest and use this
  to trigger exceptions in the guest for invalid xsetbv operations instead
  of potentially faulting in the host.
- 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.
- 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.
- Expose a subset of known-safe features from leaf 0 of the structured
  extended features to guests if they are supported on the host including
  RDFSBASE/RDGSBASE, BMI1/2, AVX2, AVX-512, HLE, ERMS, and RTM.  Aside
  from AVX-512, these features are all new instructions available for use
  in ring 3 with no additional hypervisor changes needed.
2014-06-12 19:58:12 +00:00
jhb
cebc7c305f MFC 262311: Fix virtio spec URL. 2014-06-12 15:24:33 +00:00
jhb
fa121e2a05 MFC 261504:
Add support for FreeBSD/i386 guests under bhyve.
2014-06-12 15:20:59 +00:00
jhb
d87aa1ec6e MFC 261229:
o Fix typo, sort .Xrs.

PR:		docs/186191
2014-06-12 13:17:11 +00:00
jhb
835cb387cc MFC 260239,261268,265058:
Expand the support for PCI INTx interrupts including providing interrupt
routing information for INTx interrupts to I/O APIC pins and enabling
INTx interrupts in the virtio and AHCI backends.
2014-06-12 13:13:15 +00:00
jhb
e2cfb98334 MFC 261217:
Remove support for legacy PCI devices.  These haven't been needed since
support for LPC uart devices was added and it conflicts with upcoming
patches to add PCI INTx support.

Approved by:	grehan
2014-06-10 21:20:37 +00:00
jhb
986f765d45 MFC 261000,261785,263238,263322,264302:
Various AHCI fixes:
- Fix issue with stale fields from a recycled request pulled off the
  freelist.
- Provide an indication a "PIO Setup Device to Host FIS" occurred while
  executing the IDENTIFY DEVICE and IDENTIFY PACKET DEVICE commands.
- Provide an indication a "D2H Register FIS" occurred during a SET FEATURES
  command.
- Though there currently isn't a way to insert new media into an ATAPI
  drive, at least pretend to support Asynchronous Notification (AN) to
  avoid a guest needlessly polling for it.
- Don't reissue in-flight commands.
- Constrain the amount of data returned to what is actually available
  not the size of the buffer.
2014-06-10 19:00:14 +00:00
brueffer
597700b022 MFC: r266931
Grammar cleanup; sort SEE ALSO.
2014-06-07 19:12:43 +00:00
emaste
f6c16fe464 MFC r266903: Update default callchain depth to 16 to match kernel 2014-06-06 01:35:52 +00:00
bdrewery
c2e2f22c39 MFC r266463:
- Include /etc/newsyslog.conf.d/* and /usr/local/etc/newsyslog.conf.d/* by
    default for newsyslog(8).
2014-06-05 15:21:25 +00:00
jhb
9464d250b6 MFC 260999:
Increase the block-layer backend maximum number of requests to match
the AHCI command queue depth.
2014-06-04 18:08:08 +00:00
roberto
3af9d4776e Fix syntax error thrown at the point of creating the root pool, caused by
an embedded newline appearing within the options string surrounded by
double-quotes. Rework the logic that goes into setting dataset options on
the root pool dataset while we're here -- added two new variables (which
can be altered via scripting) ZFSBOOT_POOL_CREATE_OPTIONS and also
ZFSBOOT_BOOT_POOL_CREATE_OPTIONS for setting pool/dataset attributes at
the time of pool creation. The former is for setting options on the root
pool (zroot) and the latter is for setting options on the optional separate
boot pool (bootpool) implicitly enabled when using either GELI or MBR. The
default value for the root pool variable (ZFSBOOT_POOL_CREATE_OPTIONS) is
"-O compress=lz4 -O atime=off" and the default value for separate boot pool
variable (ZFSBOOT_BOOT_POOL_CREATE_OPTIONS) is NULL (no additional options
for the separate boot pool dataset).

Reviewed by:	allanjude
2014-06-04 15:31:57 +00:00
roberto
912232c83b MFC r266107,r266108,r266109:
Here is a patch for the bsdinstall root-on-zfs stuff that adds optional
encryption for swap, and optional gmirror for swap (which can be combined)

Updates to the datasets created by zfsboot.

Set compress=lz4 for the entire pool, removing it from the individual
datasets

Remove exec=no from /usr/src, breaks the test suite.

Fix the "disks" variable reuse.

It starts off being used to track the grammar for the number of disks
(singular vs plural) and then it is reused as the list of available disks.

Replace the variable with disks_grammar and move 'disk' and 'disks' to
msg_ vars so they can be translated in the future.

Submitted by:	Allan Jude <freebsd@allanjude.com>
Reviewed by:	roberto
Sponsored by:	ScaleEngine Inc.
2014-06-04 14:58:51 +00:00
hselasky
0718341c3a MFC r266798 and r266803:
Fix for big-endian architectures.
2014-06-04 10:33:30 +00:00
mav
40e2c2f2d8 MFC r266468:
Add IOMMU PCI subclass, found on Tyan S8236 motherboard.

Submitted by:	Dmitry Luhtionov <dmitryluhtionov@gmail.com>
2014-06-03 06:48:35 +00:00
jilles
5b93c96241 MFC r264480: mergemaster: Avoid "/var/tmp/temproot disappeared" if there is
nothing to compare.

Because of the change to find in SVN r253886, the entire temproot would be
deleted if it became empty, leading to a confusing message "*** FATAL ERROR:
The temproot directory ${TEMPROOT} has disappeared!"

Note that mergemaster does not do anything useful in this situation anyway
(e.g. put IGNORE_FILES="/etc/group /etc/master.passwd" in
/etc/mergemaster.rc and run mergemaster -p).

As noted in that commit, add -mindepth 1.

PR:		bin/188485
Submitted by:	David Boyd
2014-06-01 18:52:21 +00:00
gnn
cc6785bd5f MFC: 266209
Add a command line argument (-l) to end event collection after some
number of seconds.  The number of seconds may be a fraction.

Submitted by:	Julien Charbon <jcharbon@versign.com>
Relnotes:	yes
2014-05-30 15:02:29 +00:00
gnn
96656f614a MFC: 266166
Extend the size of the function or symbol that can be annotated.
2014-05-30 15:00:50 +00:00
mav
806f6922ee MFC r266320:
Add -o option to gstat to display "other" operatins (e.g. BIO_FLUSH).
2014-05-24 10:37:56 +00:00
jhb
0a175e57d1 MFC 260469:
Fix issue with the virtio descriptor region being truncated
if it was above 4GB.
2014-05-23 19:06:35 +00:00
emaste
e761352067 MFC r266208: Speed up pmcstat by improving string hash
In one case generating callgraph output from a 24MB system-wide sampling
  data file took 17.4 seconds on average.  Profiling showed pmcstat
  spending a lot of time in strcmp, due to hash collisions.

  Replacing the XOR-only hash with FNV-1a reduces the run time for my
  test by 40%.
2014-05-23 17:46:00 +00:00
dteske
4ea8710a4b MFC r266297: Update example portion of comment to coincide with r264840 2014-05-22 22:10:16 +00:00
jhb
4670db3f86 MFC 264765,264766:
- Don't claim the adapter is idle if it is clearing a drive.
- Fix an off by one error when checking for the stop event.  This
  resulted in not showing the most recent event by default.
- When the stop even is hit, break out of the outer loop to stop
  fetching more events.
2014-05-18 15:28:25 +00:00
jhb
5e2f766c6c MFC 259737, 262646:
Fix a couple of issues with vcpu state:
- Add a parameter to 'vcpu_set_state()' to enforce that the vcpu is in the
  IDLE state before the requested state transition. This guarantees that
  there is exactly one ioctl() operating on a vcpu at any point in time and
  prevents unintended state transitions.
- Fix a race between VMRUN() and vcpu_notify_event() due to 'vcpu->hostcpu'
  being updated outside of the vcpu_lock().
2014-05-18 04:33:24 +00:00
jhb
bbf655f9b4 MFC 259641,259863,259924,259937,259961,259978,260380,260383,260410,260466,
260531,260532,260550,260619,261170,261453,261621,263280,263290,264516:
Add support for local APIC hardware-assist.
- Restructure vlapic access and register handling to support hardware-assist
  for the local APIC.
- Use the 'Virtual Interrupt Delivery' and 'Posted Interrupt Processing'
  feature of Intel VT-x if supported by hardware.
- Add an API to rendezvous all active vcpus in a virtual machine and use
  it to support level triggered interrupts with VT-x 'Virtual Interrupt
  Delivery'.
- Use a cheaper IPI handler than IPI_AST for nested page table shootdowns
  and avoid doing unnecessary nested TLB invalidations.

Reviewed by:	neel
2014-05-17 19:11:08 +00:00
dteske
938242c727 MFC r264841: Update zfsboot to coincide with MFC of r264840
adding GEOM support.
2014-05-17 03:59:01 +00:00
dteske
5dd59bc6ac MFC r264840: Implement GEOM based media device classification. 2014-05-17 03:28:43 +00:00
sbruno
ebb52114cf MFC r264269, r264282, r264280, r264291, r264276, r264314
Merge sson's binmiscctl and image activator features to stable/10

Submitted by:	sson@freebsd.org
2014-05-16 21:56:33 +00:00
loos
faac8f5770 MFC r258044, r258679, r263990
Adds gpioiic.4 and gpioled.4 man pages.  Moves some of the information that
was previously available on gpio.4 to their respectives pages.  Add the
cross references on gpioctl.8.

Add gpiobus(4) as a link to gpio(4).
2014-05-14 23:33:38 +00:00
jh
93d38c10ec MFC r264194:
Fork a child process and wait until the process terminates when the -P
option is specified. This behavior is documented on the manual page.

PR:		bin/187265
2014-05-09 15:55:45 +00:00
delphij
1b18a5ca98 MFC r264740:
Use case insensitive match in portsnap.

PR:		bin/186510
Submitted by:	olli
2014-05-09 07:07:25 +00:00
scottl
76892e1ddc Merged r262424-262425,265085
Add the -a option to pmcstat.  This produces a full stack track on the
sampled points.  See the man page for details on how this works.

Obtained from:  Netflix, Inc.
2014-05-07 20:20:52 +00:00
trasz
73fdbcd002 MFC r264877:
Style fixes.

Sponsored by:	The FreeBSD Foundation
2014-05-07 08:00:59 +00:00
trasz
721f1b951c MFC r264604:
Remove redundant code.

Sponsored by:	The FreeBSD Foundation
2014-05-07 07:57:53 +00:00
trasz
c8af11f514 MFC r264549:
Make it possible for the initiator side to operate in both proxy
and normal mode; this makes it possible to compile with the former
by default, but use it only when neccessary.  That's especially
important for the userland part.

Sponsored by:	The FreeBSD Foundation
2014-05-07 07:56:36 +00:00
trasz
4dda47a3fa MFC r264535:
English.

Sponsored by:	The FreeBSD Foundation
2014-05-07 07:44:17 +00:00
trasz
854e04966d MFC r264534:
If we fail to create LUN, try again on next configuration reload.

Sponsored by:	The FreeBSD Foundation
2014-05-07 07:43:13 +00:00
trasz
db043740d7 MFC r264533:
Use consistent punctuation.

Sponsored by:	The FreeBSD Foundation
2014-05-07 07:41:58 +00:00
trasz
25fa6ec500 MFC r264532:
Use proper terminology in debug messages.

Sponsored by:	The FreeBSD Foundation
2014-05-07 07:40:45 +00:00
trasz
4eacdf9453 MFC r264531:
Constify.

Sponsored by:	The FreeBSD Foundation
2014-05-07 07:39:16 +00:00
trasz
21ec0cf2d0 MFC r264530:
Properly pass the initiator address when running in proxy mode.

Sponsored by:	The FreeBSD Foundation
2014-05-07 07:37:55 +00:00
trasz
a59839947c MFC r264529:
Use socket address from accept(2) instead of retrieving it via
getpeername(2).

Sponsored by:	The FreeBSD Foundation
2014-05-07 07:36:46 +00:00
trasz
04b1f4adf5 MFC r264528:
Rework the way we enable CTL iSCSI port.  Previously conf_apply()
needed it to be already enabled, because listening in proxy mode
requires it; however, it's conf_apply() that opens pidfiles,
so it resulted in port being enabled before pidfile was opened.
This was not so bad, but it was also disabled when pidfile couldn't
be opened due to ctld already running; this means that starting
second ctld instance screwed up the first.

Sponsored by:	The FreeBSD Foundation
2014-05-07 07:35:21 +00:00
trasz
f2085cbf68 MFC r264526:
Properly identify target portal when running in proxy mode.  While here,
remove CTL_ISCSI_CLOSE, it wasn't used or implemented anyway.

Sponsored by:	The FreeBSD Foundation
2014-05-07 07:32:45 +00:00
trasz
690b7a7a12 MFC r264524:
Make it possible for the iSCSI target side to operate in both normal
and ICL_KERNEL_PROXY mode, and fix some bit rot so the latter actually
works again.

Sponsored by:	The FreeBSD Foundation
2014-05-07 07:29:39 +00:00
trasz
7420d3ad26 MFC r264500:
Stop treating LUN 0 as mandatory.  There is no reason to do that.

Sponsored by:	The FreeBSD Foundation
2014-05-07 07:28:23 +00:00
jmmv
1e4589b921 MFC various moves of tools/regressions/ tests to the new infrastructure.
- r263220 Migrate tools/regression/sbin/ to the new tests layout.
- r263222 Add Makefile missed in r263220.
- r263226 Migrate tools/regression/{usr.bin/lastcomm,usr.sbin}/ to the new tests layout.
- r263227 Migrate most of tools/regression/usr.bin/ to the new tests layout.
- r263345 Expand tabs that sneaked in into spaces.
- r263346 Migrate tools/regression/usr.bin/make/ to the new tests layout.
- r263348 Add Makefiles missed in r263346.
- r263351 Migrate tools/regression/usr.bin/pkill/ to the new tests layout.
- r263388 Mark multi_test as requiring /usr/share/dict/words.
- r263814 Fix path to the run.pl script to let these tests run.
- r264742 Prevent building tests when bootstrapping make.

This is 'make tinderbox' clean.
2014-04-27 01:15:10 +00:00