freebsd.git
18 hours ago- Mark signo __unused in the signal handler function master github/master
ngie [Fri, 24 Oct 2014 06:57:16 +0000 (06:57 +0000)]
- Mark signo __unused in the signal handler function
- Effectively #if 0 out some code that does not fail on FreeBSD

In collaboration with: pho
Sponsored by: EMC / Isilon Storage Division

18 hours ago- Add inttypes.h and stdint.h in lieu of int_limits.h from NetBSD
ngie [Fri, 24 Oct 2014 06:53:06 +0000 (06:53 +0000)]
- Add inttypes.h and stdint.h in lieu of int_limits.h from NetBSD
- Use #include "h_macros.h" instead of relative path analog

Sponsored by: EMC / Isilon Storage Division

19 hours agoReturn BUS_PROBE_DEFAULT instead of BUS_PROBE_VENDOR or 0 for in-tree
delphij [Fri, 24 Oct 2014 06:27:45 +0000 (06:27 +0000)]
Return BUS_PROBE_DEFAULT instead of BUS_PROBE_VENDOR or 0 for in-tree
driver.  This change was verified by Microsoft.

20 hours agoFix a leaked Storage Variable.
araujo [Fri, 24 Oct 2014 05:39:32 +0000 (05:39 +0000)]
Fix a leaked Storage Variable.

Phabric: D981
Submitted by: myself
Reported by: Coverity
CID: 1248848
Reworked by: kevlo
Reviewed by: marcel, davide, ray, kevlo
Approved by: marcel, kevlo

21 hours agoFix formatting of vmstat (1) so that it looks cleaner on standard 80
mckusick [Fri, 24 Oct 2014 04:01:14 +0000 (04:01 +0000)]
Fix formatting of vmstat (1) so that it looks cleaner on standard 80
column displays. In particular it wraps far less often.

Submitted by: Andy Kosela <akosela@andykosela.com>
PR:           191976

21 hours ago- Test for EINVAL requirement when passing an invalid flag in to msync(2)
ngie [Fri, 24 Oct 2014 03:53:49 +0000 (03:53 +0000)]
- Test for EINVAL requirement when passing an invalid flag in to msync(2)
- Expect ENOMEM instead of EFAULT when msync'ing a previously munmap'ed region
  on FreeBSD

Submitted by: pho
Sponsored by: EMC / Isilon Storage Division

21 hours ago- Ignore EINVAL check with mknod(path, S_IFCHR, -1) as the testcase is always
ngie [Fri, 24 Oct 2014 03:42:37 +0000 (03:42 +0000)]
- Ignore EINVAL check with mknod(path, S_IFCHR, -1) as the testcase is always
  executed on a non-devfs filesystem
- Expect mknod(path, S_IFREG, 0) to fail on FreeBSD

Submitted by: pho
Sponsored by: EMC / Isilon Storage Division

22 hours agoWhitespace
jhibbits [Fri, 24 Oct 2014 03:34:21 +0000 (03:34 +0000)]
Whitespace

X-MFC-with: r273570
MFC after: 1 week

22 hours agoThree updates to PowerPC FBT:
jhibbits [Fri, 24 Oct 2014 03:33:01 +0000 (03:33 +0000)]
Three updates to PowerPC FBT:

* Use a constant to define the number of stack frames in a probe exception.
* Only allow function symbols in powerpc64 ('.' prefixed)
* Set the fbtp_roffset for return probes, so the correct dtrace_probe call is
  made.

MFC after: 1 week

26 hours agoMove the duplicated code to a single function.
loos [Thu, 23 Oct 2014 23:20:04 +0000 (23:20 +0000)]
Move the duplicated code to a single function.

No functional changes.

26 hours agoHook xo(1) to the build -- it's like echo, but uses libxo to
marcel [Thu, 23 Oct 2014 23:16:21 +0000 (23:16 +0000)]
Hook xo(1) to the build -- it's like echo, but uses libxo to
support emitting machine-readable output.

Sponsored by: Juniper Networks, Inc.

26 hours agoHook libxo to the build.
marcel [Thu, 23 Oct 2014 23:14:23 +0000 (23:14 +0000)]
Hook libxo to the build.

Sponsored by: Juniper Networks, Inc.

26 hours agoProvide a working GPIOBUS_IVAR() macro for FDT systems.
loos [Thu, 23 Oct 2014 23:12:30 +0000 (23:12 +0000)]
Provide a working GPIOBUS_IVAR() macro for FDT systems.

26 hours agoIn all cases except CTLTYPE_STRING, penv is NULL here, so passing it
des [Thu, 23 Oct 2014 22:42:56 +0000 (22:42 +0000)]
In all cases except CTLTYPE_STRING, penv is NULL here, so passing it
indiscriminately to printf() and freeenv() is incorrect.  Add a NULL
check before freeenv(); as for printf(), we could use req.newptr
instead, but we'd have to select the correct format string based on
the type, and that's too much work for an error message, so just
remove it.

