Commit Graph

189070 Commits

Author SHA1 Message Date
Ian Lepore
2d1e88da97 Add a couple more required TLB flushes.
These should have been part of r264129, they are part of the overall set
of changes that got several weeks of testing.  I must have fumbled them
while merging various patchsets.
2014-04-06 00:17:41 +00:00
Rui Paulo
916d4d8692 Need to include machine/fdt.h. 2014-04-05 23:20:49 +00:00
Rui Paulo
8d956715c3 Add fsl,imx53. 2014-04-05 23:20:04 +00:00
Rui Paulo
87c6502bba Follow files.imx51 and add vt support. 2014-04-05 23:16:51 +00:00
Warner Losh
0e30c5c0b4 Make the vmm code compile with gcc too. Not entirely sure things are
correct for the pirbase test (since I'd have thought we'd need to do
something even when the offset is 0 and that test looks like a
misguided attempt to not use an uninitialized variable), but it is at
least the same as today.
2014-04-05 22:43:23 +00:00
Warner Losh
b7df74ee5a Make this compile with gcc.
Submitted by: royger@
2014-04-05 22:43:18 +00:00
Warner Losh
3e5a6bd16d Make some unwise casts. On i386 these casts wind up being safe. Rather
than disturb the API, go with these casts to shut gcc up.
2014-04-05 22:42:00 +00:00
Marcel Moolenaar
086036aad3 Fix typo (s/teh/the/) in previous commit.
Pointed out by: rpaulo (thanks!)
2014-04-05 22:28:46 +00:00
Marcel Moolenaar
4c710b6756 Do not prevent processes from making changes to the baudrate or the
CLOCAL and HUPCL control flags. There are legit reasons for allowing
those to be changed. When /etc/ttys has the "3wire" type (without a
baudrate) for the serial port that is the low-level console, then
this change has no effect.

Obtained from:	Juniper Networks, Inc.
2014-04-05 22:25:10 +00:00
George V. Neville-Neil
c1ed96c2bb Speed up the lookup of interfaces when there are a large number
of them, such in a system with a large number of VLANs.

Submitted by: Nick Rogers
MFC after: 2 weeks
2014-04-05 22:13:32 +00:00
Konstantin Belousov
14fcb4b4f8 Use realloc(9) instead of doing the reallocation inline.
Submitted by:	bde
MFC after:	1 week
2014-04-05 20:44:52 +00:00
Jilles Tjoelker
fc57f9bb5a lib: Remove duplicate SUBDIR libnv.
With SUBDIR_PARALLEL, duplicates in ${SUBDIR} cause harmless but verbose
warnings.
2014-04-05 19:48:19 +00:00
Eitan Adler
72e73a252b run.4: D1 is an mdoc macro, so we have to escape it.
Obtained from:	DragonFlyBSD (357f4b5)
2014-04-05 19:08:16 +00:00
Marcel Moolenaar
0fa211be96 In freebsd32_sendmsg(), replace the call to sockargs() followed by a
call to freebsd32_convert_msg_in() with freebsd32_copyin_control() to
readin and convert in a single step. This makes it simpler to put all
the control messages in a single mbuf or mbuf cluster as per the
limitations imposed upon us by ip6_setpktopts().

The logic is as follows:
1.  Go over the array of control messages to determine overall size
    and include extra padding for proper alignment as we go.
2.  Get a mbuf or mbuf cluster as needed or fail if the overall
    (adjusted) size is larger than a cluster.
3.  Go over the array of control messages again, but now copy them
    into kernel space and into aligned offsets.
4.  Update the length of the control message to take padding between
    the header and the data into account (but not for padding added
    between one control message and the next).

Obtained from:	Juniper Networks, Inc.
MFC after:	1 week
2014-04-05 18:56:01 +00:00
Edward Tomasz Napierala
e40779571e Remove hack to pass STAILQ to a function and do it properly instead.
Sponsored by:	The FreeBSD Foundation
2014-04-05 18:41:08 +00:00
Marcel Moolenaar
4ed06f2924 Accept RFC 2292 option values so that RFC 2292 compliant programs that
are unaware of RFC 3542 can construct control messages.

