fix the m68ksf build.
avoid using bare ${MACHINE_ARCH} when referring to subdirs that
mknative-gcc creates, and avoid overwriting ${GCC_MACHINE_ARCH}
if it is already set.
fix a test in libgomp, and explain why it exists.
sun4v: Try to use the hypervisor interrupt api version 1 if version 2 fails.
Version 3 systems are working ok - trying to fix the setup when a version < 2
system is used.
Not tested on yet.
exec_elf: Nix diagnostic messages for all (unknown) fd.o notes.
Same as for unknown GNU notes. Shaves off a tiny bit of code in
non-DIAGNOSTIC builds, saves us some trouble when fd.o invariably
adds more metadata not relevant to execution semantics.
PR kern/60901: Unknown elf note type 1081871370
hppa: Enable fortify/ssp in userland for progs/libs that opt into it.
The `ssp' part doesn't actually do much (and really I'm not sure why
these options are mixed together) because hppa stack grows up, so
writing past the end of an array won't overwrite the return address,
so stack smashing in this way is extremely unlikely. But the
`fortify' part, which instruments functions like memcpy/read/getcwd
with bounds checks where statically known, is still useful to catch
buffer overruns.
ok `I guess' nick@
PR lib/60858: fortuitous embarrassment: fortify is all kinds of busted
Update bind.keys from src/external/mpl/dist/bind.keys.
managed-keys is ancient history and just generated warnings doing
nothing useful. The proper keyword to use is trust-anchors and
this file is now current. The latest root key is only partially
specified as it wasn't published at the time this file was updated,
but enough information is provided for named to download the full
key using RFC 5011.
Fixes PR/52465 and PR/60864
Fix compiler core dumps on MacOS on Apple Silicon (PR toolchain/60904),
by disabling the use of the broken arm64 asm that comes with the present
version of GMP (we can re-enable it when we upgrade).
beaglebone: fix sysctl hw.clk crashing the kernel
The clock gate driver on the beaglebone black did not provide a clock rate function, but a clock rate function is mandatory. This caused a null pointer dereference when running "sysctl hw.clk".
sun4v: Introduce a SAVE_WINREGS macro for future debugging.
To be used for tracing stability issues in the kernel.
The SAVE_WINREGS macro can be called from relevant places
in the locore.s file to dump the contents of all the register windows.
Function for printing out the contents of the debug area will be
added later.
Import rsu(4), a driver for Realtek's 802.11n FullMAC USB Wi-Fi adapters.
This is a port of the OpenBSD/FreeBSD driver by Damien Bergamini.
The hardware is less common as a discrete adapter than urtwn(4),
perhaps due to being more expensive, or being targeted at embedded
systems with slow CPUs. Adapters pop up on eBay now and then from
manufacturers like Sitecom. I have two such devices from scouring
eBay.
It is a work-in-progress - the device attaches and detaches but is
not yet usable, so not enabled yet. Committing mostly for easier
review and collaboration.
Fix PR kern/60896 queue-length bugs in RAIDframe configuration.
Support queue lengths up to 255 (256 could technically be supported
but this could cause trouble if a user boots an old kernel with a new RAID
set, so we clamp at 255).
Correctly update in-core and on-disk queue lengths when they are changed
via raidctl for an existing set. Don't treat a mismatched queue length
in the on-disk label as an error, avoiding breaking RAID sets in some
reconstruction-to-spare cases.
Fix raidctl create to use the documented default queue length of 100
instead of 1.
am335x, am18xx: make the sdmmc drivers get along with each other
The am18xx and the am335x share a DMA controller used by the sdmmc controller. However, the am335x starts a transfer, then the DMA while the am18xx starts the DMA, then the transfer.
Currently, the DMA driver resets DMA events when starting a transfer, which breaks the am335x because it start the DMA after the transfer, so events can already accumulate. This commit rolls back the change that resets DMA events when starting a transfer.
However, this is now an issue on the am18xx, where due to a hardware quirk, it is possible for DMA events to accumulate on transfers that don't use the DMA. The fix is to always reset the DMA events on transfers with and without DMA.