gjb [Mon, 2 Feb 2015 21:09:26 +0000 (21:09 +0000)]
Overhaul the relnotes page to reorganize the sections.
With the previous layout, the majority of the release
notes were categorized under one main "What's New"
section, which in addition to making the page difficult
to parse relevant bits, also had a few rendering issues,
such as 'Note' blocks visually not appearing as if they
pertain to a particular change.
This change removes the "What's New" section, integrating
it with the introduction. In addition, each section now
provides a brief description of its contents, broken down
further into a subsection for each "topic", making it much
easier to find a specific topic in the page.
MFC after: 3 days
X-MFC-Note: direct commit, not a merge
Sponsored by: The FreeBSD Foundation
markj [Mon, 2 Feb 2015 20:48:31 +0000 (20:48 +0000)]
Let the standard deviation of the empty set be 0. This is consistent with
the behaviour for averages, and fixes a crash that can occur when attempting
to print a stddev aggregation containing no elements:
hselasky [Mon, 2 Feb 2015 17:32:50 +0000 (17:32 +0000)]
The flowid and hashtype should be copied from the originating packet
when fragmenting IP packets to preserve the order of the packets in a
stream. Else the resulting fragments can be sent out of order when the
hardware supports multiple transmit rings.
vsevolod [Mon, 2 Feb 2015 13:03:04 +0000 (13:03 +0000)]
Reorganize the list of addresses associated with an interface and group them
based on the address family. This should help to recognize interfaces with
multiple AF (e.g. ipv4 and ipv6) with many aliases or additional addresses. The
order of addresses inside a single group is strictly preserved.
Improve the scope_id output for AF_INET6 families, as the
current approach uses hexadecimal string that is basically the ID of an
interface, whilst this information is already depicted by getnameinfo(3) call.
Therefore, now ifconfig just prints the scope of address as it is defined in
2.4 of RFC 2373.
hselasky [Mon, 2 Feb 2015 11:32:15 +0000 (11:32 +0000)]
Optimise allocation of USB DMA structures. By default don't double map
allocations if only one element should be allocated per page
cache. Make one allocation per element compile time configurable. Fix
a comment while at it.
hselasky [Mon, 2 Feb 2015 11:06:41 +0000 (11:06 +0000)]
Section 3.2.9 in the XHCI specification about control transfers says
that we should use a normal-TRB if there are more TRBs extending the
data-stage TRB. Add a dedicated state bit to the internal USB transfer
flags to handle this case.
mav [Sun, 1 Feb 2015 21:50:28 +0000 (21:50 +0000)]
CTL LUN mapping rewrite.
Replace iSCSI-specific LUN mapping mechanism with new one, working for any
ports. By default all ports are created without LUN mapping, exposing all
CTL LUNs as before. But, if needed, LUN mapping can be manually set on
per-port basis via ctladm. For its iSCSI ports ctld does it via ioctl(2).
The next step will be to teach ctld to work with FibreChannel ports also.
Respecting additional flexibility of the new mechanism, ctl.conf now allows
alternative syntax for LUN definition. LUNs can now be defined in global
context, and then referenced from targets by unique name, as needed. It
allows same LUN to be exposed several times via multiple targets.
While there, increase limit for LUNs per target in ctld from 256 to 1024.
Some initiators do not support LUNs above 255, but that is not our problem.
smh [Sun, 1 Feb 2015 20:00:08 +0000 (20:00 +0000)]
Add a quirk to limit AHCI MSI vectors to one
In 10.1-RELEASE the default number of MSI vectors used was changed from one
to as many vectors as the HW supports.
This change resulted in an ahci timeouts regression when running on AMD
SB7x0/SB8x0/SB9x0 hardware, so its now limited to 1 MSI by default using
this new quirk.
ian [Sun, 1 Feb 2015 18:21:16 +0000 (18:21 +0000)]
Do not skip setting the memory 'reg' property if the fdt data already
contains one. Published dts source often includes a minimal default
memory definition and expects it to be overridden by the bootloader after
determining the actual physical memory in the system.
andrew [Sun, 1 Feb 2015 09:50:33 +0000 (09:50 +0000)]
FreeBSD expects _Unwind_GetGR, _Unwind_SetGR, and _Unwind_SetIP to be
symbols and not macros. Make this so. This fixes a few ports that try to
link against these functions but fail as they previously didn't exist.
dim [Sat, 31 Jan 2015 23:08:29 +0000 (23:08 +0000)]
Revert r256642, not only to reduce diffs against upstream libcxxrt, but
also because it is the wrong approach: comparing typeinfo names deeply
causes trouble if two loaded DSOs use independent types of the same
name.
In addition, this particular change was never merged to FreeBSD 10.x and
9.x, so let's get rid of it before it ends up in an 11.x release.
markj [Sat, 31 Jan 2015 22:53:18 +0000 (22:53 +0000)]
Fix a number of DTrace scripting tests:
* Avoid hard-coding program paths.
* Use -x when searching for oneself in ps(1) output.
* Use the correct keyword (egid instead of pgid) in tst.egid.ksh.
markj [Sat, 31 Jan 2015 22:38:43 +0000 (22:38 +0000)]
Fix some proc provider tests:
* Avoid hard-coding program paths, except when it's necessary in order to
override the use of a shell builtin.
* Translate struct proc through psinfo_t so that we can access process
arguments via the pr_psargs field of psinfo_t.
* Replace uses of pstop and prun with kill(1).
kib [Sat, 31 Jan 2015 21:43:46 +0000 (21:43 +0000)]
Do not qualify the mcontext_t *mcp argument for set_mcontext(9) as
const. On x86, even after the machine context is supposedly read into
the struct ucontext, lazy FPU state save code might only mark the FPU
data as hardware-owned. Later, set_fpcontext() needs to fetch the
state from hardware, modifying the *mcp.
The set_mcontext(9) is called from sigreturn(2) and setcontext(2)
implementations and old create_thread(2) interface, which throw the
*mcp out after the set_mcontext() call.
Reported by: dim
Discussed with: jhb
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
kib [Sat, 31 Jan 2015 21:31:53 +0000 (21:31 +0000)]
Update directory times immediately after an entry is created or
removed. Postponing it until tmpfs_getattr() is called causes
discordant values reported for file times vs. directory times.
Reported and tested by: madpilot
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
andrew [Sat, 31 Jan 2015 19:55:12 +0000 (19:55 +0000)]
Stop using load-multiple with lr and pc. This has been deprecated in ARMv7
and clang 3.6 warns about it. As this is used in libc and we build it with
-Werror this warning becomes an error stopping the build.
nwhitehorn [Sat, 31 Jan 2015 19:42:08 +0000 (19:42 +0000)]
Relocate kernel to high address space (a static + 64 MB for now) to avoid
conflicts with the Linux host kernel. This lets you kexec an unmodified
GENERIC64.
nwhitehorn [Sat, 31 Jan 2015 19:16:51 +0000 (19:16 +0000)]
Build the powerpc64 kernel as a position-independent executable. At startup,
it processes its own ELF relocations and can be loaded and run in place at
any physical/virtual address.
pfg [Sat, 31 Jan 2015 16:34:39 +0000 (16:34 +0000)]
MFV r277981:
Upstream fixes for issues found with afl (Issue #417).
- Fix length checking.
Check both the captured length and the on-the-wire length (the latter
*should* be greater than or equal to the former, but that's not
guaranteed).
Add some additional length checks, so neither caplen nor length
underflow.
If we stop dissecting because the packet is too short, return 1, not 0,
as we've "dissected" what we can; 0 means "this is LLC+SNAP with an OUI
of 0 and an unknown Ethertype".
loos [Sat, 31 Jan 2015 15:50:19 +0000 (15:50 +0000)]
Implement a new method to retrieve the gpiobus reference from a GPIO
controller.
The gpiobus is responsible to keep track of the used pins and serialize
the access to pins.
Some of these features are important to devices that do not descend
directly from gpiobus and as such cannot make use of its features (one
classic example is gpioc that is attached to the GPIO controller and could
not, until now, make use of the gpiobus locking).
kib [Sat, 31 Jan 2015 12:27:40 +0000 (12:27 +0000)]
The dependency chain for priority-inheritance mutexes could be
subverted by userspace into cycle. Both umtx_propagate_priority() and
umtx_repropagate_priority() would then loop infinitely, owning the
spinlock.
Check for the cycle using standard Floyd' algorithm before doing the
pass in the affected functions. Add simple check for condition of
tricking the thread into a wait for itself, which could be easily
simulated by usermode without race.
Found by: Eric van Gyzen <eric@vangyzen.net>
In collaboration with: Eric van Gyzen <eric@vangyzen.net>
Tested by: pho
MFC after: 1 week
kib [Sat, 31 Jan 2015 12:27:18 +0000 (12:27 +0000)]
POSIX states that write(2) "shall mark for update the last data
modification and last file status change timestamps of the file".
Currently, tmpfs only modifies ctime when file was extended. Since
r277828 followed tmpfs_write(), mmaped writes also do not modify
ctime.
Fix this, by updating both ctime and mtime for writes to tmpfs files.
Sponsored by: The FreeBSD Foundation
MFC after: 2 weeks
cperciva [Fri, 30 Jan 2015 23:26:03 +0000 (23:26 +0000)]
Fix 7-year-old typo: The default directory searched for fortunes is
/usr/share/games/fortune, not /usr/games/fortune (which is the path
to the fortune binary itself).