The kernel disallows mixing RFC 2292 behaviour with RFC 3542 behaviour.
Only sockets that have specifically been marked as using the RFC 2292
API can use RFC 2292 specific options. This is all good and well, but
libc itself seems inconsistent with this.

The root cause of this inconsistency seems to relate to the definitions
of IPV6_HOPOPTS and IPV6_DSTOPTS. They are defined in RFC 2292 and re-used
in RFC 3542, yet have distinct values in the kernel. It's for this reason
that the kernel also has definitions for IPV6_2292HOPOPTS and
IPV6_2292DSTOPTS. Not so in libc.

For example: some program calls inet6_option_init() (defined by RFC 2292)
with the RFC 2292 defined IPV6_HOPOPTS and IPV6_DSTOPTS. Before RFC 3542,
this was translated to values of 22 and 23 (resp.) The libc implementation
correctly checks that only options IPV6_HOPOPTS and IPV6_DSTOPTS are given
(as per RFC 2292) but since these defines have taken on the values defined
by RFC 3542 (values 49 and 50 resp,) rejects the correct option values
(22 and 23) passed said program and returns -1.

The precisie fix is to have inet6_option_init() and friends only accept the
RFC 2292 defined IPV6_HOPOPTS & IPV6_DSTOPTS, but that breaks other code
(like mld6query(8)), which seem to not be aware of RFC 3542 and how it
hi-jacked the option names. So the best fix is to accept the options from
both.

Obtained from:	Juniper Networks, Inc.
MFC after:	1 week
2014-04-05 18:32:40 +00:00
Marcel Moolenaar
eef9f6d258 The getlogin_basic() function can return a 0 status with a NULL
pointer for the login name (result). Make sure to handle that
case properly. Improve robustness by checking namelen and then
nul-terminating the provided buffer to simplify subsequent logic.

Obtained from:	Juniper Networks, Inc.
MFC after:	1 week
2014-04-05 18:14:58 +00:00
Rui Paulo
9fe6f910fd Remove code under PMAP_CACHE_VIVT that is not compiled anymore.
This is for ARMv4/ARMv5 and it doesn't belong in ARMv6 code.

Reviewed by:	ian
2014-04-05 18:13:28 +00:00
Warner Losh
cf57243a46 Convert sort to using newer MK_ convention. 2014-04-05 18:01:49 +00:00
Warner Losh
26ff68c00c Document upcoming build option WITH_SORT_THREADS 2014-04-05 18:00:45 +00:00
Warner Losh
040c0dc77f Use MK_CRYPT=no in preference to WITHOUT_CRYPT here. 2014-04-05 17:54:55 +00:00
Warner Losh
3f483dacb3 use MK_KERBEROS=no in preference to WITHOUT_KERBEROS 2014-04-05 17:54:50 +00:00
Warner Losh
a5fc5b6223 Convert from WITHOUT_SYSCALL_COMPAT to MK_SYSCALL_COMPAT. 2014-04-05 17:54:43 +00:00
Warner Losh
40b86d77c7 The proper way to request no man pages currently is NO_MAN=xxx. Use it
in preference to the user WITHOUT_MAN knob, which should never be set
in normal src Makefiles.
2014-04-05 17:54:36 +00:00
Luiz Otavio O Souza
db8a14ec74 - Fix the setup of interrupts for banks 2 and 3 on AM335x.
On AM335x each one of the four GPIO banks has two physical interrupt
    lines, so we now allocate resources and setup our interrupt handler for
    all the (8) available interrupts.

    On OMAP3 and OMAP4 there is only one interrupt for each GPIO bank (6
    banks, 6 interrupts), but there are two set of registers where the
    first one is used to setup the delivery of interrupts to the MPU and
    the second set, setup the delivery of interrupts to the DSP.

    On AM335x, each set of registers controls each one of the interrupt
    lines.

- Remove nonexistent registers for OMAP4 and AM335x, replace their use with
  the correct ones for these SoCs.

- Remove stray whitespace.

Based on OMAP3, OMAP4 and AM335x TRMs.

