Commit graph

187425 commits

Author SHA1 Message Date
Gleb Smirnoff 0d3009b37c Remove ft_rtalloc and choose rtalloc function at compile time. 2014-02-08 22:12:00 +00:00
Gleb Smirnoff 2333893af3 Spacing. 2014-02-08 22:10:53 +00:00
Ruslan Bukin f3a72e40b5 Add drivers for:
- Enhanced Direct Memory Access Controller (eDMA)
- Direct Memory Access Multiplexer (DMAMUX)
2014-02-08 19:47:59 +00:00
John Baldwin abb023fb95 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.  When switching to the guest FPU
  state, switch to the guest xcr0 value.  Note that the guest FPU state is
  saved and restored using the host's xcr0 value and xcr0 is saved/restored
  "inside" of saving/restoring the guest FPU state.
- Handle VM exits for the xsetbv instruction by updating the guest xcr0.
- Expose the XSAVE feature to the guest only if the host has enabled XSAVE,
  and only advertise XSAVE features enabled by the host to the guest.
  This ensures that the guest will only adjust FPU state that is a subset
  of the guest FPU state saved and restored by the host.

Reviewed by:	grehan
2014-02-08 16:37:54 +00:00
Jilles Tjoelker 0b57dd6bde init: Remove code to track line numbers in /etc/ttys.
The tracking generated warnings when the line number of an existing tty in
/etc/ttys changed, which would corrupt utmp (as it was indexed by the line
number). With utmpx, the line number no longer matters, so the tracking is
no longer needed.
2014-02-08 13:51:15 +00:00
Joel Dahl 7e700c30d2 mdoc: minor paragraph fixes. 2014-02-08 13:37:02 +00:00
Joel Dahl 3d9335a67e Correct example.
Submitted by:    Jason McIntyre <jmc@kerhand.co.uk>
                 Thomas Klausner <wiz@netbsd.org>
2014-02-08 13:29:35 +00:00
Gleb Smirnoff 07d9bc0740 Revert accidentially leaked changes in r261627. 2014-02-08 09:57:52 +00:00
Gleb Smirnoff 603819bc74 Remove never set flag FL_OVERWRITE. The only place where
it was checked led to lock/critnest leak.
2014-02-08 09:56:26 +00:00
Neel Natu bf73979dd9 Add a counter to differentiate between VM-exits due to nested paging faults
and instruction emulation faults.
2014-02-08 06:22:09 +00:00
Xin LI 5f62f8cdcb MFV r261619:
4574 get_clones_stat does not call zap_count in non-debug kernel

zap_count(...) is never called in non-DEBUG kernel.
As result "count" variable is always 0, and "goto fail" is always
reached.  This means get_clones_stat function never makes up list
of clones for "clones" properties.

MFC after:	2 weeks
2014-02-08 05:35:36 +00:00
Xin LI 615c84d188 4574 get_clones_stat does not call zap_count in non-debug kernel
illumos/illumos-gate@03d1795fa6
2014-02-08 05:30:33 +00:00
Xin LI c35ddb346f In g_eli_crypto_hmac_init(), zero out after using the ipad buffer,
k_ipad.

Note that the two consumers in geli(4) are not affected by this
issue because the way the code is constructed and as such, we
believe there is no security impact with or without this change
with geli(4)'s usage.

Reported by:	Serge van den Boom <serge vdboom.org>
Reviewed by:	pjd
MFC after:	2 weeks
2014-02-08 05:17:49 +00:00
Neel Natu 62fbd7c27a Fix a bug in the handling of VM-exits caused by non-maskable interrupts (NMI).
If a VM-exit is caused by an NMI then "blocking by NMI" is in effect on the
CPU when the VM-exit is completed. No more NMIs will be recognized until
the execution of an "iret".

Prior to this change the NMI handler was dispatched via a software interrupt
with interrupts enabled. This meant that an interrupt could be recognized
by the processor before the NMI handler completed its execution. The "iret"
issued by the interrupt handler would then cause the "blocking by NMI" to
be cleared prematurely.

This is now fixed by handling the NMI with interrupts disabled in addition
to "blocking by NMI" already established by the VM-exit.
2014-02-08 05:04:34 +00:00
Warner Losh 6efc5b1db6 Remove FreeBSD 6 support 2014-02-08 04:29:36 +00:00
Alan Somers 7b51b855d1 tests/sys/Makefile
use TESTS_SUBDIRS for kern instead of SUBDIRS.  I don't think it
	makes a difference in this case, but TESTS_SUBDIRS is generally
	correct for subdirectories that contain tests.

