]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/log
FreeBSD/FreeBSD.git
7 years agoUtilize SYSROOT from r320119 in places where DESTDIR may be wanting WORLDTMP.
bdrewery [Mon, 19 Jun 2017 20:47:24 +0000 (20:47 +0000)]
Utilize SYSROOT from r320119 in places where DESTDIR may be wanting WORLDTMP.

Since buildenv exports SYSROOT all of these uses will now look in
WORLDTMP by default.

sys/boot/efi/loader/Makefile
        A LIBSTAND hack is no longer required for buildenv.

MFC after: 2 weeks
Sponsored by: Dell EMC Isilon

7 years agoIgnore the P_SYSTEM process flag, and do not request
kib [Mon, 19 Jun 2017 20:40:59 +0000 (20:40 +0000)]
Ignore the P_SYSTEM process flag, and do not request
VM_MAP_WIRE_SYSTEM mode when wiring the newly grown stack.

System maps do not create auto-grown stack.  Any stack we handled,
even for P_SYSTEM, must be for user address space.  P_SYSTEM processes
with mapped user space is either init(8) or an aio worker attached to
other user process with aio buffer pointing into stack area.  In either
case, VM_MAP_WIRE_USER mode should be used.

Noted and reviewed by: alc
Sponsored by: The FreeBSD Foundation
MFC after: 1 week

7 years agopoolcommand() (ippool -A and ippool -R) seed takes an argument.
cy [Mon, 19 Jun 2017 19:27:37 +0000 (19:27 +0000)]
poolcommand() (ippool -A and ippool -R) seed takes an argument.

7 years agobuildworld: Define SYSROOT to WORLDTMP.
bdrewery [Mon, 19 Jun 2017 18:08:20 +0000 (18:08 +0000)]
buildworld: Define SYSROOT to WORLDTMP.

This is to allow downstream Makefiles to know for sure they are building
against a sysroot rather than only depending on ${DESTDIR} or other
assumptions.

This also exports it into buildenv.

MFC after: 2 weeks
Sponsored by: Dell EMC Isilon

7 years agoFollow-up r320061: Need to respect make.conf/env LIBDIR overrides.
bdrewery [Mon, 19 Jun 2017 18:08:02 +0000 (18:08 +0000)]
Follow-up r320061: Need to respect make.conf/env LIBDIR overrides.

This fixes the lib32 build from creating all stale .depend files.

X-MFC-With: 320061
MFC after: 1 week
Sponsored by: Dell EMC Isilon

7 years agoAllow negative aio_offset only for the read and write LIO ops on
kib [Mon, 19 Jun 2017 15:17:17 +0000 (15:17 +0000)]
Allow negative aio_offset only for the read and write LIO ops on
device nodes.

Otherwise, the current check of aio_offset == -1LL makes it possible
to pass negative file offsets down to the filesystems. This trips
assertions and is even unsafe for e.g. FFS which keeps metadata at
negative offsets.

Reported and tested by: pho
Reviewed by: jhb
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D11266

7 years agoFlag poolcommand() (ippool -A and ippool -R) command line syntax errors.
cy [Mon, 19 Jun 2017 12:33:22 +0000 (12:33 +0000)]
Flag poolcommand() (ippool -A and ippool -R) command line syntax errors.

7 years agoCheck return value of seteuid() and bail out if we fail.
delphij [Mon, 19 Jun 2017 07:02:52 +0000 (07:02 +0000)]
Check return value of seteuid() and bail out if we fail.

MFC after: 2 weeks

7 years agoallwinner: Configure pins for DTS >= Linux 4.11
manu [Mon, 19 Jun 2017 06:30:04 +0000 (06:30 +0000)]
allwinner: Configure pins for DTS >= Linux 4.11

Starting with DTS from Linux 4.11, the pins list, function, drive and pull
are no longer prefixed with "allwinner,".
Allow the pinctrl driver to handle both case.

7 years agoAdd an entry to UPDATING for the version bump done by r320085.
rmacklem [Sun, 18 Jun 2017 21:53:17 +0000 (21:53 +0000)]
Add an entry to UPDATING for the version bump done by r320085.

7 years agoFix the NFS client/server so that it actually uses the 64bit ino_t filenos.
rmacklem [Sun, 18 Jun 2017 21:48:31 +0000 (21:48 +0000)]
Fix the NFS client/server so that it actually uses the 64bit ino_t filenos.

The code still doesn't use d_off. That will come in a future commit.
The code also removes the checks for servers returning a fileno that
doesn't fit in 32bits, since that should work ok now.
Bump __FreeBSD_version since this patch changes the interface between
the NFS kernel modules.

Reviewed by: kib

7 years agoPut ARM_USE_V6_BUSDMA into the SAM9G20EK reference kernel to try to
imp [Sun, 18 Jun 2017 21:03:53 +0000 (21:03 +0000)]
Put ARM_USE_V6_BUSDMA into the SAM9G20EK reference kernel to try to
track down the unaligned I/O issues we have with at least USB on that
platform.

7 years agoCreate a new option ARM_USE_V6_BUSDMA to force an armv4/5 kernel to
imp [Sun, 18 Jun 2017 21:03:48 +0000 (21:03 +0000)]
Create a new option ARM_USE_V6_BUSDMA to force an armv4/5 kernel to
use the armv6 busdma interface. This interface uses more memory than
the armv4 one, but bounces more data more often so may be more correct
than the armv4 one. It is intended for debugging purposes only at the
moment.

7 years agoInclude the generic cpu.h instead of the v4/v6 specific cpu.h. This
imp [Sun, 18 Jun 2017 21:03:43 +0000 (21:03 +0000)]
Include the generic cpu.h instead of the v4/v6 specific cpu.h. This
one change allows it to be compiled either for v4 or v6.

7 years agoLoad the transmit dma buffer at attach time as well. We don't need to
imp [Sun, 18 Jun 2017 21:03:35 +0000 (21:03 +0000)]
Load the transmit dma buffer at attach time as well. We don't need to
load and unload it all the time since the buffer never changes. In
addition, we were loading it with a hardware spin lock held, which
makes the sleepable lock in busdma (for the bounce pages) trigger a
witness warning, as well as ipend being called with it held by uart,
which made it impossible to unload.