27 hours agoAdd generated headers xoversion.h and xoconfig.h. These are the result
marcel [Thu, 23 Oct 2014 22:33:27 +0000 (22:33 +0000)]
Add generated headers xoversion.h and xoconfig.h. These are the result
of configuring the source tree:
% automake --add-missing
% autoconf
% ./configure

27 hours agoImport libxo 0.1.4
marcel [Thu, 23 Oct 2014 22:30:14 +0000 (22:30 +0000)]
Import libxo 0.1.4

Obtained from: https://github.com/Juniper/libxo
Sponsored by: Juniper Networks, Inc.

27 hours agoInstall a temporary workaround to avoid problems in fdt data with linux's
ian [Thu, 23 Oct 2014 22:21:22 +0000 (22:21 +0000)]
Install a temporary workaround to avoid problems in fdt data with linux's
workaround for an imx6 chip erratum.  Linux works around the bug with
changes in fdt data that we can't currently handle, so to enable running
with standard vendor-supplied fdt data, this watches for an attempt to map
the gpio1_6 interrupt and remaps it back to the standard ethernet interrupt.

This can be undone when the intrng project is completed and our gpio drivers
can also be interrupt controllers.

28 hours agoUnder PAE ULONG is insufficient for representing the physical memory size. Use QUAD
alc [Thu, 23 Oct 2014 21:02:40 +0000 (21:02 +0000)]
Under PAE ULONG is insufficient for representing the physical memory size.  Use QUAD
for "hw.physmem" so that a physical memory size greater than 4 GB can be specified
from the boot loader.

28 hours agoUse a static callout to drive key_timehandler() instead of timeout().
jhb [Thu, 23 Oct 2014 20:43:16 +0000 (20:43 +0000)]
Use a static callout to drive key_timehandler() instead of timeout().
While here, make key_timehandler() private to key.c.

Submitted by: bz (2)
Tested by: bz

30 hours agoIn selfdfree re-evaulate sf_si after takin the lock.
mjg [Thu, 23 Oct 2014 19:06:08 +0000 (19:06 +0000)]
In selfdfree re-evaulate sf_si after takin the lock.

Otherwise we can race with doselwakeup.

This is a fixup to r273549

Reviewed by: jhb
Reported by: everyone and their dog

31 hours agoTest if 'env' is NULL before doing memset() and strlen(),
delphij [Thu, 23 Oct 2014 18:23:50 +0000 (18:23 +0000)]
Test if 'env' is NULL before doing memset() and strlen(),
the caller may pass NULL to freeenv().

31 hours agopuc(4): add an entry for the Oxford Semiconductor OXPCIe952 1S1P card.
rpaulo [Thu, 23 Oct 2014 18:03:27 +0000 (18:03 +0000)]
puc(4): add an entry for the Oxford Semiconductor OXPCIe952 1S1P card.

Submitted by: Alex Burlyga <alex.burlyga.ietf at gmail.com>
MFC after: 1 week

32 hours agominor updates to make it more explicit that when using fpu_kern_thread,
jmg [Thu, 23 Oct 2014 17:24:50 +0000 (17:24 +0000)]
minor updates to make it more explicit that when using fpu_kern_thread,
you don't need to use fpu_kern_enter/_leave...

Reviewed by: kib

34 hours agoAvoid taking the lock in selfdfree when not needed.
mjg [Thu, 23 Oct 2014 15:35:47 +0000 (15:35 +0000)]
Avoid taking the lock in selfdfree when not needed.

34 hours agoChange the code to use the openpty(3) API which uses the pts(4) driver
emax [Thu, 23 Oct 2014 15:16:40 +0000 (15:16 +0000)]
Change the code to use the openpty(3) API which uses the pts(4) driver
instead of the pty(4) driver.

PR: 184597
Submitted by: tobias.rehbein
MFC after: 2 weeks

35 hours agoMove if_get_counter initialization from if_attach into if_alloc.
ae [Thu, 23 Oct 2014 14:29:52 +0000 (14:29 +0000)]
Move if_get_counter initialization from if_attach into if_alloc.
Also, initialize all counters before ifnet will become available in the system.
This fixes possible access to uninitialized ifned fields.

PR: 194550

35 hours agoFix a bug where some DTS layouts could cause the premature ending of the
loos [Thu, 23 Oct 2014 13:47:19 +0000 (13:47 +0000)]
Fix a bug where some DTS layouts could cause the premature ending of the
search (i.e. without returning any result) and you would end up with a
random MAC address.

