Consistently specify `-fno-unwind-tables` to shrink kernel binary size.
before:
NetBSD 11.99.4 (GENERIC) #22: Sun Nov 30 08:16:31 JST 2025
text data bss dec hex filename
2996019 101388 101984 3199391 30d19f netbsd
after:
NetBSD 11.99.4 (GENERIC) #23: Sun Nov 30 08:18:18 JST 2025
text data bss dec hex filename
2689719 101388 101984 2893091 2c2523 netbsd
Worth to pull up to netbsd-11.
XXX: should this be default for all kernels?
Initialize interrupt handlers earlier than registering NMI handler.
Otherwise `KASSERT(ih_allocfuncs == NULL);` in m68k_intr_init() is fired.
Also fix build error without "options news1700".
Should be pulled up to netbsd-11.
XXX: maybe this KASSERT should be more consistent with m68k_intr_establish()
XXX: that allows called without m68k_intr_init()?
- pte_set() and pte_mask() are only used for HP MMU VAC shenanigans; only
make them available if MMU_CONFIG_HP_CLASS is true. Also, don't bother
with the inline asm; it's not really needed at all.
- Don't use atomic_add_ulong() for pmap_stat_update(), as it is implemented
in terms of CAS, which must be avoided on __HAVE_M68K_BROKEN_RMC systems.
It's only used inside pmap critical sections, so just garden-variety C
arithmetic is fine.
- pmap_reference() / pmap_destroy() get similar treatment -- avoid
atomic_inc and atomic_dec. In this case, wrap the arithmentic inside
PMAP_CRIT_ENTER() / PMAP_CRIT_EXIT().
Avoid using anything from <sys/atomic.h> if __HAVE_M68K_BROKEN_RMC is
defined. On m68k, the atomics in question are implemented in terms of
CAS, and that instruction must be avoided on __HAVE_M68K_BROKEN_RMC
systems.
(Really, the use of atomics they're they're used isn't necessary *at
all* here, but I'm looking for the minimal change necessary for possible
pullup-11.)
Introduce __HAVE_M68K_BROKEN_RMC, which can be defined by m68k platforms
that cannot perform indivisible READ-MODIFY-WRITE bus cycles. The
define is named for the /RMC output signal on the CPU that is asserted
when such a cycle is performed. These cycles are only used by the CAS,
CAS2, and TAS instructions. The cycles are, as far as I can tell,
otherwise indistinguishable from garden-variety read followed by write
bus cycles, except for the assertion of /RMC. Note that other single-
instruction "read-modify-write" instructions (e.g. OR, AND, ADD, etc.
with a memory destination operand) do not assert /RMC, and are thus not
considered truly atomic from the perspective of the 68k architecture.
When __HAVE_M68K_BROKEN_RMC is defined, then we must make unavailable
the CAS, CAS2, and TAS instructions, because using them will typically
cause a bus error to occur. In this case, we handle _atomic_cas_32()
(and its aliases) in the kernel environment the same way as the 68010
does: a restartable atomic sequence. 8- and 16-bit CAS operations are
not available in the kernel environment on such platforms.
We define __HAVE_M68K_BROKEN_RMC for the hp300 platform because 68020-based
[5 lines not shown]
Interpret p_cdsession field in partition info only when the type
is set to FS_ISO9660. Other filesystem types use the field for p_fsize,
and default values there confuse the cd9660 filesystem code.
Fixes PR 59783.
textproc/xan: update to 0.54.1
Fixes
- Fixing xan freq --groupby incorrectly unescaping group cells.
- Fixing help related to xan pivot & xan unpivot.
- Upgrading simd-csv to get safety fixes.