These differences don't matter with the v4 busdma implementation, but
they do with the v6 implementation since the latter likes to bounce
transactions more, and will always do so for Atmel's driver.

It's more efficient as well as being more correct.

7 years agoext2fs: Enable RO huge_file feature support.
pfg [Sun, 18 Jun 2017 20:55:46 +0000 (20:55 +0000)]
ext2fs: Enable RO huge_file feature support.

We can have support for reading ext4 "huge" files but we can't write
(anything) on ext4. and some filesystem. Formally enable the feature so
that we can mount such filesystems.

Submitted by: Fedor Uponov
Differential Revision: https://reviews.freebsd.org/D11209

7 years agoAdd kthread parking support to the LinuxKPI.
markj [Sun, 18 Jun 2017 19:22:05 +0000 (19:22 +0000)]
Add kthread parking support to the LinuxKPI.

Submitted by: kmacy (original version)
Reviewed by: hselasky
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D11264

7 years agoChange blist_alloc()'s allocation policy from first-fit to next-fit so
alc [Sun, 18 Jun 2017 18:23:39 +0000 (18:23 +0000)]
Change blist_alloc()'s allocation policy from first-fit to next-fit so
that disk writes are more likely to be sequential.  This change is
beneficial on both the solid state and mechanical disks that I've
tested.  (A similar change in allocation policy was made by DragonFly
BSD in 2013 to speed up Poudriere with "stressful memory parameters".)

Increase the width of blst_meta_alloc()'s parameter "skip" and the local
variables whose values are derived from it to 64 bits.  (This matches the
width of the field "skip" that is stored in the structure "blist" and
passed to blst_meta_alloc().)

Eliminate a pointless check for a NULL blist_t.

Simplify blst_meta_alloc()'s handling of the ALL-FREE case.

Address nearby style errors.

Reviewed by: kib, markj
MFC after: 5 weeks
Differential Revision: https://reviews.freebsd.org/D11247

7 years agoAdd a driver for the imx6 EPIT timer that can be used as the system
ian [Sun, 18 Jun 2017 18:22:52 +0000 (18:22 +0000)]
Add a driver for the imx6 EPIT timer that can be used as the system
timecounter instead of the GPT timer, freeing up the more flexible GPT
hardware for other uses.  The EPIT driver is a standard (always in the
kernel) driver, and the existing GPT driver is now optional and included
only if you ask for device imx_gpt.

7 years agoOnly register as the platform DELAY() implementation if the setup of the
ian [Sun, 18 Jun 2017 17:26:54 +0000 (17:26 +0000)]
Only register as the platform DELAY() implementation if the setup of the
global timer was successful, since the implementation tries to read it.

Notably, if the platform has a variable-frequency global timer (because
of dynamic frequency scaling), it doesn't set up the global timer for use
as a system timecounter, and in that case it also can't use it for DELAY.
Such platforms use different timer hardware for both timecounter and DELAY.

7 years agoAvoid including list.h in LinuxKPI headers.
markj [Sun, 18 Jun 2017 16:43:57 +0000 (16:43 +0000)]
Avoid including list.h in LinuxKPI headers.

list.h includes a number of FreeBSD headers as a workaround for the
LIST_HEAD name collision. To reduce pollution, avoid including list.h
in commonly used headers when it is not explicitly needed.

Reviewed by: hselasky
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D11249

7 years agoTake "extern int maxbcachebuf" out of sys/param.h, since it breaks the
rmacklem [Sun, 18 Jun 2017 12:28:43 +0000 (12:28 +0000)]
Take "extern int maxbcachebuf" out of sys/param.h, since it breaks the
arm build.

In the arm build, elf_note.S includes sys/param.h and then does an
elf macro called ELFNOTE(). Although the compile error doesn't make
sense to me, I believe it just means that an "extern ..." can't exist
in param.h for this inclusion case.
I suspect adding #if !defined(LOCORE) might fix the build, but this
commit just takes the definition out.
I will ask freebsd-current@ what is the best was to deal with this
and do a subsequent commit after that.

Reported by: melounmichal@gmail.com

7 years agoAdd ZFS to Linux statfs ftype
emaste [Sun, 18 Jun 2017 11:51:03 +0000 (11:51 +0000)]
Add ZFS to Linux statfs ftype

PR: 220086
Reviewed by: cem
MFC after: 3 weeks
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D11252

7 years agoarm: add .arch_extension sec for smc instruction
emaste [Sun, 18 Jun 2017 00:08:38 +0000 (00:08 +0000)]
arm: add .arch_extension sec for smc instruction

Clang 4.0 accepts the smc instruction with or without specifying
.arch_extension sec, but Clang 5.0 produces an error without it.

MFC after: 3 weeks
Sponsored by: The FreeBSD Foundation

7 years agomake.conf: Add the possibility to use another DTC
manu [Sat, 17 Jun 2017 23:34:53 +0000 (23:34 +0000)]
make.conf: Add the possibility to use another DTC

Add a make.conf DTC variable that control which DTC (Device Tree Compiler)
to use.

Reviewed by: bdrewery, imp
Differential Revision: https://reviews.freebsd.org/D9577

7 years agoRemove prototypes for unimplemented LinuxKPI functions.
markj [Sat, 17 Jun 2017 22:52:23 +0000 (22:52 +0000)]
Remove prototypes for unimplemented LinuxKPI functions.

MFC after: 1 week

7 years agoMake MAXBCACHEBUF a tunable called vfs.maxbcachebuf.
rmacklem [Sat, 17 Jun 2017 22:24:19 +0000 (22:24 +0000)]
Make MAXBCACHEBUF a tunable called vfs.maxbcachebuf.

By making MAXBCACHEBUF a tunable, it can be increased to allow for
larger read/write data sizes for the NFS client.
The tunable is limited to MAXPHYS, which is currently 128K.
Making MAXPHYS a tunable or increasing its value is being discussed,
since it would be nice to support a read/write data size of 1Mbyte
for the NFS client when mounting the AmazonEFS file service.