Sponsored by:	Spectra Logic
MFC after:	5 days
X-MFC-With:	r261133
2014-02-08 00:20:21 +00:00
Ed Maste 90990e3bc1 Build a 32-bit libstand under sys/boot/ for ppc64
This change is equivalent to r261567 for i386/amd64.

Sponsored by:	The FreeBSD Foundation
2014-02-07 22:49:42 +00:00
Gleb Smirnoff d60a1d1ef4 Fix comment. 2014-02-07 22:30:42 +00:00
Pawel Jakub Dawidek ba54076e2e Add cross-references to casperd(8) and libcapsicum(3).
Suggested by:	rwatson
2014-02-07 22:15:48 +00:00
Christian Brueffer cda7eb8179 Add some context for the "kldload sem" command; minor other improvements.
PR:		183650
Submitted by:	Bjorn Heidotting
MFC after:	1 week
2014-02-07 22:04:56 +00:00
Gleb Smirnoff f83f97fcbc Remove unused defines. 2014-02-07 21:56:16 +00:00
Dimitry Andric f18dc6922d Pull in upstream libcxxrt commit 8006101, which makes its cxxabi.h file
compilable just by itself.

PR:		kern/184019
MFC after:	3 days
2014-02-07 21:34:09 +00:00
Dimitry Andric d45679747c Apply a cleaner solution for the sign warnings that can occur when
compiling libc++'s <locale> header with -Wsystem-headers on.

This has also been submitted upstream.

Reported by:	asomers
2014-02-07 21:17:20 +00:00
John Baldwin 1f82944f35 Mark the I/O ports used by the bhyve console and debug devices as system
resources.

MFC after:	1 week
2014-02-07 20:53:41 +00:00
Andrew Turner bc6c10477d Dynamically generate the page table. This will allow us to detect the
physical address we are loaded at to change the mapping.
2014-02-07 19:15:25 +00:00
John Baldwin c97492d0e0 Now that FreeBSD/i386 works as a bhyve guest, allow i386 kernels to
include bvmconsole and bvmdebug.
2014-02-07 18:46:27 +00:00
Eitan Adler 86a7dfc3e0 HEAD is not buildable for the past day. Commit a 'quick fix' in order to permit
buildworld to complete.

Reviewed by:	theraven
2014-02-07 18:10:34 +00:00
Ed Maste b0b98e9752 Don't force efi to a 32-bit build on amd64
Sponsored by:	The FreeBSD Foundation
2014-02-07 16:28:40 +00:00
Kevin Lo 71099ec509 Set errno on inet_ntop(3) failure.
Reviewed by:	glebius
2014-02-07 15:26:19 +00:00
Gleb Smirnoff 5d6d7e756b o Revamp API between flowtable and netinet, netinet6.
- ip_output() and ip_output6() simply call flowtable_lookup(),
    passing mbuf and address family. That's the only code under
    #ifdef FLOWTABLE in the protocols code now.
o Revamp statistics gathering and export.
  - Remove hand made pcpu stats, and utilize counter(9).
  - Snapshot of statistics is available via 'netstat -rs'.
  - All sysctls are moved into net.flowtable namespace, since
    spreading them over net.inet isn't correct.
o Properly separate at compile time INET and INET6 parts.
o General cleanup.
  - Remove chain of multiple flowtables. We simply have one for
    IPv4 and one for IPv6.
  - Flowtables are allocated in flowtable.c, symbols are static.
  - With proper argument to SYSINIT() we no longer need flowtable_ready.
  - Hash salt doesn't need to be per-VNET.
  - Removed rudimentary debugging, which use quite useless in dtrace era.

The runtime behavior of flowtable shouldn't be changed by this commit.

Sponsored by:	Netflix
Sponsored by:	Nginx, Inc.
2014-02-07 15:18:23 +00:00
John Baldwin 8044460976 - Use a callout instead of the deprecated timeout_handle.
- Set the console name always so that the bvm console device can be used
  via conscontrol even if it isn't chosen as the default console.
2014-02-07 15:10:24 +00:00
Hans Petter Selasky a3375ef52b The atp USB driver is generic and its manual page should be available
for all platforms. Add wsp manual page to build.

