mips: fix rdhwr emulation wrt TLB misses on loading the faulting instruction.
Use tlbp to probe the TLB for an entry for the page containing the
instruction to emulate, and fail to slow path if it doesn't exist.
A TLB miss (nested exception) on the instruction load would otherwise
land in user_gen_exception and clobber this routine's v0, since the
exception PC isn't saved again while EXL is set.
PR/60664 mips: rdhwr emulation corrupts v0 on nested TLB miss...
This patch is based on the diff included in the PR, but updated by me
to improve register save / restore in both the fast and slow paths.
The mf* instructions in user_gen_exception_common are shuffled down
to maintain the same number of stores (4) between each mf* in
user_gen_exception_common and user_gen_exception_common2
The symptoms that this change fixes match those described in
[2 lines not shown]
Split pyro_intr_establish() into a stub which locates the softc
from the pdb (used by pyro routines) and pyro_intr_establish_sc()
which does the work.
In pyro_softc, save a pointer to our pyro_intr_establish_sc().
This allows us to call the correct pyro_intr_establish_sc() from devices
that use pyro interrupts but are not (pci) children of pyro, i.e.
ebus @ mainbus and firei2c*.
kern: Nix SS_ISABORTING.
This was a vestige of an earlier revision of the .fo_restart
mechanism; it is never set by anything in the kernel, it has been
supplanted by SS_RESTARTSYS, and it serves no further purpose.
t_fdrestart: Test socket connect and accept too.
The logic for connect, it turns out, is missing .fo_restart tests.
PR kern/57659: closing pipe writefd fails to wake concurrent write on
same writefd
t_sigio: Set SA_SIGINFO|SA_RESTART as originally intended.
Lost this in a round of refactoring, and it just kinda worked by
accident, oops!
PR kern/59056: poll POLLHUP bugs
PR kern/60782: SIGIO says socket ready for send before send does
PR kern/60783: tty: missing siginfo_t in SIGIO
PR kern/60784: pty doesn't deliver SIGIO when writable
PR kern/60785: fifo delivers SIGIO with wrong si_fd
t_sigio: New test of various SIGIO cases.
PR kern/59056: poll POLLHUP bugs
PR kern/60782: SIGIO says socket ready for send before send does
PR kern/60783: tty: missing siginfo_t in SIGIO
PR kern/60784: pty doesn't deliver SIGIO when writable
PR kern/60785: fifo delivers SIGIO with wrong si_fd
improve routing code in NPF
duplicate packet and end copy of the packet and locally manage original.
return false always to keep it in procedures returns.
Unbreak build when KGDB is defined.
Add extern reference to kernel_pmap_
Remove mutex calls since no mutex is present in the pmap struct,
since pseg_get() has its own internal locking logic.
Import jemalloc 5.4.0 (previous was 5.3.1)
* 5.4.0 (Sep 17, 2026)
This release contains over 160 commits, focusing on the technical debts
cleaning including refactorings, bug fixes, test coverage improvement, and
option cleanups. The release also includes portability improvements per
upstream issues report.
New features:
- Add `EXTENT_ALLOC_FLAG_PINNED` so custom extent-allocation hooks can
mark non-reclaimable mappings, such as HugeTLB pages, for preferential
reuse outside the decay and purge pipeline. Add the mallctl interfaces
`stats.pinned`, `stats.arenas.<i>.pinned`,
`stats.arenas.<i>.extents.<j>.npinned`,
`stats.arenas.<i>.extents.<j>.pinned_bytes`, and
`stats.arenas.<i>.mutexes.extents_pinned.{counter}` to report
pinned-memory usage and mutex statistics. (@binliu19: be2de8cc)
- Allow resuming per-CPU arena selection via `thread.arena`.
[86 lines not shown]
mips: tag all the stub functions as __noubsan
When built with UBSAN the stub functions change to the point that the
mips_fixup_addr code doesn't understand the instructions involved.
Apply __nousbsan to avoid this.
PR//60779: Kernel complains about unexpected mips insn on boot...