Reviewed by: kib
MFC after: 2 weeks
Relnotes: yes
Differential Revision: https://reviews.freebsd.org/D10991

7 years agoFix Makefiles which override LIBDIR to not add incorrect dependencies into .depend.
bdrewery [Sat, 17 Jun 2017 20:33:11 +0000 (20:33 +0000)]
Fix Makefiles which override LIBDIR to not add incorrect dependencies into .depend.

This fixes these cases which would rebuild every time:
    make[6]: /usr/obj/usr/src/libexec/rtld-elf/tests/libpythagoras/.depend, 1: ignoring stale .depend for /usr/obj/usr/src/tmp/usr/tests/libexec/rtld-elf/libm.a
    make[6]: /usr/obj/usr/src/lib/libxo/tests/encoder/.depend, 1: ignoring stale .depend for /usr/obj/usr/src/tmp/usr/tests/lib/libxo/libxo.a
    make[7]: /usr/obj/usr/src/lib/libthr/tests/dlopen/dso/.depend, 1: ignoring stale .depend for /usr/obj/usr/src/tmp/usr/tests/lib/libthr/dlopen/libpthread.a

The problem is that some Makefiles will override LIBDIR to where they want
their library to install.  bsd.libnames.mk will then use ${LIBDIR} to define
where *existing* libraries are.  This then leads to looking for the
libraries in the *target* place rather than the *expected* place.

We may want to expand this (and all of the other *DIR variables in bsd.own.mk)
into something like what Ports has, a PREFIX and a LOCALBASE.  PREFIX being
where things are being installed to and LOCALBASE being where they already are.

For now store the default expected LIBDIR into LIBDIR_BASE and use that for
library locations.

Reported by: sbruno
MFC after: 1 week
Sponsored by: Dell EMC Isilon

7 years agoRevert r319989 "bnxt(4) Enable LRO support"
sbruno [Sat, 17 Jun 2017 17:42:52 +0000 (17:42 +0000)]
Revert r319989 "bnxt(4) Enable LRO support"

This generates startup LORs and panics when adding elements to bridge
devices. I will document further in https://reviews.freebsd.org/D10681

PR: 220073
Submitted by: dchagin
Reported by: db

7 years agopdwait4(2): Remove documentation of vaporware
cem [Sat, 17 Jun 2017 17:32:40 +0000 (17:32 +0000)]
pdwait4(2): Remove documentation of vaporware

This syscall has never existed and is not at risk of existing any time soon.
Remove documentation referencing it, which has been wrong since FreeBSD 9.

Reported by: allanjude@

7 years agoarm: set appropriate section flags for .init_pagetable
emaste [Sat, 17 Jun 2017 14:46:14 +0000 (14:46 +0000)]
arm: set appropriate section flags for .init_pagetable

The arm kernel linker scripts place the .init_pagetable section in .bss,
but .init_pagetable had no section flags set, and so did not match the
expected flags for .bss.

GNU ld silently ignores this case, but lld reports an error:

ld: error: incompatible section flags for .bss
>>> locore.o:(.init_pagetable): 0x0
>>> output section .bss: 0x3

PR: 220055
Submitted by: mmel, Rafael Espíndola
MFC after: 3 weeks
Sponsored by: The FreeBSD Foundation

7 years ago- Fix incorrect values in the computation of CCK and OFDM transmit power
kevlo [Sat, 17 Jun 2017 14:39:25 +0000 (14:39 +0000)]
- Fix incorrect values in the computation of CCK and OFDM transmit power
  for the rtl8188eu chipset
- Rename struct r92c_rom member names: s/channel_plan/reserved5/,
  s/xtal_calib/channel_plan to be compliant with definitions of the efuse
  in vendor hal_pg.h

7 years agoManually load tunable CPU quirks.
mmel [Sat, 17 Jun 2017 14:36:25 +0000 (14:36 +0000)]
Manually load tunable CPU quirks.
These are needed too early, far before SYSINIT is processed.

Reported by: zbb
Pointy hat to: mmel
MFC after: 3 weeks
MFC with:  r319896

7 years agoDo not leak syslog_mutex on cancellation.
kib [Sat, 17 Jun 2017 11:29:59 +0000 (11:29 +0000)]
Do not leak syslog_mutex on cancellation.

Make syslog(3) resilent to cancellation occuring in supported deferred
mode.  Code must unlock syslog_mutex on cancel, install the cleanup
handler.

Diagnosed and tested by: eugen
Discussed with: dchagin
Sponsored by: The FreeBSD Foundation
MFC after: 1 week

7 years agoCorrect translations between abridged and full x87 tags.
kib [Sat, 17 Jun 2017 11:25:31 +0000 (11:25 +0000)]
Correct translations between abridged and full x87 tags.

Reported and tested by: karnajit wangkhem <karnajitw@gmail.com>
Sponsored by: The FreeBSD Foundation
MFC after: 1 week

7 years agoUndefine temporary macro.
br [Sat, 17 Jun 2017 07:36:46 +0000 (07:36 +0000)]
Undefine temporary macro.
This fixes world build.

Sponsored by: DARPA, AFRL

7 years agoPages that are passed to swap_pager_putpages() should already be fully
alc [Sat, 17 Jun 2017 03:05:25 +0000 (03:05 +0000)]
Pages that are passed to swap_pager_putpages() should already be fully
dirty.  Assert that they are fully dirty rather than redundantly calling
vm_page_dirty() on them.

Reviewed by: kib, markj
MFC after: 1 week
X-MFC after: r319932

7 years agoo Move logic that determines size of the input image into its own
sobomax [Sat, 17 Jun 2017 02:58:31 +0000 (02:58 +0000)]
o Move logic that determines size of the input image into its own
  file. That logic has grown quite significantly now;

o add a special handling for the snapshot images. Those have some
  extra headers at the end of the image and we don't need those
  in the output image really.

MFC after: 6 weeks

7 years agoUPDATING: sort 20170531 entry correctly (from r319664)
emaste [Sat, 17 Jun 2017 01:27:15 +0000 (01:27 +0000)]
UPDATING: sort 20170531 entry correctly (from r319664)