MFC after:	1 week
2014-02-07 15:00:08 +00:00
Hans Petter Selasky 8c46339e03 Update atp driver manual page.
Moused is now started automatically by devd.

MFC after:	1 week
2014-02-07 14:58:40 +00:00
Hans Petter Selasky ef32fcb106 Add manual page for wsp driver.
MFC after:	1 week
2014-02-07 14:56:34 +00:00
Ian Lepore 667a1295b3 Remove references to PHYSADDR where it's used only in debugging output,
and where the code that references it can safely be elided if it's not
defined (meaning the code is used for legacy arm platforms that still
define the compile-time PHYSADDR but not on newer systems that calculate
the value at runtime).
2014-02-07 14:38:51 +00:00
Gleb Smirnoff 369f5bceaa sysctl_handle_counter_u64() doesn't use arg2 argument, thus simplify
the SYSCTL_COUNTER_U64() macro.

Sponsored by:	Nginx, Inc.
2014-02-07 14:34:31 +00:00
Gleb Smirnoff 92f8975ff4 Utilize SYSCTL_UMA_CUR() to export usage of syncache and
tcp reassembly zones.

Sponsored by:	Nginx, Inc.
2014-02-07 14:31:51 +00:00
Gleb Smirnoff 0a5a3ccb81 Provide macros that allow easily export uma(9) zone limits and
current usage via sysctl(9):

  SYSCTL_UMA_MAX()
  SYSCTL_ADD_UMA_MAX()
  SYSCTL_UMA_CUR()
  SYSCTL_ADD_UMA_CUR()

Sponsored by:	Nginx, Inc.
2014-02-07 14:29:03 +00:00
Gleb Smirnoff 96d111245f Catch up on r261590. 2014-02-07 14:26:33 +00:00
Nathan Whitehorn 67237d47e5 Make libstand setjmp work for both 64- and 32-bit ABIs. 2014-02-07 14:24:36 +00:00
Gleb Smirnoff b5c32cf481 Remove identical vnet sysctl handlers, and handle CTLFLAG_VNET
in the sysctl_root().

Note: SYSCTL_VNET_* macros can be removed as well. All is
  needed to virtualize a sysctl oid is set CTLFLAG_VNET on it.
  But for now keep macros in place to avoid large code churn.

Sponsored by:	Nginx, Inc.
2014-02-07 13:47:33 +00:00
Jilles Tjoelker 5de8a0fdf4 fts: Fix double-free with conflicting concurrent modifications.
If rare conditions such as concurrent conflicting manipulation of the
filesystem occur, fts_read() frees the current FTSENT without adjusting
the pointers in the FTS accordingly. A later fts_close() then frees the
same FTSENT again.

Reported by:	pho
Tested by:	pho
MFC after:	1 week
2014-02-07 13:40:22 +00:00
Luiz Otavio O Souza d9ffbff9f0 Fix the build with DEBUG enabled. Where possible, fix style(9) issues.
Reviewed by:	bde
Approved by:	adrian (mentor)
2014-02-07 13:06:48 +00:00
Aleksandr Rybalko 06716ffd17 Implement vd_drawrect and vd_setpixel for vt(9)'s VGA driver.
Sponsored by:	The FreeBSD Foundation
2014-02-07 12:39:58 +00:00
Christian Brueffer d531fb5b53 In IPv6 code examples, use the correct v6 socket.
MFC after:	1 week
2014-02-07 11:40:50 +00:00
Andrey V. Elsukov 74a976fffd Unlock entry before retry.
Submitted by:	melifaro
MFC after:	1 week
2014-02-07 10:58:46 +00:00
Gleb Smirnoff 7cf4986ba9 Spacing. 2014-02-07 10:05:12 +00:00
Pyun YongHyeon f6f20128c7 Revert r234666. Clearing TWSI IRQ seems to cause watchdog timeout
on old Yukon II controllers.

Tested by:	bsam
MFC after:	2 weeks
2014-02-07 05:08:59 +00:00
Ian Lepore 7fc3a5ec6b Add option USB_HOST_ALIGN=64 for all SoCs that have 64 byte cache lines. 2014-02-07 04:05:08 +00:00
Ian Lepore 082660c8e1 Revert r260440. I didn't realize that most of this change was already
in effect due to r250753.  That is sufficient for all SoCs with a 32 byte
cache line size.  Systems with 64 byte cache lines will need the option;
that will be done in a separate commit.

Thanks to loos@ for pointing out r250753.
2014-02-07 03:30:16 +00:00