Change the search algorithm to a recursive one to ensure that all the nodes
on DTS will be verified.

The previous algorithm could not keep up if the DTS has too many sub-nodes.

While here, fix the punctuation on comments.

37 hours agovt(4): Add PIO_VFONT_DEFAULT ioctl to restore the default builtin font
dumbbell [Thu, 23 Oct 2014 12:38:05 +0000 (12:38 +0000)]
vt(4): Add PIO_VFONT_DEFAULT ioctl to restore the default builtin font

To restore the default font using vidcontrol(1), use the "-f" flag
without an argument:
    vidcontrol -f < /dev/ttyv0

PR: 193910
Differential Revision: https://reviews.freebsd.org/D971
Submitted by: Marcin Cieslak <saper@saper.info>
Reviewed by: ray@, emaste@
Approved by: ray@
MFC after: 1 week

37 hours agoClean up (refactor) discovery a little; no functional changes.
trasz [Thu, 23 Oct 2014 12:02:27 +0000 (12:02 +0000)]
Clean up (refactor) discovery a little; no functional changes.

MFC after: 1 month
Sponsored by: The FreeBSD Foundation

38 hours agoShow SFP+/QSFP memory map dump on higher verbose levels.
melifaro [Thu, 23 Oct 2014 11:01:49 +0000 (11:01 +0000)]
Show SFP+/QSFP memory map dump on higher verbose levels.

Sponsored by: Yandex LLC
MFC after: 1 week

41 hours agoOmit the mprotect_exec testcase on FreeBSD
ngie [Thu, 23 Oct 2014 08:29:09 +0000 (08:29 +0000)]
Omit the mprotect_exec testcase on FreeBSD

Sponsored by: EMC / Isilon Storage Division

41 hours agoMark signum __unused
ngie [Thu, 23 Oct 2014 08:13:07 +0000 (08:13 +0000)]
Mark signum __unused

Sponsored by: EMC / Isilon Storage Division

41 hours agoFix a typo (__FreeBSD__ -> __NetBSD__ when omitting setrlimit_nthr)
ngie [Thu, 23 Oct 2014 08:12:31 +0000 (08:12 +0000)]
Fix a typo (__FreeBSD__ -> __NetBSD__ when omitting setrlimit_nthr)

41 hours agoAdd limits.h #include for SSIZE_MAX
ngie [Thu, 23 Oct 2014 08:06:34 +0000 (08:06 +0000)]
Add limits.h #include for SSIZE_MAX

Sponsored by: EMC / Isilon Storage Division

41 hours agoAdd limits.h #include for SSIZE_MAX
ngie [Thu, 23 Oct 2014 08:05:47 +0000 (08:05 +0000)]
Add limits.h #include for SSIZE_MAX

Sponsored by: EMC / Isilon Storage Division

41 hours ago- Omit setrlimit_nthr testcase on FreeBSD (requires lwp.h, et al)
ngie [Thu, 23 Oct 2014 08:05:03 +0000 (08:05 +0000)]
- Omit setrlimit_nthr testcase on FreeBSD (requires lwp.h, et al)
- Expect overflow with rlim_max at INT64_MAX, not UINT64_MAX (rlim_t is int64_t
on FreeBSD)

In collaboration with: pho
Sponsored by: EMC / Isilon Storage Division

41 hours ago- Mark sig/signo __unused
ngie [Thu, 23 Oct 2014 07:59:59 +0000 (07:59 +0000)]
- Mark sig/signo __unused
- Do not provide a relative path via #include "h_macros.h"

Sponsored by: EMC / Isilon Storage Division

41 hours agoUse <atf_srcdir>/truncate_test.root_owned instead of /usr/bin/fpr as fpr does
ngie [Thu, 23 Oct 2014 07:54:46 +0000 (07:54 +0000)]
Use <atf_srcdir>/truncate_test.root_owned instead of /usr/bin/fpr as fpr does
not exist on FreeBSD

truncate_test.root_owned will be generated at build time and owned by root

In collaboration with: pho
Sponsored by: EMC / Isilon Storage Division

42 hours agoAdd limits.h #include for INT_MAX
ngie [Thu, 23 Oct 2014 07:22:18 +0000 (07:22 +0000)]
Add limits.h #include for INT_MAX

Sponsored by: EMC / Isilon Storage Division

42 hours ago- Omit the poll testcases on FreeBSD (they require pollts)
ngie [Thu, 23 Oct 2014 07:20:35 +0000 (07:20 +0000)]
- Omit the poll testcases on FreeBSD (they require pollts)
- Add necessary headers for the testcases

Sponsored by: EMC / Isilon Storage Division

