Add a hook that allows a machine to override the default kernel text
protection bits. This is needed by mac68k which must map a portion
of the kernel text read/write (roughly the first 8KB of the kernel
address space) as that's where it needs to place the vector table plus
the "low ram" variable area needed by the Mac ROMs.
The hook is such that the entire kernel text is mapped with the specified
PTE bits, and then machdep code can come back later to perform any fixups
as needed (e.g. re-mapping &start to &etext read-only) once the kernel is
running on its MMU tables.
While here, add one more PMAP_MACHINE_CHECK_BOOTSTRAP_ALLOCATIONS check
if allocation of additional segment table pages is needed (unlikely, but
this check is needed in case it does happen).
powerpc/elf_machdep.h: Use psABI spellings and group symbols into psABI/local groups.
The prior spellings have been kept around for backward compatibility.
Permit this file to be used alongside <sys/elfdefinitions.h>.
PR lib/59564
Pull in some code from OpenBSD and adapt to our net80211 stack.
The result seems to be stable (no more firmware panics and
unknown firmware events). The driver now also sets (and
upgrades) transmit rates.
Tested with
- Intel AC 3168
- Intel AC 7265
- Intel AC 8000
- Intel AC 8265
AC 3168 now also uses a more recent firmware (in a separate commit).
When using a SC16IS7xx device in interrupt polling mode it was pretty
abusive to the I2C or SPI bus, and beat up the USB bus pretty badly as
the kthread ran all of the time checking to see if an interrupt
occurred.
Take advantage of the enable and disable calls that the general com.c
code supports for the purpose of doing power management and use those
to start, pause and resume the kthread only when the device is
actually open(). There does not effect the use of the GPIO on the
SC16IS7XX as that doesn't use the kthread for anything. There does
not seem to be any particular down side to this change. That is, it
there doesn't seem to be a use case for the device not to be open()
and still want interrupts handled.
Also... apparently the device property is-console and/or
force-console needs to be set to something. Just letting those float
appears to have the chance of introducing random values which are
[9 lines not shown]
xmp: updated to 4.2.0
4.2.0 (20230615):
Changes by Özkan Sezer:
- Fix OS/2 and Amiga builds. OS-specific tweaks.
- DOS Sound Blaster output, adapted from mikmod.
- Build system improvements.
Changes by Emanuel Haupt:
- Make configure detect sndio on FreeBSD
Changes by Alice Rowan:
- Fix mod->xxs out-of-bounds read.
- Fix terminal output for MSYS2.
- Fix crash-on-exit in Windows audio output.
- Fixes to BSD audio output modules.
Changes by Cameron Cawley:
- Support compiling for Windows with OpenWatcom.
- DOS Sound Blaster support using OpenWatcom.
libxmp: updated to 4.6.3
4.6.3 (20250511):
Changes by Alice Rowan:
- Fix crashes when xmp_set_position is used to set a negative position.
Negative positions now correctly return -XMP_ERROR_INVALID.
- Fix crashes when xmp_set_row is used to set a negative row.
Negative positions now correctly return -XMP_ERROR_INVALID.
- Fix hangs when xmp_prev_position is used on the first position of
a sequence which is preceded by an S3M/IT skip marker.
- Fix out-of-bounds reads when xmp_next_position is used at the end of
a 256 position module.
- Fix hangs when seeking to an end-of-module marker caused by these
positions getting assigned a non-existent sequence.
- Document xmp_set_position/xmp_next_position/xmp_prev_position
interactions with xmp_stop_module/xmp_restart_module.
- Fix stack underflow in Pha Packer loader (CVE-2025-47256).
- Slight performance improvements for the Oktalyzer and SFX loaders.
- Fix broken conversion of ProRunner 2.0 pattern data.
[211 lines not shown]
py-time-machine: updated to 3.1.0
3.1.0 (2025-11-21)
Optimize patching of uuid module. By avoiding using unittest.mock, this small overhead from starting time_machine.travel() has been reduced about 20x, from ~600ns to ~30ns by one benchmark.
3.0.0 (2025-11-18)
Remove mocking of time.monotonic() and time.monotonic_ns().
This mocking caused too many issues, such as causing freezes in asyncio event loops (Issue 387), preventing pytest-durations from timing tests correctly (Issue 505), and triggering timeouts in psycopg (Issue 509). The root cause here is that mocking the monotonic clock breaks its contract, allowing it to move backwards when it’s meant to only move forwards.
As an alternative, use unittest.mock to mock the monotonic function for the specific tested modules that need it. That means that your code should import monotonic() or monotonic_ns() directly, so that your tests can mock it in those places only. For example, if your system under test looks like:
# example.py
from time import monotonic
def measurement():
start = monotonic()
...
end = monotonic()
[26 lines not shown]