]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/log
FreeBSD/FreeBSD.git
7 years agoFix a typo from a manual merge.
jhibbits [Sat, 22 Oct 2016 19:27:49 +0000 (19:27 +0000)]
Fix a typo from a manual merge.

7 years agoImport tzdata 2016h
bapt [Sat, 22 Oct 2016 19:24:46 +0000 (19:24 +0000)]
Import tzdata 2016h

MFC after: 2 days

7 years agoddb(4): Add sleepchains to "show allchains"
cem [Sat, 22 Oct 2016 18:02:20 +0000 (18:02 +0000)]
ddb(4): Add sleepchains to "show allchains"

Reported by: markj
Reviewed by: markj
Sponsored by: Dell EMC Isilon
Differential Revision: https://reviews.freebsd.org/D8320

7 years agoNo functional changes, mostly getting the whitespace changes resulting
tuexen [Sat, 22 Oct 2016 17:21:21 +0000 (17:21 +0000)]
No functional changes, mostly getting the whitespace changes resulting
from an updated formatting tool chain.

MFC after: 1 month

7 years agoFix libusb20_dev_get_desc(3) to use the "vendor product" order, not
trasz [Sat, 22 Oct 2016 14:37:13 +0000 (14:37 +0000)]
Fix libusb20_dev_get_desc(3) to use the "vendor product" order, not
"product vendor". This is consistent with how it's generally done.
The ordering is visible eg in usbconfig(8) output.

Note to self: MFC this to 9 and 8.

Reviewed by: hselasky@
MFC after: 1 month
Differential Revision: https://reviews.freebsd.org/D8258

7 years agoptrace.S is not needed, libc/sys/ptrace.c exists already.
jhibbits [Sat, 22 Oct 2016 13:11:09 +0000 (13:11 +0000)]
ptrace.S is not needed, libc/sys/ptrace.c exists already.

This was leftovers from the initial branch work.

Reported by: kib

7 years agodaemon: Allow logging daemon stdout/stderr to file or syslog.
jilles [Sat, 22 Oct 2016 11:26:22 +0000 (11:26 +0000)]
daemon: Allow logging daemon stdout/stderr to file or syslog.

There are various new options, documented in the man page, to send the
daemon's standard output and/or standard error to a file or to syslog.

Submitted by: ank at iki.fi
Reviewed by: wblock (man page only)
Relnotes: yes
Differential Revision: https://reviews.freebsd.org/D7993

7 years agojedec_ts: a driver for thermal sensors on memory modules
avg [Sat, 22 Oct 2016 08:00:46 +0000 (08:00 +0000)]
jedec_ts: a driver for thermal sensors on memory modules

The driver currently supports chips that are fully compliant with the
JEDEC SPD / EEPROM / TS standard (JEDEC Standard 21-C,
TSE2002 Specification, frequenlty referred to as JEDEC JC 42.4).

Additionally some chips from STMicroelectronics are supported as well.
They are compliant except for their Device ID pattern.

Given the continued lack of any common sensor infrastructure, the driver
uses an ad-hoc sysctl to report the temperature.

Reviewed by: wblock (documentation)
MFC after: 2 weeks
Relnotes: yes
Differential Revision: https://reviews.freebsd.org/D8174

7 years agoInitialize the ofw_bus_devinfo on the portals to prevent a crash.
jhibbits [Sat, 22 Oct 2016 02:11:53 +0000 (02:11 +0000)]
Initialize the ofw_bus_devinfo on the portals to prevent a crash.

If the device tree doesn't contain a cpu-handle field in any bman-portal or
qman-portal, it will exit without setting up the devinfo, leaving it
uninitialized.  This will lead to attempts to free random memory, and ultimately
panic.

7 years agoCreate a new MACHINE_ARCH for Freescale PowerPC e500v2
jhibbits [Sat, 22 Oct 2016 01:57:15 +0000 (01:57 +0000)]
Create a new MACHINE_ARCH for Freescale PowerPC e500v2

Summary:
The Freescale e500v2 PowerPC core does not use a standard FPU.
Instead, it uses a Signal Processing Engine (SPE)--a DSP-style vector processor
unit, which doubles as a FPU.  The PowerPC SPE ABI is incompatible with the
stock powerpc ABI, so a new MACHINE_ARCH was created to deal with this.
Additionaly, the SPE opcodes overlap with Altivec, so these are mutually
exclusive.  Taking advantage of this fact, a new file, powerpc/booke/spe.c, was
created with the same function set as in powerpc/powerpc/altivec.c, so it
becomes effectively a drop-in replacement.  setjmp/longjmp were modified to save
the upper 32-bits of the now-64-bit GPRs (upper 32-bits are only accessible by
the SPE).

Note: This does _not_ support the SPE in the e500v1, as the e500v1 SPE does not
support double-precision floating point.

Also, without a new MACHINE_ARCH it would be impossible to provide binary
packages which utilize the SPE.

Additionally, no work has been done to support ports, work is needed for this.
This also means no newer gcc can yet be used.  However, gcc's powerpc support
has been refactored which would make adding a powerpcspe-freebsd target very
easy.

Test Plan:
This was lightly tested on a RouterBoard RB800 and an AmigaOne A1222
(P1022-based) board, compiled against the new ABI.  Base system utilities
(/bin/sh, /bin/ls, etc) still function appropriately, the system is able to boot
multiuser.

Reviewed By: bdrewery, imp
Relnotes: yes
Differential Revision: https://reviews.freebsd.org/D5683

7 years agocxgbe(4): Dump any mailbox command that times out.
np [Sat, 22 Oct 2016 00:48:58 +0000 (00:48 +0000)]
cxgbe(4): Dump any mailbox command that times out.