42 hours agoMark signo __unused in handler(..)
ngie [Thu, 23 Oct 2014 07:11:58 +0000 (07:11 +0000)]
Mark signo __unused in handler(..)

Sponsored by: EMC / Isilon Storage Division

42 hours agoOmit all of the testcases as revoke(2) is only implemented on devfs(5)
ngie [Thu, 23 Oct 2014 07:07:35 +0000 (07:07 +0000)]
Omit all of the testcases as revoke(2) is only implemented on devfs(5)

Submitted by: pho
Sponsored by: EMC / Isilon Storage Division

42 hours agoOmit the pollts testcases on FreeBSD
ngie [Thu, 23 Oct 2014 07:05:14 +0000 (07:05 +0000)]
Omit the pollts testcases on FreeBSD

Sponsored by: EMC / Isilon Storage Division

42 hours agoPort t_mmap.c to FreeBSD
ngie [Thu, 23 Oct 2014 06:42:53 +0000 (06:42 +0000)]
Port t_mmap.c to FreeBSD

- Add needed headers for the testcases
- Omit mmap_block on non-NetBSD OSes
- Use "security.bsd.map_at_zero" instead of "vm.user_va0_disable"

Submitted by: pho
Sponsored by: EMC / Isilon Storage Division

43 hours agoAdd sys/socket.h #include for struct sockaddr_in
ngie [Thu, 23 Oct 2014 06:35:19 +0000 (06:35 +0000)]
Add sys/socket.h #include for struct sockaddr_in

Sponsored by: EMC / Isilon Storage Division

43 hours agoAdd limits.h #include for LINE_MAX
ngie [Thu, 23 Oct 2014 06:25:52 +0000 (06:25 +0000)]
Add limits.h #include for LINE_MAX

Sponsored by: EMC / Isilon Storage Division

43 hours ago- Mark unused parameters __unused in handler
ngie [Thu, 23 Oct 2014 06:24:36 +0000 (06:24 +0000)]
- Mark unused parameters __unused in handler
- Call sigqueue with getpid() instead of 0 -- the latter idiom appears to only
be valid on NetBSD

In collaboration with: pho
Sponsored by: EMC / Isilon Storage Division

43 hours agoConvert "fcntl(n, F_CLOSEM)" to "closefrom(n)"
ngie [Thu, 23 Oct 2014 06:21:10 +0000 (06:21 +0000)]
Convert "fcntl(n, F_CLOSEM)" to "closefrom(n)"

Submitted by: pho
Sponsored by: EMC / Isilon Storage Division

43 hours agoPort t_pipe2.c to FreeBSD
ngie [Thu, 23 Oct 2014 06:18:28 +0000 (06:18 +0000)]
Port t_pipe2.c to FreeBSD

- Omit the pipe2_nosigpipe testcase on FreeBSD (FreeBSD doesn't have
  O_NOSIGPIPE).
- Convert "fcntl(n, F_CLOSEM)" to "closefrom(n)".
- Save and restore the resource limit on the number of files (RLIMIT_NOFILE).

In collaboration with: pho
Sponsored by: EMC / Isilon Storage Division

43 hours agoExpect getgroups_err to fail on FreeBSD
ngie [Thu, 23 Oct 2014 05:58:02 +0000 (05:58 +0000)]
Expect getgroups_err to fail on FreeBSD

PR: 189941
Submitted by: pho
Sponsored by: EMC / Isilon Storage Division

43 hours agoAdd netinet/in.h for struct sockaddr_in
ngie [Thu, 23 Oct 2014 05:46:10 +0000 (05:46 +0000)]
Add netinet/in.h for struct sockaddr_in

Sponsored by: EMC / Isilon Storage Division

44 hours agoAdd VirtIO console driver
bryanv [Thu, 23 Oct 2014 04:47:32 +0000 (04:47 +0000)]
Add VirtIO console driver

Support for the multiport feature is mostly implemented, but currently
disabled due to some potential races in the hot plug code paths.

Requested by: marcel
MFC after: 1 month
Relnotes: yes

46 hours agoUnconditionally enable the clocks for all imx6 devices that we have drivers
ian [Thu, 23 Oct 2014 03:13:14 +0000 (03:13 +0000)]
Unconditionally enable the clocks for all imx6 devices that we have drivers
for, or that are required to run the chip (such as busses).  Turn off all
the devices we don't yet have drivers for.

Some day we will have a fully functional imx6 clock driver so that we can
manage clocks based on fdt data.  This will have to do until then.

2 days agoSync with NetBSD.
delphij [Thu, 23 Oct 2014 01:22:29 +0000 (01:22 +0000)]
Sync with NetBSD.

MFC after: 2 weeks

2 days agoMFV r273494: xz 5.0.7.
delphij [Thu, 23 Oct 2014 00:40:56 +0000 (00:40 +0000)]
MFV r273494: xz 5.0.7.