7 years agoAdd UPDATING note about kevent(2) ABI change.
kib [Sat, 17 Jun 2017 01:09:18 +0000 (01:09 +0000)]
Add UPDATING note about kevent(2) ABI change.

Sponsored by: The FreeBSD Foundation

7 years agoBump __FreeBSD_version for r320043, struct event 64-bit data.
kib [Sat, 17 Jun 2017 01:06:48 +0000 (01:06 +0000)]
Bump __FreeBSD_version for r320043, struct event 64-bit data.

Sponsored by: The FreeBSD Foundation

7 years agoRegen.
kib [Sat, 17 Jun 2017 00:58:19 +0000 (00:58 +0000)]
Regen.

7 years agoAdd abstime kqueue(2) timers and expand struct kevent members.
kib [Sat, 17 Jun 2017 00:57:26 +0000 (00:57 +0000)]
Add abstime kqueue(2) timers and expand struct kevent members.

This change implements NOTE_ABSTIME flag for EVFILT_TIMER, which
specifies that the data field contains absolute time to fire the
event.

To make this useful, data member of the struct kevent must be extended
to 64bit.  Using the opportunity, I also added ext members.  This
changes struct kevent almost to Apple struct kevent64, except I did
not changed type of ident and udata, the later would cause serious API
incompatibilities.

The type of ident was kept uintptr_t since EVFILT_AIO returns a
pointer in this field, and e.g. CHERI is sensitive to the type
(discussed with brooks, jhb).

Unlike Apple kevent64, symbol versioning allows us to claim ABI
compatibility and still name the new syscall kevent(2).  Compat shims
are provided for both host native and compat32.

Requested by: bapt
Reviewed by: bapt, brooks, ngie (previous version)
Sponsored by: The FreeBSD Foundation
Differential revision: https://reviews.freebsd.org/D11025

7 years agoStyle.
kib [Fri, 16 Jun 2017 23:41:13 +0000 (23:41 +0000)]
Style.

Sponsored by: The FreeBSD Foundation
MFC after: 1 week
X-Differential revision: https://reviews.freebsd.org/D11025

7 years agoMove the description of kern.kq_calloutmax sysctl into a new paragraph
kib [Fri, 16 Jun 2017 23:25:11 +0000 (23:25 +0000)]
Move the description of kern.kq_calloutmax sysctl into a new paragraph
for better presentation.

Sponsored by: The FreeBSD Foundation
MFC after: 3 days

7 years agoStart a new sentence on the new line.
kib [Fri, 16 Jun 2017 23:17:31 +0000 (23:17 +0000)]
Start a new sentence on the new line.

Sponsored by: The FreeBSD Foundation
MFC after: 3 days

7 years agoTCP Wrappers: tcpdchk (tcp wrapper configuration checker) and tcpdmatch
sbruno [Fri, 16 Jun 2017 22:32:23 +0000 (22:32 +0000)]
TCP Wrappers: tcpdchk (tcp wrapper configuration checker) and tcpdmatch
(tcp wrapper oracle) warning fixes via edits to the C code files

contrib/tcp_wrappers/fakelog.c
  Warnings for each of functions: openlog( ), vsyslog( ), VARARGS( ),
  closelog( )
    warning: type specifier missing, defaults to 'int' [-Wimplicit-int]
    warning: control reaches end of non-void function [-Wreturn-type]
  Fixes:
      Explicitly added specification of function type to void for each
        function, suppressing both warnings for each function listed
contrib/tcp_wrappers/inetcf.c
  Warnings:
      warning: incompativle redeclaration of library function 'malloc'
        note: 'malloc' is a builtin with type 'void *(unsigned long)'
      warning: implicit declaration of function 'check_path' is invalid in C99
        [-Wimplicit-function-declaration]
  Fixes:
      Removed redeclaration of malloc on line 21
      Included library <stdlib.h> in the code which contains the malloc( )
        function in it's library
      Included scaffold.h header file in the code that contains check-path( )
        function
contrib/tcp_wrappers/scaffold.c
  Warnings:
      warning: implicitly declaring library function 'exit' with type
        'void (int) __attribute__((noreturn))' [-Wimplicit-function-declaration]
      note: include the header <stdlib.h> or explicitly provide a declaration
        for 'exit'
  Fixes:
      Included <stdlib.h> in the code which contains the exit( ) function in
      it's library
contrib/tcp_wrappers/tcpdchk.c
  Warnings:
      warning: implicit declaration of function 'getopt' is invalid
        in C99 [-Wimplicit-function-declaration]
      warning: implicit declaration of function 'atoi' is invalid
        in C99 [-Wimplicit-function-declaration]
  Fixes:
      Included the specific function <getopt.h> library to the code
      Included<stdlib.h> to the code which contains the atoi( ) function in
        the library
contrib/tcp_wrappers/tcpdmatch.c
  Warnings:
      warning: implicit declaration of function 'getopt' is invalid in C99
        [-Wimplicit-function-declaration]
  Fixes:
      Included<stdlib.h> to the code which contains the getopt( ) function in
        the library

Submitted by: Aaron Prieger <aprieger@llnw.com>
Reviewed by: vangyzen
Sponsored by: Limelight Networks
Differential Revision: https://reviews.freebsd.org/D10995

7 years agoWITH_META_MODE: End each ERROR_CMD CMD line with ';'.
bdrewery [Fri, 16 Jun 2017 21:48:42 +0000 (21:48 +0000)]
WITH_META_MODE: End each ERROR_CMD CMD line with ';'.

This makes it easier to debug multi-line command failures.

X-MFC-With: r319862
MFC after: 1 week
Sponsored by: Dell EMC Isilon

7 years agoFix more incorrect library directories fix 'stale .depend' rebuilds.
bdrewery [Fri, 16 Jun 2017 21:37:05 +0000 (21:37 +0000)]
Fix more incorrect library directories fix 'stale .depend' rebuilds.

Reported by: sbruno
MFC after: 3 days
Sponsored by: Dell EMC Isilon