7 years agoDefine max_align_t for C11.
jhb [Fri, 21 Oct 2016 23:50:02 +0000 (23:50 +0000)]
Define max_align_t for C11.

libc++'s stddef.h includes an existing definition of max_align_t for
C++11, but it is only defined for C++, not for C.  In addition, GCC and
clang both define an alternate version of max_align_t that uses a
union of multiple types rather than a plain long double as in libc++.
This adds a __max_align_t to <sys/_types.h> that matches the GCC and
clang definition that is mapped to max_align_t in <stddef.h>.

PR: 210890
Reviewed by: dim
MFC after: 1 month
Differential Revision: https://reviews.freebsd.org/D8194

7 years agoswapoff: Remove only late devices with -aL.
jilles [Fri, 21 Oct 2016 21:55:50 +0000 (21:55 +0000)]
swapoff: Remove only late devices with -aL.

Currently, '/etc/rc.d/swaplate stop' removes all swap devices. This can be
very slow and may not even be possible if there is a lot of swap space in
use. However, removing swap devices is only needed for late swap devices
that may depend on daemons that subsequent shutdown steps stop. Normal swap
devices such as hard disk partitions will remain available throughout the
shutdown process and need not be removed.

In swapoff, interpret -aL to remove late swap devices only, and use this in
etc/rc.d/swaplate. The meaning of -aL in swapon remains unchanged (add all
swap devices, both normal and late).

PR: 187081
Reviewed by: wblock (man page only), ngie
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D8126

7 years agoFix building of many ports that use make from base, such as devel/apr1,
dim [Fri, 21 Oct 2016 21:52:22 +0000 (21:52 +0000)]
Fix building of many ports that use make from base, such as devel/apr1,
after r307676, which added transformation rules for .llo and .bco files.

These suffixes also have to be added the the global .SUFFIXES target,
otherwise the various suffix-transformation rules would be interpreted
as literal targets.  E.g.,

.c.bco:
... commands ...

would actually to build a file named ".c.bco".

7 years agoClose some file descriptor leaks in pw
asomers [Fri, 21 Oct 2016 20:17:19 +0000 (20:17 +0000)]
Close some file descriptor leaks in pw

MFC after: 4 weeks
Sponsored by: Spectra Logic Corp
Differential Revision: https://reviews.freebsd.org/D8245

7 years agoFix a problem in camcontrol(8) that cropped up with r307684.
ken [Fri, 21 Oct 2016 18:54:56 +0000 (18:54 +0000)]
Fix a problem in camcontrol(8) that cropped up with r307684.

In r307684, I changed rescan_or_reset_bus() to bzero stack-allocated CCBs
before sending them to the kernel because there was stack garbage in there
that wound up meaning that bogus CCB flags were set.

While this fixed the 'camcontrol rescan all' case (XPT_DEV_MATCH CCBs were
failing previously), it broke the 'camcontrol rescan 0' (or any other
number) case when INVARIANTS are turned on.  Rescanning a single bus
reliably produced an assert in cam_periph_runccb():

panic: cam_periph_runccb: ccb=0xfffff80044ffe000, func_code=0x708, flags=0xffffdde0

The flags values don't make sense from the code.  Changing the CCBs in
rescan_or_reset_bus() from stack to heap allocated avoids the problem.

It would be better to understand why userland stack allocated CCBs don't
work properly, since there may be other code that breaks if stack allocated
CCBs don't work.

sbin/camcontrol/camcontrol.c:
In rescan_or_reset_bus(), allocate the CCBs using malloc(3) instead
of on the stack to avoid an assertion in cam_periph_runccb().

MFC after: 3 days
Sponsored by: Spectra Logic

7 years agoFix a grammar error.
tuexen [Fri, 21 Oct 2016 18:45:09 +0000 (18:45 +0000)]
Fix a grammar error.

Reported by:i hiren, vangyzen
MFC after: 1 month
X-MFC: r307727
Sponsored by: Netflix

7 years agoRework r306337.
hiren [Fri, 21 Oct 2016 18:27:30 +0000 (18:27 +0000)]
Rework r306337.

In sendit(), if mp->msg_control is present, then in sockargs() we are
allocating mbuf to store mp->msg_control. Later in kern_sendit(), call
to getsock_cap(), will check validity of file pointer passed, if this
fails EBADF is returned but mbuf allocated in sockargs() is not freed.
Made code changes to free the same.

Since freeing control mbuf in sendit() after checking (control != NULL)
may lead to double freeing of control mbuf in sendit(), we can free
control mbuf in kern_sendit() if there are any errors in the routine.

Submitted by:     Lohith Bellad <lohith.bellad@me.com>
Reviewed by:     glebius
MFC after:     3 weeks
Differential Revision:     https://reviews.freebsd.org/D8152

7 years agoAllow all subdirectories to be optional via SUBDIR.${MK_*}
emaste [Fri, 21 Oct 2016 17:25:19 +0000 (17:25 +0000)]
Allow all subdirectories to be optional via SUBDIR.${MK_*}

Reviewed by: br, imp
Tested by: br
Pointy hat to: emaste
Differential Revision: https://reviews.freebsd.org/D8317

7 years agoFix few sentence in the man page.
oshogbo [Fri, 21 Oct 2016 16:31:58 +0000 (16:31 +0000)]
Fix few sentence in the man page.

Pointed out by: wblock

7 years agocapsicum: perform copyout without the fildesc lock held in sys_cap_ioctls_get
oshogbo [Fri, 21 Oct 2016 16:12:23 +0000 (16:12 +0000)]
capsicum: perform copyout without the fildesc lock held in sys_cap_ioctls_get

Reviewed by: pjd