MFC after: 2 weeks

2 days agoMFV r273492: remove gettext files.
delphij [Thu, 23 Oct 2014 00:31:26 +0000 (00:31 +0000)]
MFV r273492: remove gettext files.

2 days agoPopulate the GELI passphrase cache with the kern.geom.eli.passphrase
cperciva [Wed, 22 Oct 2014 23:41:15 +0000 (23:41 +0000)]
Populate the GELI passphrase cache with the kern.geom.eli.passphrase
variable (if any) provided in the boot environment.  Unset it from
the kernel environment after doing this, so that the passphrase is
no longer present in kernel memory once we enter userland.

This will make it possible to provide a GELI passphrase via the boot
loader; FreeBSD's loader does not yet do this, but GRUB (and PCBSD)
will have support for this soon.

Tested by: kmoore

2 days agoFix some buglets in the error-handling of getdevice(). In particular, report
markj [Wed, 22 Oct 2014 23:35:56 +0000 (23:35 +0000)]
Fix some buglets in the error-handling of getdevice(). In particular, report
an error if the argument to pciconf -a doesn't have a unit number, rather
than triggering an assertion failure.

PR: 194506
Reported by: Anthony Cornehl <accornehl@gmail.com>
Sponsored by: EMC / Isilon Storage Division

2 days agoAvoid leaking data from the kernel environment: When we convert the
cperciva [Wed, 22 Oct 2014 23:35:32 +0000 (23:35 +0000)]
Avoid leaking data from the kernel environment: When we convert the
initial static environment to a dynamic one, zero the static environment
buffer, and zero individual values when kern_unsetenv and freeenv are
called.

Tested by: kmoore (VM memory dump + grep)
Tested by: cperciva (kernel panic dump + grep)

2 days agoClip the settings for the NFS rsize, wsize mount options
rmacklem [Wed, 22 Oct 2014 22:27:51 +0000 (22:27 +0000)]
Clip the settings for the NFS rsize, wsize mount options
to a power of 2. For non-power of 2 settings, intermittent
page faults have been reported. Although the bug that causes
these page faults/crashes has not been identified, it does
not appear to occur when rsize, wsize is a power of 2.

Reported by: tcberner@gmail.com
MFC after: 2 weeks

2 days agoRevert r273481 so it can be recoded using fls(), which
rmacklem [Wed, 22 Oct 2014 21:57:35 +0000 (21:57 +0000)]
Revert r273481 so it can be recoded using fls(), which
some feel will make it more readable.

2 days agoRename log2 to tal_log2.
melifaro [Wed, 22 Oct 2014 21:20:37 +0000 (21:20 +0000)]
Rename log2 to tal_log2.

Submitted by: luigi

2 days agoThe NetBSD libc tests use several definitions/macros that aren't available in
ngie [Wed, 22 Oct 2014 21:04:54 +0000 (21:04 +0000)]
The NetBSD libc tests use several definitions/macros that aren't available in
FreeBSD

Add the missing compat definitions/macros to lib/libnetbsd so the testcases
can be compiled with libnetbsd without having to invent ad hoc #define's, or
having to convert things over to FreeBSD idioms

Reviewed by: brooks
Phabric: D993
Sponsored by: EMC / Isilon Storage Division

2 days agoClip the settings for the NFS rsize, wsize mount options
rmacklem [Wed, 22 Oct 2014 20:47:11 +0000 (20:47 +0000)]
Clip the settings for the NFS rsize, wsize mount options
to a power of 2. For non-power of 2 settings, intermittent
page faults have been reported. Although the bug that causes
these page faults/crashes has not been identified, it does
not appear to occur when rsize, wsize is a power of 2.

Reported by: tcberner@gmail.com
MFC after: 2 weeks

2 days agocxgbe/iw_cxgbe: wake up waiters after flushing the qp.
np [Wed, 22 Oct 2014 18:55:44 +0000 (18:55 +0000)]
cxgbe/iw_cxgbe: wake up waiters after flushing the qp.

Obtained from: Chelsio

2 days agosince we cast a pointer, use the correct signedness
luigi [Wed, 22 Oct 2014 18:55:36 +0000 (18:55 +0000)]
since we cast a pointer, use the correct signedness
(this was already in, and got lost in a recent update).

2 days agoFix linking static test binaries with atf.test.mk
ngie [Wed, 22 Oct 2014 18:11:10 +0000 (18:11 +0000)]
Fix linking static test binaries with atf.test.mk

Check for -static in LDFLAGS or LDFLAGS.<test>, then pass in the appropriate
dependency (LIBATF or LDATF)

This unbreaks the build with some of the NetBSD tests that need to be compiled
statically