7 years agoFix LIBAMU location to fix 'stale .depend' rebuilds in usr.sbin/amd.
bdrewery [Fri, 16 Jun 2017 20:47:12 +0000 (20:47 +0000)]
Fix LIBAMU location to fix 'stale .depend' rebuilds in usr.sbin/amd.

This originally came in r275052.

Reported by: sbruno
MFC after: 3 days
Sponsored by: Dell EMC Isilon

7 years agoAdd chain loader support for loader
tsoome [Fri, 16 Jun 2017 20:08:44 +0000 (20:08 +0000)]
Add chain loader support for loader

Implement simple chain loader in loader; this update does add chain command,
taking device or file as argument to load and start new boot loader.

In case of BIOS, the chain will read the boot block to address 0000:7c00 and
jumps on it. In case of UEFI, the chain command is to be used with efi
application, typically stored in EFI System Partition.

The update also does add simple menu entry, if the variable chain_disk is set.
The value of the variable chain_disk is used as argument for chain loading.

Relnotes: yes
Differential Revision: https://reviews.freebsd.org/D5992

7 years agoDecode arguments to sched_* family of system calls.
jhb [Fri, 16 Jun 2017 20:03:09 +0000 (20:03 +0000)]
Decode arguments to sched_* family of system calls.

This includes decoding both scheduler policy constants and the sched_param
structure for sched_get_priority_max(), sched_get_priority_min(),
sched_getparam(), sched_getscheduler(), sched_rr_get_interval(),
sched_setparam(), and sched_setscheduler().

7 years agoQuiesce clang warning while building lpc.
sbruno [Fri, 16 Jun 2017 20:00:39 +0000 (20:00 +0000)]
Quiesce clang warning while building lpc.

usr.sbin/lpr/lpc/lpc.c
  Warning
    passing 'char *[20]' to parameter of type 'const char **' discards
    qualifiers in nested pointer types
    [-Wincompatible-pointer-types-discards-qualifiers]
  Fix:
     Explicitly cast the variable "margv" to const char ** only for it's
     use as a parameter to suppress the error

Submitted by: Aaron Prieger <aprieger@llnw.com>
Sponsored by: Limelight Networks
Differential Revision: https://reviews.freebsd.org/D11019

7 years agobsdinstall: correct comment after r320007
emaste [Fri, 16 Jun 2017 19:26:33 +0000 (19:26 +0000)]
bsdinstall: correct comment after r320007

Submitted by: vangyzen

7 years agobsdinstall: use consistent EFI configuration across platforms
emaste [Fri, 16 Jun 2017 18:58:48 +0000 (18:58 +0000)]
bsdinstall: use consistent EFI configuration across platforms

- increase arm64 EFI partition to 200M, as x86
- use EFI_BOOTPART_SIZE and EFI_BOOTPART_PATH macros on x86
- increase ZFS EFI partition to 200M

PR: 201898
Reviewed by: allanjude, manu
MFC after: 3 days
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D11239

7 years agoRevert change to description introduced in r320002
zbb [Fri, 16 Jun 2017 17:31:56 +0000 (17:31 +0000)]
Revert change to description introduced in r320002

Currently some ARM platforms implement their own platform_probe_and_attach()
function and other use common routine that calls platform's PLATFORM_ATTACH
method.
Keep the old description to match the preferred way of naming things.

Pointed out by: andrew

7 years agoEnhance Armada 38x SoC identification string
zbb [Fri, 16 Jun 2017 17:18:29 +0000 (17:18 +0000)]
Enhance Armada 38x SoC identification string

Add hw_clockrate and CPU frequency, basing on sample-at-reset
configuration.

Submitted by: Arnaud Ysmal <arnaud.ysmal@stormshield.eu>
Marcin Wojtas <mw@semihalf.com>
Obtained from: Stormshield, Semihalf
Sponsored by: Stormshield
Reviewed by: andrew
Differential revision: https://reviews.freebsd.org/D10899

7 years agoDocument st_flags in the stat(2).
sobomax [Fri, 16 Jun 2017 15:09:43 +0000 (15:09 +0000)]
Document st_flags in the stat(2).

Approved by: mckusick,vangyzen,jilles
Differential Revision: https://reviews.freebsd.org/D10852

7 years agoDon't print all timezones during installworld.
trasz [Fri, 16 Jun 2017 14:19:23 +0000 (14:19 +0000)]
Don't print all timezones during installworld.

Submitted by: Alex Richardson <alr48@cl.cam.ac.uk>
Reviewed by: gjb
MFC after: 1 month
Sponsored by: DARPA, AFRL
Differential Revision: https://reviews.freebsd.org/D11154

7 years agoMinor style improvements to pmap_remap_vm_attr()
zbb [Fri, 16 Jun 2017 13:53:02 +0000 (13:53 +0000)]
Minor style improvements to pmap_remap_vm_attr()

Use correct platform_ function name in the comment and remove
redundant tabs.

7 years agoFix typo in "Marvell" string
zbb [Fri, 16 Jun 2017 10:16:24 +0000 (10:16 +0000)]
Fix typo in "Marvell" string

Change Marwell to Marvell

Pointed out by: Ravi Pokala <rpokala@mac.com>

7 years agoMerge libxo-0.8.2:
phil [Fri, 16 Jun 2017 06:29:21 +0000 (06:29 +0000)]
Merge libxo-0.8.2:
- xohtml: Add "-w" option to pull support files from gh_pages
- Add "upload-xohtml-files" target to publish support files in gh_pages/
- add HISTORY/AUTHORS section to man pages
- xohtml: Add div.units as standard CSS text
- Don't treat values as format strings; they are not
- add "-p" to "mkdir -p build" in setup.sh
- add test case for {U:%%} (from df.c)
- detect end-of-string in '%' and '' escaping
- make xo_simple_field, for common simple cases
- xohtml: nuke "n" in "echo" commands
- rename "format" to "fmt" for consistency; same for "str" to "value"
- update test cases

Submitted by: phil

7 years agoWITH_META_MODE: Don't try showing command if .ERROR_META_FILE is empty.
bdrewery [Fri, 16 Jun 2017 04:28:10 +0000 (04:28 +0000)]
WITH_META_MODE: Don't try showing command if .ERROR_META_FILE is empty.

This was sed'ing on stdin for failing .PHONY targets.

Reported by: Mark Millard
X-MFC-With: r319862
MFC after: 1 week
Sponsored by: Dell EMC Isilon

7 years agoCheck if pthread_create(3) successfully created the thread prior to call
araujo [Fri, 16 Jun 2017 01:26:01 +0000 (01:26 +0000)]
Check if pthread_create(3) successfully created the thread prior to call
pthread_join(3). The variable tid is not yet initialized in case
the authentication fails at early stage, that would lead pthread_join be
called with an uninitialized variable.

CID: 1375950
Reported by: Coverity, cem
Reviewed by: cem
MFC after: 3 weeks.
Sponsored by: iXsystems, Inc.
Differential Revision: https://reviews.freebsd.org/D11150

7 years ago[ar71xx] migrate all of the duplicate configuration out into a shared config file.
adrian [Fri, 16 Jun 2017 00:44:23 +0000 (00:44 +0000)]
[ar71xx] migrate all of the duplicate configuration out into a shared config file.

This brings the default configurations (drivers, net80211 settings, etc) and some
of the shared configuration into std.AR_MIPS_BASE.  I haven't yet moved the
-current settings (witness, memguard, etc) into it.

This should simplify building a lot of the same test images for my MIPS AP board
development and testing.

This is a work in progress; it's not designed to be perfect!

7 years agocopy(9): clarify that copystr() does not return EFAULT
vangyzen [Thu, 15 Jun 2017 21:34:43 +0000 (21:34 +0000)]
copy(9): clarify that copystr() does not return EFAULT

The previous wording implied that copystr() could return EFAULT.

MFC after: 6 weeks
Sponsored by: Dell EMC

7 years agobnxt(4): Implement temporary workaround in driver to report supported media
sbruno [Thu, 15 Jun 2017 21:14:48 +0000 (21:14 +0000)]
bnxt(4):  Implement temporary workaround in driver to report supported media
types that are currently unavailable from the firmware.  e.g. 10G, 25G, 50G
& 100G

Submitted by: bhargava.marreddy@broadcom.com
Reviewed by: venkatkumar.duvvuru@broadcom.com
Differential Revision: https://reviews.freebsd.org/D10816

7 years agobnxt(4) Enable LRO support
sbruno [Thu, 15 Jun 2017 21:06:03 +0000 (21:06 +0000)]
bnxt(4) Enable LRO support

iflib - Handle out of order packet delivery from hardware in support of LRO

Out of order updates to rxd's is fixed in r315217. However, it is not
completely fixed.  While refilling the buffers, iflib is not considering
the out of order descriptors. Hence, it is refilling sequentially.
"idx" variable in _iflib_fl_refill routine is incremented sequentially.
By doing refilling sequentially, it will override the SGEs that
are *IN USE* by other connections.  Fix is to maintain a bitmap of
rx descriptors and differentiate the used one with unused one and
refill only at the unused indices.  This patch also fixes a
few bugs in bnxt, related to the same feature.

Submitted by: bhargava.marreddy@broadcom.com
Reviewed by: shurd@
Differential Revision: https://reviews.freebsd.org/D10681

7 years agoPlug read(2) and write(2) on listening sockets.
glebius [Thu, 15 Jun 2017 20:11:29 +0000 (20:11 +0000)]
Plug read(2) and write(2) on listening sockets.

7 years agoReplace md(4) usage in diskless(8) script rc.initdiskless with tmpfs(5).
stevek [Thu, 15 Jun 2017 20:06:41 +0000 (20:06 +0000)]
Replace md(4) usage in diskless(8) script rc.initdiskless with tmpfs(5).
Need to multiply the size of the disk passed to mount_md by 512 as mdmfs
expects number of 512-byte blocks while tmpfs size option wants number of
bytes.

Reviewed by: brooks
Approved by: sjg (mentor)
Obtained from: Juniper Networks, Inc.
Differential Revision: https://reviews.freebsd.org/D11106

7 years agocxgbe(4): Fix per-queue netmap operation.
np [Thu, 15 Jun 2017 19:56:59 +0000 (19:56 +0000)]
cxgbe(4):  Fix per-queue netmap operation.

Do not attempt to initialize netmap queues that are already initialized
or aren't supposed to be initialized.  Similarly, do not free queues
that are not initialized or aren't supposed to be freed.

PR: 217156
Sponsored by: Chelsio Communications

7 years agoRevert r319921 which seems to cause NFS booting assertion panics in
sbruno [Thu, 15 Jun 2017 17:46:20 +0000 (17:46 +0000)]
Revert r319921 which seems to cause NFS booting assertion panics in
various configurations.

Reported by: pho@

7 years agoSome minor improvements to vnode_pager_generic_putpages().
kib [Thu, 15 Jun 2017 14:34:33 +0000 (14:34 +0000)]
Some minor improvements to vnode_pager_generic_putpages().
- Add asserts that the pages to write are dirty.  The last page, if
  partially written, is only required to be dirty, while completely
  written pages should have all dirty bit set.
- Use uintmax_t to print vm_page pindexes.
- Use NULL instead of casted zero.
- Remove if () test which duplicated the loop ending condition.
- Miscellaneous style fixes.

Reviewed by: alc, markj (previous version)
Tested by: pho
Sponsored by: The FreeBSD Foundation
MFC after: 1 week

7 years agoUse static device numbering instead of dynamic one when creating
hselasky [Thu, 15 Jun 2017 11:56:40 +0000 (11:56 +0000)]
Use static device numbering instead of dynamic one when creating
mlx4en network interfaces. This prevents infinite unit number growth
typically when the mlx4en driver is used inside virtual machines which
support runtime PCI attach and detach.

MFC after: 3 days
Sponsored by: Mellanox Technologies

7 years agoUpdate jemalloc to 5.0.0.
jasone [Thu, 15 Jun 2017 07:15:05 +0000 (07:15 +0000)]
Update jemalloc to 5.0.0.

7 years agoUse nitems() from sys/param.h.
araujo [Thu, 15 Jun 2017 06:48:36 +0000 (06:48 +0000)]
Use nitems() from sys/param.h.

MFC after: 4 weeks.

7 years agoUse nitems() from sys/param.h.
araujo [Thu, 15 Jun 2017 06:46:40 +0000 (06:46 +0000)]
Use nitems() from sys/param.h.

MFC after: 4 weeks.

7 years agoInitialize variables and use byteorder(9) instead of aliasing char array
araujo [Thu, 15 Jun 2017 06:21:01 +0000 (06:21 +0000)]
Initialize variables and use byteorder(9) instead of aliasing char array
buf via uint32_t pointer.

CID: 1375949
Reported by: Coverity, cem
Reviewed by: cem
MFC after: 3 weeks
Sponsored by: iXsystems, Inc.
Differential Revision: https://reviews.freebsd.org/D11153

7 years agoddb show socket debugging
rlibby [Thu, 15 Jun 2017 04:49:12 +0000 (04:49 +0000)]
ddb show socket debugging

Display the mbuf/cluster count for a sockbuf and fix a couple whitespace
issues in the output.

Reviewed by: jhb, markj (both previous version)
Approved by: markj (mentor)
Sponsored by: Dell EMC Isilon
Differential Revision: https://reviews.freebsd.org/D11062

7 years agoUpgrade STORMFW to 8.30.0.0 and ecore version to 8.30.0.0
davidcs [Thu, 15 Jun 2017 02:45:43 +0000 (02:45 +0000)]
Upgrade STORMFW to 8.30.0.0 and ecore version to 8.30.0.0
Add support for pci deviceID 0x8070 for QLE41xxx product line which
supports 10GbE/25GbE/40GbE

MFC after:5 days

7 years agoCorrect example directory location.
cy [Thu, 15 Jun 2017 00:59:02 +0000 (00:59 +0000)]
Correct example directory location.

Submitted by: olivier@
MFC after: 3 days

7 years agolld: Add armelf emulation mode
emaste [Wed, 14 Jun 2017 19:36:28 +0000 (19:36 +0000)]
lld: Add armelf emulation mode

Obtained from: LLD r305375

7 years agolld: Fix weak symbols on arm and aarch64
emaste [Wed, 14 Jun 2017 18:56:33 +0000 (18:56 +0000)]
lld: Fix weak symbols on arm and aarch64

Given

.weak target
 .global _start
_start:
 b target

The intention is that the branch goes to the instruction after the
branch, effectively turning it on a nop.  The branch adds the runtime
PC, but we were adding it statically too.

I noticed the oddity by inspection, but llvm-objdump seems to agree,
since it now prints things like:

b       #-4 <_start+0x4>

Obtained from:  LLD commit r305212
Differential Revision:  https://reviews.freebsd.org/D11191

Reviewed by: dim, Rafael Espíndola
Obtained from: LLD r305212
MFC after: 3 days

7 years agolld: sort relocations
emaste [Wed, 14 Jun 2017 18:53:33 +0000 (18:53 +0000)]
lld: sort relocations

No functional change; applied to facilitate merge of later LLD commit.

Reviewed by: dim, Rafael Espíndola
Obtained from: LLD r298797
MFC after: 3 days
Differential Revision: https://reviews.freebsd.org/D11190

7 years agoModernize FreeBSD version numbers in freebsd-update(8).
gjb [Wed, 14 Jun 2017 18:34:22 +0000 (18:34 +0000)]
Modernize FreeBSD version numbers in freebsd-update(8).
While here, expand a contraction to make textproc/igor happy.

MFC after: 3 days
Sponsored by: The FreeBSD Foundation

7 years agoMFV r319951: 8311 ZFS_READONLY is a little too strict
avg [Wed, 14 Jun 2017 16:55:47 +0000 (16:55 +0000)]
MFV r319951: 8311 ZFS_READONLY is a little too strict

illumos/illumos-gate@2889ec41c05e9ffe1890b529b3111354da325aeb
https://github.com/illumos/illumos-gate/commit/2889ec41c05e9ffe1890b529b3111354da325aeb

https://www.illumos.org/issues/8311
  Description:
  There was a misunderstanding about the enforcement details of the "Read-only"
  flag introduced for SMB/CIFS compatibility, way back in 2007 in the Sun PSARC
  2007/315 case.
  The original authors thought enforcement of the READONLY flag should work
  similarly as the IMMUTABLE flag. Unfortunately, that enforcement is
  incompatible with the expectations of Windows applications using this feature
  through the SMB service. Applications assume (and the MS File System Algorithms
  MS-FSA confirms they should) that an SMB client can:
  (a) Open an SMB handle on a file with read/write access,
  (b) Set the DOS attributes to include the READONLY flag,
  (c) continue to have write access via that handle.
  This access model is essentially the same as a Unix/POSIX application that
  creates a file (with read/write access), uses fchmod() to change the file mode
  to something not granting write access (i.e. 0444), and then continues to write
  that file using the open handle it got before the mode change.
  Currently, the SMB server works-around this problem in a way that will become
  difficult to maintain as we implement support for SMB3 persistent handles, so
  SMB depends on this fix.
  I've written a test program that can be used to demonstrate this problem, and
  added it to zfs-tests (tests/functional/acl/cifs/cifs_attr_004_pos).
  It currently fails, but will pass when this problem fixed.
  Steps to Reproduce:
    Run the test program on a ZFS file system.
  Expected Results:
    Pass
  Actual Results:
    Fail.

Reviewed by: Sanjay Nadkarni <sanjay.nadkarni@nexenta.com>
Reviewed by: Yuri Pankov <yuri.pankov@nexenta.com>
Reviewed by: Andrew Stormont <andyjstormont@gmail.com>
Reviewed by: Matt Ahrens <mahrens@delphix.com>
Reviewed by: John Kennedy <john.kennedy@delphix.com>
Approved by: Prakash Surya <prakash.surya@delphix.com>
Author: Gordon Ross <gwr@nexenta.com>
MFC after: 2 weeks

7 years agoFix indentation.
markj [Wed, 14 Jun 2017 16:55:23 +0000 (16:55 +0000)]
Fix indentation.

MFC after: 1 week

7 years agoMFV r319948: 5428 provide fts(), reallocarray(), and strtonum()
avg [Wed, 14 Jun 2017 16:42:38 +0000 (16:42 +0000)]
MFV r319948: 5428 provide fts(), reallocarray(), and strtonum()

illumos/illumos-gate@4585130b259133a26efae68275dbe56b08366deb
https://github.com/illumos/illumos-gate/commit/4585130b259133a26efae68275dbe56b08366deb

https://www.illumos.org/issues/5428

Most of the upstream change is not applicable to FreeBSD.
Only the renaming of strtonum to zfs_strtonum is relevant to us.
And we already had it partially done.

Reviewed by: Robert Mustacchi <rm@joyent.com>
Approved by: Joshua M. Clulow <josh@sysmgr.org>
Author: Yuri Pankov <yuri.pankov@nexenta.com>
MFC after: 1 week

7 years agoMFV r319945,r319946: 8264 want support for promoting datasets in libzfs_core
avg [Wed, 14 Jun 2017 16:31:36 +0000 (16:31 +0000)]
MFV r319945,r319946: 8264 want support for promoting datasets in libzfs_core

illumos/illumos-gate@a4b8c9aa65a0a735aba318024a424a90d7b06c37
https://github.com/illumos/illumos-gate/commit/a4b8c9aa65a0a735aba318024a424a90d7b06c37

https://www.illumos.org/issues/8264
  Oddly there is a lzc_clone function, but no lzc_promote function.

Reviewed by: Andriy Gapon <avg@FreeBSD.org>
Reviewed by: Matthew Ahrens <mahrens@delphix.com>
Reviewed by: Dan McDonald <danmcd@kebe.com>
Approved by: Dan McDonald <danmcd@kebe.com>
Author: Andrew Stormont <astormont@racktopsystems.com>
MFC after: 1 week

7 years agoCheck return value from soaccept().
glebius [Wed, 14 Jun 2017 16:13:20 +0000 (16:13 +0000)]
Check return value from soaccept().

Coverity: 1376209

7 years agoDon't try to assign interrupts to a CPU on single-CPU systems.
jhb [Wed, 14 Jun 2017 13:34:09 +0000 (13:34 +0000)]
Don't try to assign interrupts to a CPU on single-CPU systems.

All interrupts are routed to the sole CPU in that case implicitly.
This is a regression in EARLY_AP_STARTUP.  Previously the 'assign_cpu'
variable was only set when a multi-CPU system finished booting, so
it's value both meant that interrupts could be assigned and that
there was more than one CPU.

PR: 219882
Reported by: ota@j.email.ne.jp
MFC after: 3 days

7 years agoddb show files: fix up file types and whitespace
rlibby [Wed, 14 Jun 2017 07:46:52 +0000 (07:46 +0000)]
ddb show files: fix up file types and whitespace

This makes ddb show files more descriptive and also adjusts the
whitespace to align the columns for non-32-bit architectures.

Reviewed by: cem (previous version), jhb
Approved by: markj (mentor)
Differential Revision: https://reviews.freebsd.org/D11061

7 years agoActually add the mpc85xx_get_platform_clock() function.
jhibbits [Wed, 14 Jun 2017 04:26:37 +0000 (04:26 +0000)]
Actually add the mpc85xx_get_platform_clock() function.

Follow up r319935 by actually committing the mpc85xx_get_platform_clock()
function.  This function was created to facilitate other development, and I
thought I had committed it earlier.

Some blocks depend on the platform clock rather than the system clock.
The System clock is derived from the platform clock as one-half the
platform clock.  Rewrite mpc85xx_get_system_clock() to use the new
function.

Pointy-hat to: jhibbits

7 years agoUse mpc85xx_get_platform_clock() instead of rolling our own.
jhibbits [Wed, 14 Jun 2017 04:16:37 +0000 (04:16 +0000)]
Use mpc85xx_get_platform_clock() instead of rolling our own.

Now that we have a single source for the platform clock, we don't need to
roll our own in every user.

7 years agoDon't call vm_pager_page_unswapped() when writing or deleting a dirty page.
markj [Wed, 14 Jun 2017 03:55:11 +0000 (03:55 +0000)]
Don't call vm_pager_page_unswapped() when writing or deleting a dirty page.

The swap space backing a clean page is released when it is first dirtied,
so there's no need to attempt to release swap space when the page is
already dirty.

Reviewed by: alc
MFC after: 1 week

7 years agoFree the request page if an I/O error occurs while reading from swap.
markj [Wed, 14 Jun 2017 03:50:02 +0000 (03:50 +0000)]
Free the request page if an I/O error occurs while reading from swap.

After such a failure, the page is invalid, so there's point in keeping it
around. Moreover, such pages were not being inserted into the active queue,
making them unreclaimable until a subsequent write or delete made them
valid.

Reported by: alc
Reviewed by: alc (previous revision)
MFC after: 1 week

7 years agoFix handling of subpage BIO_WRITE and BIO_DELETE requests on swap MDs.
markj [Wed, 14 Jun 2017 03:45:26 +0000 (03:45 +0000)]
Fix handling of subpage BIO_WRITE and BIO_DELETE requests on swap MDs.

Such requests would previously mark the entire page as valid, which was
incorrect since nothing guaranteed that the page's contents had been
initialized. This change also modifies subpage BIO_DELETEs so that the
entire page is marked dirty, rather than only a subrange. There is no
benefit to creating partially dirty swap pages.

Reviewed by: alc, kib (previous version)
MFC after: 3 days

7 years agoChase r319848: remove -v option from getopt() call.
cy [Wed, 14 Jun 2017 02:42:38 +0000 (02:42 +0000)]
Chase r319848: remove -v option from getopt() call.

7 years ago-n (do nothing) is not a commmand option.
cy [Wed, 14 Jun 2017 02:41:22 +0000 (02:41 +0000)]
-n (do nothing) is not a commmand option.

7 years agoUse nitems(..) when computing `max` instead of the longhand version of
ngie [Wed, 14 Jun 2017 02:28:10 +0000 (02:28 +0000)]
Use nitems(..) when computing `max` instead of the longhand version of
the same logic

MFC after: 1 month