Commit Graph

209892 Commits

Author SHA1 Message Date
Ed Schouten
38526a2cf1 Sync in the latest CloudABI system call definitions.
Some time ago I made a change to merge together the memory scope
definitions used by mmap (MAP_{PRIVATE,SHARED}) and lock objects
(PTHREAD_PROCESS_{PRIVATE,SHARED}). Though that sounded pretty smart
back then, it's backfiring. In the case of mmap it's used with other
flags in a bitmask, but for locking it's an enumeration. As our plan is
to automatically generate bindings for other languages, that looks a bit
sloppy.

Change all of the locking functions to use separate flags instead.

Obtained from:	https://github.com/NuxiNL/cloudabi
2016-03-31 18:50:06 +00:00
John Baldwin
80f3b01958 Remove #ifdef's from various structures used in the cxgbe/cxl driver.
This provides a constant ABI and layout for these structures (especially
struct adapter) avoiding some foot shooting.

Discussed with:	np
Sponsored by:	Chelsio Communications
2016-03-31 18:36:50 +00:00
John Baldwin
b4f1d267b7 Rework handling of thread sleeps before timers are working.
Previously, calls to *sleep() and cv_*wait*() immediately returned during
early boot.  Instead, permit threads that request a sleep without a
timeout to sleep as wakeup() works during early boot.  Sleeps with
timeouts are harder to emulate without working timers, so just punt and
panic explicitly if any thread tries to use those before timers are
working.  Any threads that depend on timeouts should either wait until
SI_SUB_KICK_SCHEDULER to start or they should use DELAY() until timers
are available.

Until APs are started earlier this should be a no-op as other kthreads
shouldn't get a chance to start running until after timers are working
regardless of when they were created.

Reviewed by:	kib
Sponsored by:	Netflix
Differential Revision:	https://reviews.freebsd.org/D5724
2016-03-31 18:10:29 +00:00
Edward Tomasz Napierala
ac3c9819ab Refactor; no functional changes.
MFC after:	1 month
Sponsored by:	The FreeBSD Foundation
2016-03-31 17:32:28 +00:00
John Baldwin
4d805eacfa Tidy up the unmapped I/O code in qphysio.
- Move some blocks around to reduce the number of 'if (unmap)' checks.
- Use 'pbuf == NULL' instead of 'unmap'.
- Use nitems.
- Pull an assignment out of an if expression.

Reviewed by:	kib
Sponsored by:	Chelsio Communications
2016-03-31 17:27:30 +00:00
Bryan Drewery
fb71c286e8 WITHOUT_TOOLCHAIN: Skip building of h_raw.
-fsanitize does not seem to work when a --sysroot is specified and there
is no <sysroot>/usr/lib/clang/3.8.0/lib/freebsd/libclang_rt.ubsan_standalone-*.a.

Sponsored by:	EMC / Isilon Storage Division
2016-03-31 17:27:17 +00:00
Bryan Drewery
ce6c8db5c6 LIB32+WITHOUT_TOOLCHAIN: Fix build by staging includes.
This is the same fix as r297281 for the normal build.

Sponsored by:	EMC / Isilon Storage Division
2016-03-31 17:27:14 +00:00
Bryan Drewery
c0f5aeb032 WITHOUT_TOOLCHAIN: Fix build of rtld.
MK_TOOLCHAIN==no disables building and installing of pic archives.
c_pic.a is still needed for rtld though so force it to build in lib/libc
and link directly to the objdir version of it for rtld.

Somehow this has been broken since r148725.

Sponsored by:	EMC / Isilon Storage Division
2016-03-31 17:27:01 +00:00
Edward Tomasz Napierala
c4563b16f5 Improve comments.
MFC after:	1 month
Sponsored by:	The FreeBSD Foundation
2016-03-31 17:15:03 +00:00
Navdeep Parhar
b03384114d Add wait_event_interruptible_timeout to linuxkpi.
Submitted by:	Krishnamraju Eraparaju @ Chelsio
Reviewed by:	hselasky@
Sponsored by:	Chelsio Communications
Differential Revision:	https://reviews.freebsd.org/D5776
2016-03-31 17:11:58 +00:00
Edward Tomasz Napierala
b450d4479d Fix overflows, making it impossible to add negative amounts using rctl(8).
MFC after:	1 month
Sponsored by:	The FreeBSD Foundation
2016-03-31 17:00:47 +00:00
Zbigniew Bodek
4764669155 Fix number of the enabled VFs in VNIC
nic->num_vf_en is set based on the number of the enabled LMACs.
This number should not be overwritten later by any routine.
Instead it should fail PCI_IOV_ADD_VF() so that available VFs
with the corresponding LMACs will attach whereas other, disabled
VFs will fail with the proper error code.
Error signaling (due to improper number of VFs requested) is also moved
from PCI_IOV_INIT() to PCI_IOV_ADD_VF().

This will be reworked when multiple queue sets are enabled but for
now this is the correct behavior of the driver.

Obtained from: Semihalf
Sponsored by:  Cavium
2016-03-31 16:44:32 +00:00
Bryan Drewery
5a8d10d763 We don't support DPLIBS.
Sponsored by:	EMC / Isilon Storage Division
2016-03-31 16:09:59 +00:00
Christian Brueffer
d848415659 Fix minor problems caught by mandoc -Tlint. 2016-03-31 15:16:22 +00:00
Bryan Drewery
8f399aba4d Define OBJTOP earlier if possible for use in targets.
Sponsored by:	EMC / Isilon Storage Division
2016-03-31 14:48:17 +00:00
Zbigniew Bodek
36a947e91e Don't omit m_dup() for non-writeable mbufs that need checksum calculation
If the driver is not active or link is down the packet could remain
non-writeable. This commit makes all mbufs enqueued to the driver's
ring buffer to have correct attributes.

Pointed out by: wma
Reviewed by:    wma
Obtained from:  Semihalf
Sponsored by:   Cavium
Differential Revision: https://reviews.freebsd.org/D5800
2016-03-31 13:23:43 +00:00
Edward Tomasz Napierala
9b0488ed2a Remove NULL checks after M_WAITOK allocations, which - by definition - can
never return NULL.

Reviewed by:	arybchik@
MFC after:	1 month
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D5773
2016-03-31 13:20:02 +00:00
Zbigniew Bodek
316e15b4cc Fix MAC address configuration for VNIC
The FDT description is as follows:
- phy-handle, reg, qlm-mode, mac-address are under nodes in bgx0/1 node
- phy nodes (pointed by phy-handle) are under MDIO even though they may
  not be connected through to MDIO. In those nodes they do not contain
  MAC address or etc.

This commit changes parsing of the FDT nodes for BGX so that it can
obtain correct MAC address for a given PHY.

Reviewed by:   wma
Obtained from: Semihalf
Sponsored by:  Cavium
Differential Revision: https://reviews.freebsd.org/D5781
2016-03-31 13:13:38 +00:00
Zbigniew Bodek
7c617ace70 Improve TX path of the VNIC driver
- Avoid memory leak when nicvf_tx_mbuf_locked() fails
- Introduce nicvf_xmit_locked() routine that uses drbr_peek(),
  drbr_advance() or drbr_putback() for a specific ifnet.
  This gives more clear and efficient design as well as
  prevents from dropping mbufs that where not sent due to temporary
  lack of descriptors.
- Add missing ETHER_BPF_MTAP() hook

Pointed out by: yongari
Reviewed by:    wma
Obtained from:  Semihalf
Sponsored by:   Cavium
Differential Revision: https://reviews.freebsd.org/D5534
2016-03-31 13:10:29 +00:00
Tony Finch
8efb5aa133 Fix whois queries for ARIN AS numbers.
The ARIN whois server likes AS number queries to be in the form
"a 8075" rather than "as7085".
2016-03-31 12:13:01 +00:00
Zbigniew Bodek
055dba6df1 Fix typo in the VNIC's PF function name
Should be add_vf not addr_vf.
2016-03-31 12:10:17 +00:00
Zbigniew Bodek
5bf8f18273 Disable MSI-x for AHCI on Alpine plattform
Changes introduced to AHCI code adding support for MSI-x
caused interrupt storm on Alpine boards.
This is unintended behaviour so added quirk to omit this functionality.

Reviewed by:   mav
Submitted by:  Marcin Mazurek <mma@semihalf.com>
Obtained from: Semihalf
Sponsored by:  Annapurna Labs
Differential Revision: https://reviews.freebsd.org/D4301
2016-03-31 11:18:52 +00:00
Andrew Turner
f2f21faf62 Add support for 4 level pagetables. The userland address space has been
increased to 256TiB. The kernel address space can also be increased to be
the same size, but this will be performed in a later change.

To help work with an extra level of page tables two new functions have
been added, one to file the lowest level table entry, and one to find the
block/page level. Both of these find the entry for a given pmap and virtual
address.

This has been tested with a combination of buildworld, stress2 tests, and
by using sort to consume a large amount of memory by sorting /dev/zero. No
new issues are known to be present from this change.

Reviewed by:	kib
Obtained from:	ABT Systems Ltd
Relnotes:	yes
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D5720
2016-03-31 11:07:24 +00:00
Hans Petter Selasky
9ad5ce9d01 Fix bugs in currently unused bit searching loop.
MFC after:	3 days
Sponsored by:	Mellanox Technologies
2016-03-31 06:19:15 +00:00
Adrian Chadd
6b7b2d80ed Add support for the Nuvoton NCT5104D.
Make it compile only for i386/amd64 for now as it's been tested there.
It's quite possible it'll show up elsewhere and we can enable it
for other architectures later.

Tested:

* PC Engines APU1C4

Submitted by:	Daniel Wyatt <daniel@dewyatt.com>
Reviewed by:	adrian, loos
Differential Revision:	https://reviews.freebsd.org/D5389
2016-03-31 04:57:38 +00:00
Bryan Drewery
1ac0fb85bf hosttools: Trim unneeded directories.
These should only be build tools that are in various Makefile.depend
as host dependencies.  Anything toolchain related is handled by
toolchain and bootstrap-tools currently.

Sponsored by:	EMC / Isilon Storage Division
2016-03-31 03:04:26 +00:00
Pedro F. Giffuni
8f07cb00a5 restore(8): fix use of uninitialized value.
Prevent uninitialized use of scalar newvol when jumping to gethdr.

CID:	1006491
2016-03-31 02:01:11 +00:00
George V. Neville-Neil
ce223fb715 Unbreak the RSS/PCBGROUp build. 2016-03-31 00:53:23 +00:00
Bryan Drewery
0d0ef32951 DIRDEPS_BUILD: Don't reset OBJROOT in sub-makes.
MAKEOBJDIRPREFIX is set to blank and exported from MAKELEVEL0 along
with OBJROOT exported.  In sub-makes OBJROOT is recalculated with
an empty MAKEOBJDIRPREFIX though.

Sponsored by:	EMC / Isilon Storage Division
2016-03-31 00:26:40 +00:00
Bryan Drewery
3d02549f51 Regenerate 2016-03-30 23:56:43 +00:00
Bryan Drewery
e558fb72b9 Remove FAST_DEPEND reference missed in r297434. 2016-03-30 23:53:12 +00:00
Bryan Drewery
d043a786e8 Fix the external GCC build after r297271 by setting -L <sysroot>/usr/lib.
GCC does add <sysroot>/usr/lib to the library search path but it comes after
/usr/local/lib which can find ports libraries such as libedit.so.  The
bad path comes in as /usr/local/lib/gcc/x86_64-portbld-freebsd11.0/5.3.0/../../../
which corresponds to <prefix>/lib.

This partially reverts r297271.

Pointyhat to:	bdrewery
Sponsored by:	EMC / Isilon Storage Division
2016-03-30 23:50:29 +00:00
Bryan Drewery
497e80911e Remove the old depend (mkdep) code and make FAST_DEPEND the one true way.
Reviewed by:	emaste, hselasky (partial), brooks (brief)
Discussed on:	arch@
Sponsored by:	EMC / Isilon Storage Division
Differential Revision:	https://reviews.freebsd.org/D5742
2016-03-30 23:50:23 +00:00
Bryan Drewery
4f1c85df14 show-valid-targets: Indent each target 2 spaces.
Sponsored by:	EMC / Isilon Storage Division
2016-03-30 22:26:14 +00:00
Bryan Drewery
cfbf3971dc Remove redundant code imported into dirdeps.mk in r290956.
Sponsored by:	EMC / Isilon Storage Division
2016-03-30 21:31:34 +00:00
Bryan Drewery
700cb7f9eb show-valid-targets: Organize all targets by the all_machine_list.
Sponsored by:	EMC / Isilon Storage Division
2016-03-30 18:55:58 +00:00
Bryan Drewery
b9e557296b Move hosttools to Makefile.depend.host so it shows under host targets in show-valid-targets.
Sponsored by:	EMC / Isilon Storage Division
2016-03-30 18:40:09 +00:00
Bryan Drewery
506ef4b10b show-valid-targets: Show host targets and also order all of the targets.
Sponsored by:	EMC / Isilon Storage Division
2016-03-30 18:39:41 +00:00
Luiz Otavio O Souza
191004d586 Enable SPI1 on Beaglebone Black.
SPI1 was chosen because SPI0 shares the gpio pins with I2C1.

Sponsored by:	Rubicon Communications (Netgate)
2016-03-30 17:32:14 +00:00
Luiz Otavio O Souza
66002d4088 Use the AM33XX_IOPAD() MACRO which is easier to read (uses the same offset
of TRM).

While here remove i2c2_pins, it is already defined in
am335x-bone-common.dtsi.

Sponsored by:	Rubicon Communications (Netgate)
2016-03-30 17:18:49 +00:00
Jamie Gritton
7ab25e3d18 Use osd_reserve / osd_jail_set_reserved, which is known to succeed.
Also don't work around nonexistent osd_register failure.
2016-03-30 17:05:04 +00:00
Luiz Otavio O Souza
8f74c88a73 Add basic FDT support for the mx25l SPI flash.
Sponsored by:	Rubicon Communications (Netgate)
2016-03-30 17:00:33 +00:00
Jamie Gritton
320d842101 Add osd_reserve() and osd_set_reserved(), which allow M_WAITOK allocation
of an OSD array,
2016-03-30 16:57:28 +00:00
Alexander Motin
30a0e024ee Plug open count leak on zvol rename.
MFC after:	2 weeks
2016-03-30 16:54:18 +00:00
Alexander Motin
b39dea9308 Switch from using make_dev_p() to make_dev_s() to close races. 2016-03-30 16:48:57 +00:00
Luiz Otavio O Souza
e5185f3e2f Bump up the read and write timeouts. The old value was too small for low
speed transfers.

Sponsored by:	Rubicon Communications (Netgate)
2016-03-30 16:26:00 +00:00
Ed Maste
a38e4f5cc6 libc: stop exporting cerror
i386 stopped exporting .cerror in r240152, and likewise for amd64 in
r240178. It is not used by other libraries on any platform, so apply
the same change to the remaining architectures.

Reviewed by:	jhibbits, jilles
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D5774
2016-03-30 14:42:09 +00:00
Pedro F. Giffuni
cc4cacc736 freopen(3): prevent uninitialized errno.
Revert completley r297408 (and r297407): this ends up touching errno,
which we are not allowed to do.

Pointed out by:	ache, bde
2016-03-30 13:26:35 +00:00
Hans Petter Selasky
4d36338081 Add new USB ID to UDL driver.
Submitted by:	Matthias Petermann <matthias@petermann-it.de>
PR:		201084
2016-03-30 10:05:52 +00:00
Adrian Chadd
d475bf2310 [bwn] fix time_before -> ieee80211_time_before()
Noticed by: Jia-Shiun Li <jiashiun@gmail.com>
2016-03-30 06:48:09 +00:00