Reviewed by: imp, jmmv
Phabric: D991
Sponsored by: EMC / Isilon Storage Division

2 days agonetback: change xnb naming convention
royger [Wed, 22 Oct 2014 17:09:12 +0000 (17:09 +0000)]
netback: change xnb naming convention

Current FreeBSD netback names the interface with xnb<device unit>, but
this is not suitable for usage with the Xen toolstack, which expects
something similar to <prefix><domid><handle>. In order to solve this,
change the netback naming convention to use xnb<domid>.<handle>.

Sponsored by: Citrix Systems R&D

dev/xen/netback/netback.c:
 - Change netback to use the nomenclature stated above.

2 days agoxen: implement the privcmd user-space device
royger [Wed, 22 Oct 2014 17:07:20 +0000 (17:07 +0000)]
xen: implement the privcmd user-space device

This device is only attached to priviledged domains, and allows the
toolstack to interact with Xen. The two functions of the privcmd
interface is to allow the execution of hypercalls from user-space, and
the mapping of foreign domain memory.

Sponsored by: Citrix Systems R&D

i386/include/xen/hypercall.h:
amd64/include/xen/hypercall.h:
 - Introduce a function to make generic hypercalls into Xen.

xen/interface/xen.h:
xen/interface/memory.h:
 - Import the new hypercall XENMEM_add_to_physmap_range used by
   auto-translated guests to map memory from foreign domains.

dev/xen/privcmd/privcmd.c:
 - This device has the following functions:
   - Allow user-space applications to make hypercalls into Xen.
   - Allow user-space applications to map memory from foreign domains,
     this is accomplished using the newly introduced hypercall
     (XENMEM_add_to_physmap_range).

xen/privcmd.h:
 - Public ioctl interface for the privcmd device.

x86/xen/hvm.c:
 - Remove declaration of hypercall_page, now it's declared in
   hypercall.h.

conf/files:
 - Add the privcmd device to the build process.

2 days agoxen: add a Xen to BSD error translation
royger [Wed, 22 Oct 2014 16:58:52 +0000 (16:58 +0000)]
xen: add a Xen to BSD error translation

Since Xen and FreeBSD error codes are completely different add a
translation layer in order to convert Xen error codes into native
FreeBSD error codes. This will be used by the privcmd device, which
needs to return the hypercall errors into user-space.

Sponsored by: Citrix Systems R&D

xen/error.h:
 - Import Xen error codes.
 - Create a table to map Xen error codes into FreeBSD native error
   codes.
 - Create an inline function that performs the translation.

2 days agoxen: import a proper event channel user-space device
royger [Wed, 22 Oct 2014 16:57:11 +0000 (16:57 +0000)]
xen: import a proper event channel user-space device

The user-space event channel device is used by applications to receive
and send event channel interrupts. This device is based on the Linux
evtchn device.

Sponsored by: Citrix Systems R&D

xen/evtchn/evtchn_dev.c:
 - Remove the old event channel device, which was already disabled in
   the build system.

dev/xen/evtchn/evtchn_dev.c:
 - Import a new event channel device based on the one present in
   Linux.
 - This device allows the following operations:
   - Bind VIRQ event channels (ioctl).
   - Bind regular event channels (ioctl).
   - Create and bind new event channels (ioctl).
   - Unbind event channels (ioctl).
   - Send notifications to event channels (ioctl).
   - Reset the device shared memory ring (ioctl).
   - Unmask event channels (write).
   - Receive event channel upcalls (read).
 - The new code is MP safe, and can be used concurrently.

conf/files:
 - Add the new device to the build system.

2 days agoxen: allow to register event channels without handlers
royger [Wed, 22 Oct 2014 16:51:52 +0000 (16:51 +0000)]
xen: allow to register event channels without handlers

This is needed by the event channel user-space device, that requires
registering event channels without unmasking them. intr_add_handler
will unconditionally unmask the event channel, so we avoid calling it
if no filter/handler is provided, and then the user will be in charge
of calling it when ready.

In order to do this, we need to change the opaque type
xen_intr_handle_t to contain the event channel port instead of the
opaque cookie returned by intr_add_handler, since now registration of
event channels without handlers are allowed. The cookie will now be
stored inside of the private xenisrc struct. Also, introduce a new
function called xen_intr_add_handler that allows adding a
filter/handler after the event channel has been registered.

Sponsored by: Citrix Systems R&D

x86/xen/xen_intr.c:
 - Leave the event channel without a handler if no filter/handler is
   provided to xen_intr_bind_isrc.
 - Don't perform an evtchn_mask_port, intr_add_handler will already do
   it.
 - Change the opaque type xen_intr_handle_t to contain a pointer to
   the event channel port number, and make the necessary changes to
   related functions.
 - Introduce a new function called xen_intr_add_handler that can be
   used to add filter/handlers to an event channel after registration.