7 years agoAdd names for some DASP devices.
mav [Fri, 21 Oct 2016 15:23:54 +0000 (15:23 +0000)]
Add names for some DASP devices.

Submitted by: Dmitry Luhtionov <dmitryluhtionov@gmail.com>
MFC after: 1 week

7 years agonetmap: if_ptnet depends on inet
emaste [Fri, 21 Oct 2016 15:17:42 +0000 (15:17 +0000)]
netmap: if_ptnet depends on inet

7 years agonetmap: fix kernel build on GCC-using architectures
emaste [Fri, 21 Oct 2016 13:51:47 +0000 (13:51 +0000)]
netmap: fix kernel build on GCC-using architectures

GCC produced a multiple declaration warning from the
SYSCTL_DECL(_dev_netmap).

7 years agoDocument the TCP sysctl variables insecure_rst and insecure_syn.
tuexen [Fri, 21 Oct 2016 11:29:25 +0000 (11:29 +0000)]
Document the TCP sysctl variables insecure_rst and insecure_syn.

MFC after: 1 month
Sponsored by: netflix

7 years agoMake ICMPv6 hard error handling for TCP consistent with the ICMPv4
tuexen [Fri, 21 Oct 2016 10:32:57 +0000 (10:32 +0000)]
Make ICMPv6 hard error handling for TCP consistent with the ICMPv4
handling. Ensure that:
* Protocol unreachable errors are handled by indicating ECONNREFUSED
  to the TCP user for both IPv4 and IPv6. These were ignored for IPv6.
* Communication prohibited errors are handled by indicating ECONNREFUSED
  to the TCP user for both IPv4 and IPv6. These were ignored for IPv6.
* Hop Limited exceeded errors are handled by indicating EHOSTUNREACH
  to the TCP user for both IPv4 and IPv6.
  For IPv6 the TCP connected was dropped but errno wasn't set.

Reviewed by: gallatin, rrs
MFC after: 1 month
Sponsored by: Netflix
Differential Revision: 7904

7 years agohyperv/hn: Function renaming; consistent w/ hardware capabilities query.
sephe [Fri, 21 Oct 2016 08:21:23 +0000 (08:21 +0000)]
hyperv/hn: Function renaming; consistent w/ hardware capabilities query.

MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8296

7 years agoRemove /usr/libexec/bsdinstall/hardening if MK_BSDINSTALL == no
ngie [Fri, 21 Oct 2016 08:12:18 +0000 (08:12 +0000)]
Remove /usr/libexec/bsdinstall/hardening if MK_BSDINSTALL == no

MFC after: 3 days
Sponsored by: Dell EMC Isilon

7 years agohyperv/hn: Add network change support.
sephe [Fri, 21 Oct 2016 08:02:05 +0000 (08:02 +0000)]
hyperv/hn: Add network change support.

Currently the network change is simulated by link status changes.

MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8295

7 years agohyperv/hn: Check NVS version for HASHVAL pktinfo on sending path.
sephe [Fri, 21 Oct 2016 07:46:35 +0000 (07:46 +0000)]
hyperv/hn: Check NVS version for HASHVAL pktinfo on sending path.

MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8293

7 years agohyperv/hn: Always query RSS capabilities.
sephe [Fri, 21 Oct 2016 07:37:29 +0000 (07:37 +0000)]
hyperv/hn: Always query RSS capabilities.

- This avoid distributing NDIS version check.
- Only NDIS 6.20 required (earlier NDIS uses different indirect table
  format).

MFC after: 1 week
Sponsored by: Microsoft
Differential Revision: https://reviews.freebsd.org/D8291

7 years agoLINT: Unhook netmap from LINT-NOIP and LINT-NOINET temporarily.
sephe [Fri, 21 Oct 2016 07:35:49 +0000 (07:35 +0000)]
LINT: Unhook netmap from LINT-NOIP and LINT-NOINET temporarily.

After fixing ptnet NOINET support, netmap can be linked back to
these two LINTs.

Sponsored by: Microsoft

7 years agoClean up and add some test cases for ALU instructions.
jkim [Fri, 21 Oct 2016 06:56:30 +0000 (06:56 +0000)]
Clean up and add some test cases for ALU instructions.

7 years agoImplement BPF_MOD and BPF_XOR instructions.
jkim [Fri, 21 Oct 2016 06:55:07 +0000 (06:55 +0000)]
Implement BPF_MOD and BPF_XOR instructions.

These two ALU instructions first appeared on Linux.  Then, libpcap adopted
and made them available since 1.6.2.  Now more platforms including NetBSD
have them in kernel.  So do we.
 --이 줄 이하는 자동으로 제거됩니다--
> Description of fields to fill in above:                     76 columns --|
> PR:                       If and which Problem Report is related.
> Submitted by:             If someone else sent in the change.
> Reported by:              If someone else reported the issue.
> Reviewed by:              If someone else reviewed your modification.
> Approved by:              If you needed approval for this commit.
> Obtained from:            If the change is from a third party.
> MFC after:                N [day[s]|week[s]|month[s]].  Request a reminder email.
> MFH:                      Ports tree branch name.  Request approval for merge.
> Relnotes:                 Set to 'yes' for mention in release notes.
> Security:                 Vulnerability reference (one per line) or description.
> Sponsored by:             If the change was sponsored by an organization.
> Differential Revision:    https://reviews.freebsd.org/D### (*full* phabric URL needed).
> Empty fields above will be automatically removed.

M    share/man/man4/bpf.4
M    sys/amd64/amd64/bpf_jit_machdep.c
M    sys/amd64/amd64/bpf_jit_machdep.h
M    sys/i386/i386/bpf_jit_machdep.c
M    sys/i386/i386/bpf_jit_machdep.h
M    sys/net/bpf_filter.c