Tested on Beaglebone-black.
2014-04-05 17:53:59 +00:00
Dmitry Chagin
6b57eff4c0 Prevent alq from panic when the invalid alq_file path specified.
MFC after:	1 week
2014-04-05 16:54:47 +00:00
Ruslan Bukin
11a99c6984 Correct the end address of the video frame buffer.
This fixes problem that sometimes display suddenly
goes blank.
2014-04-05 16:38:27 +00:00
Ian Lepore
a9d84a2ba7 Add ioctl(2) calls to uftdi(4) to access bitbang, MPSSE, CPU_FIFO, and
other modes supported by the FTDI serial adapter chips.

In addition to adding the new ioctls, this change removes all the code
that reset the chip at attach and open/close time, and also the code
that turned on RTS/CTS flow control on open without any permission to do
so (that was just always a bug in the driver).

When FTDI chips are configured as GPIO or MPSSE or other special-purpose
uses by an attached serial eeprom, the chip will power on with certain
pins driven or floating, and it's important that the driver not do
anything to the chip to perturb that unless it receives a specific
command to do so.  When used for "plain old serial comms" the chip
powers on into the right mode and never needs to be reset while it's
running to operate properly, so this change is transparent to most users.
2014-04-05 16:08:13 +00:00
Konstantin Belousov
1a5edcf8ea When KN_INFLUX is set on the knote due to kqueue_register() or
kqueue_scan() unlocking the kqueue to call f_event, knote() or
knote_fork() should not skip the knote.  The knote is not going to
disappear during the influx time, and the mutual exclusion between
scan and knote() is ensured by both code pathes taking knlist lock.
The race appears since knlist lock is before kq lock, so KN_INFLUX
must be set, kq lock must be dropped and only then knlist lock can be
taken.  The window between kq unlock and knlist lock causes lost
events.

Add a flag KN_SCAN to indicate that KN_INFLUX is set in a manner safe
for the knote(), and check for it to ignore KN_INFLUX in the knote*()
as needed.  Also, in knote(), remove the lockless check for the
KN_INFLUX flag, which could also result in the lost notification.

Reported and tested by:	Kohji Okuno <okuno.kohji@jp.panasonic.com>
Discussed with:	jmg
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
2014-04-05 14:09:16 +00:00
Alexander Motin
537650f54d Add property and sysctl to control how ZVOLs are exposed to OS.
New ZFS property volmode and sysctl vfs.zfs.vol.mode allow switching ZVOL
between three modes:
 geom -- existing fully functional behavior (default);
 dev -- exposing volumes only as raw disk device file in devfs;
 none -- not exposing volumes outside ZFS.

The "dev" mode is less functional (can't be partitioned, mounted, etc),
but it is faster, and in some scenarios with untrusted consumers safer.
It can be useful for NAS, VM block storages, etc.
The "none" mode may be convenient for backup servers, etc. that don't
need direct data access.

Due to the way ZVOL is integrated with main ZFS code, those property
and sysctl are checked only during pool import and volume creation.

MFC after:	1 month
Sponsored by:	iXsystems, Inc.
2014-04-05 13:01:44 +00:00
Ed Schouten
74a8dceece Add missing userspace bits to <sys/procdesc.h>.
- Include <sys/_types.h> and define pid_t.
- Add __BEGIN_DECLS/__END_DECLS.

In my opinion we should have considered putting the userspace bits in a
different header (e.g., <procdesc.h>), but I think we've already passed
that point.
2014-04-05 11:37:58 +00:00
David Chisnall
c8aeb6b447 Silence a warning with GCC that was breaking the build with Juniper's GCC.
Reviewed by:	marcel
2014-04-05 08:17:48 +00:00
Bryan Drewery
09adfca39f Show error code when failing to destroy a mirror on delay
Sponsored by:	EMC / Isilon Storage Division
MFC after:	2 weeks
2014-04-05 03:01:29 +00:00
Ed Maste
b7bd677fe1 Initialise m_pkthdr via bzero instead of explicitly zeroing each member
Sponsored by:	The FreeBSD Foundation
2014-04-04 21:09:06 +00:00
Ian Lepore
78806b5ec8 Enable SMP for Pandaboard. 2014-04-04 20:58:45 +00:00
Ian Lepore
de6a23b300 Switch wandboards over to the common IMX6 kernel config, which has SMP
enabled.  Also switch IMX6 to use SCHED_ULE.

The now-unreferenced WANDBOARD.common config will be deleted after giving
folks who may be including it a heads-up to switch to IMX6.
2014-04-04 20:42:44 +00:00
Ed Schouten
2ad6bba714 Correct return type of pdfork(2).
The pdfork(2) man page states:

	"pdfork() returns a PID, 0 or -1, as fork(2) does."

As it returns a PID, the return type should obviously be pid_t. As int
and pid_t have the same size on all architectures, this change does not
affect the ABI in any way.
2014-04-04 19:53:45 +00:00
Ian Lepore
e69ba7c708 We don't support any ARM systems with an ISA bus and don't need a freelist
of memory to support ISA addressing limitations.
2014-04-04 19:35:38 +00:00
Julio Merino
3be7751dca Fix variable type to avoid printf formatter warning.
This fixes the build under powerpc64 where gcc complains about a mismatch
between a %zd printf formatter and an int variable passed to it.
2014-04-04 18:10:11 +00:00
Ed Maste
3d79118758 Connect sys/boot/amd64 to the build
Sponsored by:	The FreeBSD Foundation
2014-04-04 18:07:21 +00:00
Baptiste Daroussin
62c4a4622b Prevent XDTP from being a relative path
XDTP is used as the default SYSROOT for clang and thus should be an absolute path.

PR:		arm/188249
Submitted by:	Edgar Martinez <wink15987@gmail.com>
Reviewed by:	imp
2014-04-04 17:58:33 +00:00
Ian Lepore
24ca71778e Allocate per-cpu resources for doing pmap_zero_page() and pmap_copy_page().
This is performance enhancement rather than bugfix.
2014-04-04 17:57:49 +00:00
Ian Lepore
a2f5bf29cd Fix TLB maintenance issues for armv6 and armv7.
- Add cpu_cpwait to comply with the convention.
  - Add missing TLB invalidations, especially in pmap_kenter & pmap_kremove
    with distinguishing between D and ID pages.
  - Modify pmap init/bootstrap invalidations to ID, just to be safe.
  - Fix TLB-inv and PTE_SYNC ordering.

This combines changes submitted by ian@, cognet@, and Wojciech Macek,
which have all been tested together as a unit.
2014-04-04 17:45:39 +00:00
Ian Lepore
028a159090 Fix TTB set operation for armv7.
Perform sychronization (by "isb" barrier) after TTB is set.  This
is done to ensure that TLB invalidation always executes after
TTB modification and operates on valid CP15 data (per specification).

Submitted by:	Wojciech Macek <wma@semihalf.com>
Reviewed by:	ian@, cognet@
2014-04-04 17:39:05 +00:00
Sean Bruno
4cd27111b9 Add PCI-IDs for TBD Gen9 RAID controller HBAs from HP to ciss(4)
Submitted by:	Benesh, Scott <scott.benesh@hp.com>
MFC after:  2 weeks
Sponsored by:	Yahoo! Inc.
2014-04-04 17:01:49 +00:00
Andrey V. Elsukov
e064642c9a The check for local address spoofing lacks ifaddr locking.
Remove these loops and use in_localip() and in6_localip()
functions instead.

MFC after:	1 week
Sponsored by:	Yandex LLC
2014-04-04 16:58:32 +00:00
Andrey V. Elsukov
b48f1835a7 Remove unused variable.
MFC after:	1 week
Sponsored by:	Yandex LLC
2014-04-04 15:57:27 +00:00
Andrey V. Elsukov
c91a8e0ebe Remove dead code.
MFC after:	1 week
Sponsored by:	Yandex LLC
2014-04-04 15:55:38 +00:00
Sean Bruno
b728a04684 Change kernel/rootfs hints to use search patterns instead of absolute
locations.
2014-04-04 15:52:45 +00:00
Edward Tomasz Napierala
c485ab142f Rework the iSCSI PDU transmit code to avoid lock contention and coalesce
PDUs before sending.

Sponsored by:	The FreeBSD Foundation
2014-04-04 15:49:37 +00:00