xen/xen_intr.h:
 - Add prototype of xen_intr_add_handler.

2 days agoxen: fix usage of kern_getenv in PVH code
royger [Wed, 22 Oct 2014 16:49:00 +0000 (16:49 +0000)]
xen: fix usage of kern_getenv in PVH code

The value returned by kern_getenv should be freed using freeenv.

Reported by: Coverity
CID: 1248852
Sponsored by: Citrix Systems R&D

2 days agoFix ctl.conf example to use proper paths to ZVOLs.
trasz [Wed, 22 Oct 2014 11:30:56 +0000 (11:30 +0000)]
Fix ctl.conf example to use proper paths to ZVOLs.

Sponsored by: The FreeBSD Foundation

2 days agoProvide a character device allowing us to access BERI memory regions.
br [Wed, 22 Oct 2014 11:30:03 +0000 (11:30 +0000)]
Provide a character device allowing us to access BERI memory regions.

Sponsored by: DARPA, AFRL

2 days agoRemove misleading statement. Bump date.
trasz [Wed, 22 Oct 2014 11:09:03 +0000 (11:09 +0000)]
Remove misleading statement.  Bump date.

MFC after: 1 month
Sponsored by: FreeBSD Foundation

2 days agoComment out parts about iSER; it's not implemented.
trasz [Wed, 22 Oct 2014 11:06:05 +0000 (11:06 +0000)]
Comment out parts about iSER; it's not implemented.

Sponsored by: The FreeBSD Foundation

2 days agoRemove spurious empty line.
trasz [Wed, 22 Oct 2014 10:53:25 +0000 (10:53 +0000)]
Remove spurious empty line.

MFC after: 1 month
Sponsored by: The FreeBSD Foundation

2 days agoFix ctld(8) to not show the "auth-group <name> not assigned to any target"
trasz [Wed, 22 Oct 2014 09:40:46 +0000 (09:40 +0000)]
Fix ctld(8) to not show the "auth-group <name> not assigned to any target"
warning for auth-groups assigned to a portal-group.

MFC after: 1 month
Sponsored by: The FreeBSD Foundation

2 days agoWhitespace fixes.
trasz [Wed, 22 Oct 2014 09:17:17 +0000 (09:17 +0000)]
Whitespace fixes.

MFC after: 1 month
Sponsored by: The FreeBSD Foundation

2 days agoUntangle iSCSI authentication code by splitting off the CHAP
trasz [Wed, 22 Oct 2014 08:59:23 +0000 (08:59 +0000)]
Untangle iSCSI authentication code by splitting off the CHAP
implementation.

Reviewed by: mav@
MFC after: 1 month
Sponsored by: The FreeBSD Foundation

2 days agofiledesc assert that table size is at least 3 in fdsetugidsafety
mjg [Wed, 22 Oct 2014 08:56:57 +0000 (08:56 +0000)]
filedesc assert that table size is at least 3 in fdsetugidsafety

Requested by: kib

2 days agoDocument sort_io_queue sysctls/tunables.
mav [Wed, 22 Oct 2014 08:54:10 +0000 (08:54 +0000)]
Document sort_io_queue sysctls/tunables.

MFC after: 1 week

2 days agoActually change the USB_PORT_ROOT_RESET_DELAY definition as stated in
hselasky [Wed, 22 Oct 2014 07:50:19 +0000 (07:50 +0000)]
Actually change the USB_PORT_ROOT_RESET_DELAY definition as stated in
the r241987 commit message, instead of having users locally overriding
the value using tunables in /boot/loader.conf .

Found by: Adam Parco
Discussed with: Nick Hibma

2 days agoAllow overspecification of SYSCTL type in external kernel modules.
hselasky [Wed, 22 Oct 2014 07:16:46 +0000 (07:16 +0000)]
Allow overspecification of SYSCTL type in external kernel modules.

PR: 194523
MFC after: 3 days

2 days agofix spelling of DEFAULT in comments...
jmg [Wed, 22 Oct 2014 06:53:55 +0000 (06:53 +0000)]
fix spelling of DEFAULT in comments...

2 days agoremove/fix old code for building ipfw and dummynet in userspace
luigi [Wed, 22 Oct 2014 05:21:36 +0000 (05:21 +0000)]
remove/fix old code for building ipfw and dummynet in userspace

2 days agoPlug unnecessary PRS_NEW check in kern_procctl.
mjg [Wed, 22 Oct 2014 04:16:09 +0000 (04:16 +0000)]
Plug unnecessary PRS_NEW check in kern_procctl.

pfind does not return processes in such state.