7 years agonetmap: Unbreak LINT-VIMAGE building
sephe [Fri, 21 Oct 2016 06:32:45 +0000 (06:32 +0000)]
netmap: Unbreak LINT-VIMAGE building

Sponsored by: Microsoft

7 years agoRedude code for conditional jumps.
jkim [Fri, 21 Oct 2016 06:09:30 +0000 (06:09 +0000)]
Redude code for conditional jumps.

7 years agoFix compiler warnings for user land.
jkim [Fri, 21 Oct 2016 06:06:54 +0000 (06:06 +0000)]
Fix compiler warnings for user land.

7 years agonetmap: Unbreak i386 LINT building
sephe [Fri, 21 Oct 2016 06:05:16 +0000 (06:05 +0000)]
netmap: Unbreak i386 LINT building

Sponsored by: Microsoft

7 years agoIntegrate contrib/netbsd-tests/fs/tmpfs into the FreeBSD test suite
ngie [Fri, 21 Oct 2016 05:24:08 +0000 (05:24 +0000)]
Integrate contrib/netbsd-tests/fs/tmpfs into the FreeBSD test suite
as tests/sys/fs

These testcases exercise tmpfs support

MFC after: 2 weeks
Sponsored by: Dell EMC Isilon

7 years agoExpect tests/sys/fs/tmpfs/link_test:kqueue to fail
ngie [Fri, 21 Oct 2016 05:21:20 +0000 (05:21 +0000)]
Expect tests/sys/fs/tmpfs/link_test:kqueue to fail

It fails with: "dir/b did not receive NOTE_LINK"

Also, add needed cleanup logic to cleanup the mountpoint after the fact

MFC after: 2 weeks
PR: 213662
Sponsored by: Dell EMC Isilon

7 years agoOnly build lib/libc/tests/iconv if MK_ICONV != no
ngie [Fri, 21 Oct 2016 04:54:43 +0000 (04:54 +0000)]
Only build lib/libc/tests/iconv if MK_ICONV != no

MFC after: 1 week
Reported by: damian@damianek.be
Sponsored by: Dell EMC Isilon

7 years agoRevert r307689
ngie [Fri, 21 Oct 2016 04:49:39 +0000 (04:49 +0000)]
Revert r307689

The proposed change ("Fix building of llvm's unwind if gcc has been
also built") breaks the build with clang/llvm.

Tested with...

(
export SRCCONF=/dev/null WITH_CLANG=
cd gnu/lib/libgcc; make obj; make depend; make all
)

MFC after: 3 days
X-MFC with: r307689
Pointyhat to: bapt
Reported by: Jenkins, O. Hartmann <ohartman@zedat.fu-berlin.de>
Sponsored by: Dell EMC Isilon

7 years ago- Add required header for fixing `make` in sys/modules/gpio
lwhsu [Fri, 21 Oct 2016 03:23:17 +0000 (03:23 +0000)]
- Add required header for fixing `make` in sys/modules/gpio

Reviewed by: imp, loos
Differential Revision: https://reviews.freebsd.org/D7815

7 years agoRemove a hack requiring dtsec0 to always be enabled for mdio.
jhibbits [Fri, 21 Oct 2016 02:16:11 +0000 (02:16 +0000)]
Remove a hack requiring dtsec0 to always be enabled for mdio.

Instead replace it with a different hack, that turns fman into a simplebus
subclass, and maps its children within its address space.

Since all PHY communication is done through dtsec0's mdio space, the FDT
contains a reference to the dtsec0 mdio handle in all nodes that need it.
Instead of using Freescale's implementation for MII access, use our own (copied
loosely from the eTSEC driver, and could possibly be merged eventually).  This
lets us access the registers directly rather than needing a full dtsec interface
just to access the registers.

Future directions will include turning fman into more of a simplebus, and not
mapping the region and playing games.  This will require changes to the dtsec
driver to make it a child of fman, and possibly other drivers as well.

7 years agoRemove an unnecessary debug printf.
jhibbits [Fri, 21 Oct 2016 02:07:03 +0000 (02:07 +0000)]
Remove an unnecessary debug printf.

7 years agoA problem w.r.t. interoperation between the FreeBSD NFSv4.1 server with
rmacklem [Thu, 20 Oct 2016 23:53:16 +0000 (23:53 +0000)]
A problem w.r.t. interoperation between the FreeBSD NFSv4.1 server with
delegations enabled and the Linux NFSv4.1 client was reported in
reviews.freebsd.org/D7891.
I believe that the FreeBSD server behaviour conforms to the RFC and that
the Linux client has a bug. Therefore, I do not think the proposed patch
is appropriate. When nfsrv_writedelegifpos is non-zero, the FreeBSD
server will issue a write delegation for a read open if possible.
The Linux client then erroneously assumes that the credentials used for
the read open can write the file.
This patch reverses the default value for nfsrv_writedelegifpos to 0 so
that the default behaviour is Linux compatible and adds a sysctl that can
be used to set nfsrv_writedelegifpos.

This change should only affect users that are mounting a FreeBSD server
with delegations enabled (they are not enabled by default) with a Linux
NFSv4.1 client mount.

Reported by: fatih.acar@gandi.net
Tested by: fatih.acar@gandi.net
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D7891

7 years agoSimplify keg_drain() a bit by using LIST_FOREACH_SAFE.
markj [Thu, 20 Oct 2016 23:10:27 +0000 (23:10 +0000)]
Simplify keg_drain() a bit by using LIST_FOREACH_SAFE.

MFC after: 1 week

7 years agogmirror: Add a subroutine to free synchronization BIOs.
markj [Thu, 20 Oct 2016 23:08:40 +0000 (23:08 +0000)]
gmirror: Add a subroutine to free synchronization BIOs.

This addresses a memory leak that occurs upon an I/O error during a mirror
synchronization.

MFC after: 2 weeks
Sponsored by: Dell EMC Isilon

7 years agogmirror: Release pending regular requests when synchronization stops.
markj [Thu, 20 Oct 2016 23:02:30 +0000 (23:02 +0000)]
gmirror: Release pending regular requests when synchronization stops.

Normally gmirror allows colliding requests to proceed whenever a
synchronization request completes and advances to the next offset. However
if an I/O request collides with one of the final g_mirror_syncreqs, nothing
releases it once synchronization completes, resulting in an apparent I/O
hang. The same problem can occur if synchronization is aborted by an
I/O error. Therefore, be sure to requeue pending requests when
mirror synchronization is stopped for any reason.

While here, remove some dead code from g_mirror_regular_release().

MFC after: 2 weeks
Sponsored by: Dell EMC Isilon

7 years agoDon't build libssp as a prereq lib if WITHOUT_SSP is set
emaste [Thu, 20 Oct 2016 21:29:59 +0000 (21:29 +0000)]
Don't build libssp as a prereq lib if WITHOUT_SSP is set

Reviewed by: brooks
Differential Revision: https://reviews.freebsd.org/D8301

7 years agoFix building of llvm's unwind if gcc has been also built
bapt [Thu, 20 Oct 2016 21:12:50 +0000 (21:12 +0000)]
Fix building of llvm's unwind if gcc has been also built

when building gcc an unwind.h header is generate in the cc_tool directory
which is included in the CFLAGS before the path where the llvm's unwind.h file
lives

Reviewed by: emaste
MFC after: 3 days
Differential Revision: https://reviews.freebsd.org/D7357

7 years agoTidy up ia32_sysvec sv_flags setting
emaste [Thu, 20 Oct 2016 20:29:54 +0000 (20:29 +0000)]
Tidy up ia32_sysvec sv_flags setting

Use the same approach as sys/arm/arm/elf_machdep.c to avoid an odd-
looking , on a separate line.

7 years agoarch.7: correct typo in predefined macro example
emaste [Thu, 20 Oct 2016 20:16:10 +0000 (20:16 +0000)]
arch.7: correct typo in predefined macro example

The example incorrectly used -Dm, which defines macro m with value 1.
It is supposed to be -dM, which lists macros.

7 years agoUse MACHINE_ARCH rather than TARGET_ARCH which has no meaning outside
imp [Thu, 20 Oct 2016 20:12:34 +0000 (20:12 +0000)]
Use MACHINE_ARCH rather than TARGET_ARCH which has no meaning outside
of Makefile.inc1

7 years agocache: fix up a corner case in r307650
mjg [Thu, 20 Oct 2016 19:55:50 +0000 (19:55 +0000)]
cache: fix up a corner case in r307650

If no negative entry is found on the last list, the ncp pointer will be
left uninitialized and a non-null value will make the function assume an
entry was found.

Fix the problem by initializing to NULL on entry.

Reported by: glebius

7 years agoFor CCBs allocated on the stack, we need to clear the entire CCB, not just
ken [Thu, 20 Oct 2016 19:42:26 +0000 (19:42 +0000)]
For CCBs allocated on the stack, we need to clear the entire CCB, not just
the header.  Otherwise stack garbage can lead to random flags getting set.

This showed up as 'camcontrol rescan all' failing with EINVAL because the
address type wasn't CAM_DATA_VADDR.

sbin/camcontrol/camcontrol.c:
In rescan_or_reset_bus(), bzero the stack-allocated CCBs before
use instead of clearing the body.

MFC after: 3 days
Sponsored by: Spectra Logic

7 years agoCorrect typo in r307679: the variable is MK_GNU_GREP_COMPAT
emaste [Thu, 20 Oct 2016 18:43:12 +0000 (18:43 +0000)]
Correct typo in r307679: the variable is MK_GNU_GREP_COMPAT

7 years agoSet the executable bit on arcgit and importgit
rstone [Thu, 20 Oct 2016 18:28:05 +0000 (18:28 +0000)]
Set the executable bit on arcgit and importgit

Make it possible to run these scripts directly out of svn by setting
the executable property on them.

7 years agoAdd some tools to simplify the use of git
rstone [Thu, 20 Oct 2016 18:23:44 +0000 (18:23 +0000)]
Add some tools to simplify the use of git

Add some scripts that wraps some FreeBSD Project infrastructure
and simplifies using them with git.  The scripts are:

 - arcgit, which creates a series of reviews in Differential
 - importgit, which applies a series of git commits to svn

Differential Revision:      https://reviews.freebsd.org/D2071

7 years agoBuild libgnuregex only if necessary for other components
emaste [Thu, 20 Oct 2016 17:28:52 +0000 (17:28 +0000)]
Build libgnuregex only if necessary for other components

Reviewed by: brooks
Differential Revision: https://reviews.freebsd.org/D8298

7 years agoDisable geom_eli module build on MIPS64 as it has alignment
br [Thu, 20 Oct 2016 17:10:26 +0000 (17:10 +0000)]
Disable geom_eli module build on MIPS64 as it has alignment
issues and causes kernel panic.
ELI metadata is also not aligned properly for MIPS64 case.

Sponsored by: DARPA, AFRL
Sponsored by: HEIF5

7 years agoAdd make rules to build LLVM IR from C/C++ sources.
jonathan [Thu, 20 Oct 2016 15:14:21 +0000 (15:14 +0000)]
Add make rules to build LLVM IR from C/C++ sources.

As a foundation for future work with LLVM's Intermediate Representation (IR),
add new suffix rules that can be used to build .llo (text) or .bco (bitcode)
files from C or C++ sources.  This compilation step uses the same CFLAGS, etc.,
as are used for building .o files, with the exception of optimization flags.
Many of the things we would like to do with IR (e.g., instrumentation) work
better with unoptimized code, so our approach is to build .c->.bco without
optimization and then apply the optimization in post-analysis,
post-instrumentation linking.

The overall result of these changes is:

* one can "make foo.llo" or "make foo.bco" wherever "make foo.o" was supported
* new make variables IR_CFLAGS and IR_CXXFLAGS are available to inspect the
  flags that are used by Clang to generate the IR

These new rules are added unconditionally to our non-POSIX suffix rule set,
since we cannot inspect COMPILER_TYPE in sys.mk.  Future changes that depend
on these rules (e.g., building IR versions of binaries from bsd.prog.mk)
should use COMPILER_TYPE to determine when we can expect IR rules to succeed.

Reviewed by: emaste, imp
Approved by: rwatson (mentor)
Sponsored by: DARPA, AFRL
Differential Revision: https://reviews.freebsd.org/D4339

7 years agoRemove trailing whitespace from r307674
emaste [Thu, 20 Oct 2016 15:12:06 +0000 (15:12 +0000)]
Remove trailing whitespace from r307674

7 years agoAdd knobs to make GNU diff and GNU grep optional
emaste [Thu, 20 Oct 2016 14:48:57 +0000 (14:48 +0000)]
Add knobs to make GNU diff and GNU grep optional

This is added to facilitate experiments building FreeBSD without
copyleft software.

If WITHOUT_GNU_DIFF is set no /usr/bin/diff or /usr/bin/diff3 will
be built.

If WITHOUT_GNU_GREP is set then BSD grep will be installed as
/usr/bin/bsdgrep or /usr/bin/grep, depending on the WITH_BSD_GREP
knob.

Reviewed by: brooks (earlier)
Sponsored by: The FreeBSD Foundation
Differential Revision: Differential Revision: https://reviews.freebsd.org/D8288

7 years agoClear mbuf hashtype on loopback when RSS is enabled.
gallatin [Thu, 20 Oct 2016 13:48:29 +0000 (13:48 +0000)]
Clear mbuf hashtype on loopback when RSS is enabled.

The hashtype on an outgoing mbuf reflects the correct hash on the
transmit side of the connection.  If this hash persists on loopback,
the receiving RSS/PCBGROUP code will use it to look up the pcbgroup
for the transmit side, which will often not match the pcbgroup for the
receive side of the connection.  This leads to TCP connections
hanging, and dropping the SYN/ACK packet.   This is essentially
the same as having a hardware network card generate mbufs with an
incorrect RSS hash.

There are a number of places which can set the hash on transmit,
so the simplest fix is to simply clear the hash at loopback time.
Clearing the hash allows a new, correct hash to be calculated in
software on the receive side.

Reviewed by: jtl
Discussed with: adrian
Sponsored by: Netflix

7 years agoDriver for PCI Ethernet NIC on Alpine V1 and V2.
wma [Thu, 20 Oct 2016 11:31:11 +0000 (11:31 +0000)]
Driver for PCI Ethernet NIC on Alpine V1 and V2.

Obtained from:         Semihalf
Submitted by:          Michal Stanek <mst@semihalf.com>
Sponsored by:          Annapurna Labs
Reviewed by:           wma
Differential Revision: https://reviews.freebsd.org/D7814

7 years agoSupport for Alpine Serializer/Deserializer.
wma [Thu, 20 Oct 2016 11:26:51 +0000 (11:26 +0000)]
Support for Alpine Serializer/Deserializer.

The exported functions will be used by
Alpine Ethernet driver.

Obtained from:         Semihalf
Submitted by:          Michal Stanek <mst@semihalf.com>
Sponsored by:          Annapurna Labs
Reviewed by:           wma
Differential Revision: https://reviews.freebsd.org/D7763

7 years agoSupport for MSI-X on Annapurna Alpine
wma [Thu, 20 Oct 2016 11:23:59 +0000 (11:23 +0000)]
Support for MSI-X on Annapurna Alpine

This patch adds support for MSI-X interrupts
on Annapurna Alpine platform. MSI-X on Alpine
work similarly to GICv2m, i.e. some range of
SPI interrupts is reserved in GIC and individual
SPIs can be triggered by MSI-X messages.
This SPI range is defined in FDT.

Obtained from:         Semihalf
Submitted by:          Michal Stanek <mst@semihalf.com>
Sponsored by:          Annapurna Labs
Reviewed by:           nwhitehorn, wma
Differential Revision: https://reviews.freebsd.org/D7579

7 years agoAdd support for the fpu_kern(9) KPI on arm64. It hooks into the existing
andrew [Thu, 20 Oct 2016 09:22:10 +0000 (09:22 +0000)]
Add support for the fpu_kern(9) KPI on arm64. It hooks into the existing
VFP code to store the old context, with lazy loading of the new context
when needed.

FPU_KERN_NOCTX is missing as this is unused in the crypto code this has
been tested with, and I am unsure on the requirements of the UEFI
Runtime Services.

Reviewed by: kib
Obtained from: ABT Systeems Ltd
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D8276

7 years agoRemove register keyword.
kevlo [Thu, 20 Oct 2016 01:21:10 +0000 (01:21 +0000)]
Remove register keyword.

Reviewed by: kib

7 years agoRemove a sentence about putting initialization in init_proc.c or kern_proc.c
kevlo [Thu, 20 Oct 2016 01:19:37 +0000 (01:19 +0000)]
Remove a sentence about putting initialization in init_proc.c or kern_proc.c
and useless comment.

Reviewed by: kib

7 years agoCapsicum support for jot(1)
cem [Wed, 19 Oct 2016 21:50:57 +0000 (21:50 +0000)]
Capsicum support for jot(1)

Limit descriptors and enter capability mode in jot(1).

Submitted by: brueffer (earlier version)
Reviewed by: emaste, jonathan (earlier version)
Sponsored by: Dell EMC Isilon
Differential Revision: https://reviews.freebsd.org/D1345

7 years agoSwitch gnu/usr.bin/Makefile to SUBDIR.${MK_*} optional subdir style
emaste [Wed, 19 Oct 2016 21:25:59 +0000 (21:25 +0000)]
Switch gnu/usr.bin/Makefile to SUBDIR.${MK_*} optional subdir style

7 years agomd5: enter capability on last fd or when acting as a filter
emaste [Wed, 19 Oct 2016 21:07:17 +0000 (21:07 +0000)]
md5: enter capability on last fd or when acting as a filter

Reviewed by: allanjude, cem
MFC after: 2 months
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D8271

7 years agoResolve whitespace diff to NextBSD.
sbruno [Wed, 19 Oct 2016 21:01:24 +0000 (21:01 +0000)]
Resolve whitespace diff to NextBSD.

Check to see that the taskqueue thread count requires us to acutally
iterate over the thread count to bind to cpus.

Submitted by: mmacy@nextbsd.org

7 years agoPut each SUBDIR on a separate line for ease of maintenance
emaste [Wed, 19 Oct 2016 20:56:21 +0000 (20:56 +0000)]
Put each SUBDIR on a separate line for ease of maintenance

Additional patches to this file are in progress, and having each SUBDIR
entry on a separate line makes it easier to change the order in which
the patches are reviewed, tested, and applied.

7 years agoForce MK_GDB to no if MK_BINUTILS == no
emaste [Wed, 19 Oct 2016 19:57:36 +0000 (19:57 +0000)]
Force MK_GDB to no if MK_BINUTILS == no

This is currently encoded in conditional blocks in gnu/lib/Makefile and
gnu/usr.bin/Makefile. Set it via src.opts.mk to make GDB's dependency
on binutils more clear.

7 years agoFix incorrect assertion that could miss overflows.
glebius [Wed, 19 Oct 2016 19:50:09 +0000 (19:50 +0000)]
Fix incorrect assertion that could miss overflows.

Reviewed by: kib

7 years agoMark a bunch of mpsafe sysctls as such.
mjg [Wed, 19 Oct 2016 19:42:01 +0000 (19:42 +0000)]
Mark a bunch of mpsafe sysctls as such.

This gives me a sysctl Giant-free buildworld.

7 years agoSwitch gnu/lib/Makefile to SUBDIR.${MK_*} optional subdir style
emaste [Wed, 19 Oct 2016 19:32:06 +0000 (19:32 +0000)]
Switch gnu/lib/Makefile to SUBDIR.${MK_*} optional subdir style

Compound conditions are left unchanged

7 years agoAdd support for adjusting the hardware buffering delay for USB audio.
hselasky [Wed, 19 Oct 2016 18:45:06 +0000 (18:45 +0000)]
Add support for adjusting the hardware buffering delay for USB audio.

Requested by: Goran Mekic <meka@tilda.center>
MFC after: 1 week

7 years agocache: split negative entry LRU into multiple lists
mjg [Wed, 19 Oct 2016 18:29:52 +0000 (18:29 +0000)]
cache: split negative entry LRU into multiple lists

This splits the ncneg_mtx lock while preserving the hit ratio at least
during buildworld.

Create N dedicated lists for new negative entries.

Entries with at least one hit get promoted to the hot list, where they
get requeued every M hits.

Shrinking demotes one hot entry and performs a round-robin shrinking of
regular lists.

Reviewed by: kib

7 years agoPartial workaround for Intel PCI adapters reading past the end of the
kib [Wed, 19 Oct 2016 18:15:44 +0000 (18:15 +0000)]
Partial workaround for Intel PCI adapters reading past the end of the
host-programmed DMA regions.  This change seemingly fixes the
descriptor fetches, but the packet memory accesses are left
problematic.

Reviewed by: emaste, erj, sbruno
Sponsored by: The FreeBSD Foundation
MFC after: 2 weeks
Differential revision: https://reviews.freebsd.org/D8282

7 years agoFix MK_SHAREDOCS test from r306864
emaste [Wed, 19 Oct 2016 17:42:45 +0000 (17:42 +0000)]
Fix MK_SHAREDOCS test from r306864

Groff is needed only if MK_GROFF and MK_SHAREDOCS are both true.

7 years agoAfter deeper software archaeology, reports that 10.3R was affected
imp [Wed, 19 Oct 2016 15:13:08 +0000 (15:13 +0000)]
After deeper software archaeology, reports that 10.3R was affected
turned out to be mistaken. Adjust the entry and fix a few typos.

7 years agoChase a cornercase in printenv and sync its behaviour with builtin's
gahr [Wed, 19 Oct 2016 14:51:25 +0000 (14:51 +0000)]
Chase a cornercase in printenv and sync its behaviour with builtin's

The cornercase is when printenv is passed a parameter in the form VAR=val,
where VAR=val exists in the environment. In this case, printenv would print a
spurious newline and returns 0.

Approved by: cognet
MFC after: 1 week

7 years agoTEGRA: Raise minimum voltage for CPU, original 0.9 V was too optimistic.
mmel [Wed, 19 Oct 2016 14:28:51 +0000 (14:28 +0000)]
TEGRA: Raise minimum voltage for CPU, original 0.9 V was too optimistic.
While I'm in, remove duplicated line from CPU frequency table.

MFC after: 2 weeks

7 years agoDocument the unique requirements for upgrading more
imp [Wed, 19 Oct 2016 13:45:51 +0000 (13:45 +0000)]
Document the unique requirements for upgrading more
prominently. Unlike in the past (dating back to the 4.x branch point),
you cannot upgrade from any point on the past couple of stable
branches to -current. Due to a bug in clang that existed before
r286035 in stable/9 or r286033 in stable/10, we cannot compile llvm
that's in 11.x or -current. Unfortunately, these revisions are after
9.3R and 10.3R on their respective branches. stable/11 and 11.0R are
not affected.

This also affects the upgrade path to 11 (including 11.0R) from
stable/9 and stable/10 (which would otherwise work, were it not for
this bug).

We also need to amend the 11.0R release notes.

MFC After: 3 days

7 years agoIncrease timeouts so tests have more chances to succeed
br [Wed, 19 Oct 2016 12:23:02 +0000 (12:23 +0000)]
Increase timeouts so tests have more chances to succeed
on MIPS64EB in QEMU.

Sponsored by: DARPA, AFRL
Sponsored by: HEIF5

7 years agoFix `ipfw table lookup` handler to return entry value, but not its index.
ae [Wed, 19 Oct 2016 11:51:17 +0000 (11:51 +0000)]
Fix `ipfw table lookup` handler to return entry value, but not its index.

Submitted by: loos
MFC after: 1 week

7 years agoAdd FFS pager, which uses buffer cache read operation to validate pages.
kib [Wed, 19 Oct 2016 11:09:29 +0000 (11:09 +0000)]
Add FFS pager, which uses buffer cache read operation to validate pages.
See the comments for more detailed description of the algorithm.

The pager is used unconditionally when the block size of the
underlying device is larger than the machine page size, since local
vnode pager cannot handle the configuration [1].  Otherwise, the
vfs.ffs.use_buf_pager sysctl allows to switch to the local pager.

Measurements demonstrated no regression in the ever-important
buildworld benchmark, and small (~5%) throughput improvements in the
special microbenchmark configuration for dbench over swap-backed
md(4).

Code can be generalized and reused for other filesystems which use
buffer cache.

Reported by: Anton Yuzhaninov <citrin@citrin.ru> [1]
Tested by: pho
Benchmarked by: mjg, pho
Reviewed by: alc, markj, mckusick (previous version)
Sponsored by: The FreeBSD Foundation
MFC after: 2 weeks
Differential revision: https://reviews.freebsd.org/D8198

7 years agoAdd big-endian uzip file system and choose right file system
br [Wed, 19 Oct 2016 10:01:04 +0000 (10:01 +0000)]
Add big-endian uzip file system and choose right file system
to proceed tests with.

Reviewed by: jmmv, ngie
Sponsored by: DARPA, AFRL
Sponsored by: HEIF5
Differential Revision: https://reviews.freebsd.org/D8073

7 years agohyperv/vmbus: Expose channel management taskqueue for driver to use.
sephe [Wed, 19 Oct 2016 09:12:14 +0000 (09:12 +0000)]
hyperv/vmbus: Expose channel management taskqueue for driver to use.

MFC after: 3 days
Sponsored by: Microsoft

7 years agoRPI3 is retired in preference to GENERIC-UP. Use that instead.
imp [Wed, 19 Oct 2016 07:40:51 +0000 (07:40 +0000)]
RPI3 is retired in preference to GENERIC-UP. Use that instead.

7 years agoUse MODULES_EXTRA rather than MODULES_OVERRIDE for dtb.
imp [Wed, 19 Oct 2016 05:53:43 +0000 (05:53 +0000)]
Use MODULES_EXTRA rather than MODULES_OVERRIDE for dtb.

Submitted by: Oleksandr Tymoshenko

7 years ago[net80211] Initial full-offload scan support.
adrian [Wed, 19 Oct 2016 05:03:46 +0000 (05:03 +0000)]
[net80211] Initial full-offload scan support.

This is a very simple addition to the net80211 scan support.

It doesn't implement a replacement scan interface - it just disables
the pieces that we should disable to make this lifecycle a bit
more managable.

There's more work to come before full scan offload support is available
but it should be good enough for driver work.

* add a flag to say "full offload"
* don't do probe requests when scanning full-offload - firmware can do that
* don't do powersave transitions and buffering - firmware can do that

tested:

* iwm(4) - STA mode
* ath10k port (local, not in freebsd-head yet)

Reviewed by: avos
Differential Revision: https://reviews.freebsd.org/D8262

7 years agoFix typo in comment.
kevlo [Wed, 19 Oct 2016 02:24:57 +0000 (02:24 +0000)]
Fix typo in comment.

7 years agoUn-static two local variables in the FPU emulator
jhibbits [Wed, 19 Oct 2016 02:23:29 +0000 (02:23 +0000)]
Un-static two local variables in the FPU emulator

Static variables aren't MP-safe, and this was causing bizarre segfaults on a
dual-core e500v2 system (P1022).

Still left is one static variable, which should be moved into the pcb instead,
but as illegal instructions haven't been hit yet, it's lower priority.

MFC after: 1 week

7 years agoMove SOC_BRCM_BCM2837 to GENERIC-UP since does not support SMP
gonzo [Wed, 19 Oct 2016 02:03:30 +0000 (02:03 +0000)]
Move SOC_BRCM_BCM2837 to GENERIC-UP since does not support SMP

7 years agobcm2835_bsc.c should be compiled only if SOC_BRCM_BCM2837 is enabled
gonzo [Wed, 19 Oct 2016 02:02:21 +0000 (02:02 +0000)]
bcm2835_bsc.c should be compiled only if SOC_BRCM_BCM2837 is enabled