2 days agoMy previous commit exposed an issue as it fixed a different
imp [Wed, 22 Oct 2014 03:39:11 +0000 (03:39 +0000)]
My previous commit exposed an issue as it fixed a different
issue. lib/atf isn't a prereq_lib, since it isn't required for other
libraries to build. Remove it. The old kludge of always building it
had effectively been retired. Since we don't want to build the
libraries with the tests when we're bootstrapping, invent
MK_TESTS_SUPPORT which normally defaults to the current MK_TESTS
value, except when explicitly defined. Make lib/atf depend on it being
yes. When building the libraries set MK_TESTS to no, and
MK_TESTS_SUPPORT to the current value of MK_TESTS so that later stages
of the build work correctly. This should fix (and does for me)
people's issues with parallel builds racing between lib/atf and
libexec/atf. Since lib/atf is built during the libraries phase, the
race disappears.

2 days agoFix the kernel panic in hostap mode.
kevlo [Wed, 22 Oct 2014 03:32:27 +0000 (03:32 +0000)]
Fix the kernel panic in hostap mode.
rvp->beacon_mbuf was NULL in run_update_beacon().

PR: 189405
Submitted by: Gabor Simon <gabor.simon75 at gmail.com>
MFC after: 3 days

2 days agoReduce nesting in vn_access.
mjg [Wed, 22 Oct 2014 01:53:00 +0000 (01:53 +0000)]
Reduce nesting in vn_access.

No functional changes.

3 days agoVirtual machines can easily have more than 16 option ROMs and
marcel [Wed, 22 Oct 2014 01:37:32 +0000 (01:37 +0000)]
Virtual machines can easily have more than 16 option ROMs and
when that happens, we happily access our resource array out of
bounds. Make sure we stay within the MAX_ROMS limit.
While here, bump MAX_ROMS from 16 to 32 to minimize the chance
of leaving option ROMs unaccounted for.

Obtained from: Juniper Networks, Inc.

3 days agoAdd defines for various FIRST PARTY DMA SEND subcommands.
imp [Wed, 22 Oct 2014 01:35:30 +0000 (01:35 +0000)]
Add defines for various FIRST PARTY DMA SEND subcommands.

3 days agoAvoid crdup when possible in kern_accessat.
mjg [Wed, 22 Oct 2014 01:09:07 +0000 (01:09 +0000)]
Avoid crdup when possible in kern_accessat.

While here tidy up a little.

3 days agoFix the conversion macro for .note sections, broken in the case
marcel [Wed, 22 Oct 2014 01:04:16 +0000 (01:04 +0000)]
Fix the conversion macro for .note sections, broken in the case
the ELF file's byte order is not the native byte order.  The
bug is that the variables holding the name and description size
are used (natively) after having been byte-swapped.  The fix is
to calculate sz from them just prior to byte-swapping.

Approved by: jkoshy@
Obtained from: Juniper Networks, Inc.

3 days agoGCC for PowerPC does not align .note sections to 4 bytes. When
marcel [Wed, 22 Oct 2014 00:58:50 +0000 (00:58 +0000)]
GCC for PowerPC does not align  .note sections to 4 bytes.  When
running ctfmerge on its objects, libelf asserts as it expects
.note sections to be 4-byte aligned.  Change that expectation.

Approved by: jkoshy@
Obtained from: Juniper Networks, Inc.

3 days agofiledesc: cleanup setugidsafety a little
mjg [Wed, 22 Oct 2014 00:23:43 +0000 (00:23 +0000)]
filedesc: cleanup setugidsafety a little

Rename it to fdsetugidsafety for consistency with other functions.

There is no need to take filedesc lock if not closing any files.

The loop has to verify each file and we are guaranteed fdtable has space
for at least 20 fds. As such there is no need to check fd_lastfile.

While here tidy up is_unsafe.

3 days agoEliminate unnecessary memory allocation in sys_getgroups and its ibcs2 counterpart.
mjg [Tue, 21 Oct 2014 23:08:46 +0000 (23:08 +0000)]
Eliminate unnecessary memory allocation in sys_getgroups and its ibcs2 counterpart.

3 days agoDo not define bad_array_new_length::bad_array_new_length in libc++ anymore
bapt [Tue, 21 Oct 2014 21:49:06 +0000 (21:49 +0000)]
Do not define bad_array_new_length::bad_array_new_length in libc++ anymore
when used in combinaison with libcxxrt since it is now defined there already.
This fixes building world

3 days agoBump __FreeBSD_version to track SA-14:20, SA-14:21, SA-14:22,
gjb [Tue, 21 Oct 2014 21:37:53 +0000 (21:37 +0000)]
Bump __FreeBSD_version to track SA-14:20, SA-14:21, SA-14:22,
SA-14:23

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation