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.
umcpmio(4) version 2
o This driver supports a number of different bus frameworks.
Reorganize the driver into specific files based on the bus and
function.
o Fix an error condtion in the HID transport that happens when the
device is removed.
o Add support to the driver for the MCP2210 USB to SPI bridge. This
bridge chip is the companion to the MCP2221 / MCP2221A. The MCP2210
provides a SPI bus to any system that has a USB bus. It also provides
GPIO that is used with the gpio(4) framework and 256 bytes of EEPROM
that is exposed to a /dev/ device. It is almost certain that the chip
is just one of Microchip's PICs and while not at all perfect, is
reasonably decent if your USB bus functions well. Like the MCP2221 /
MCP2221A, umcpmioctl provides control over a number of functions to
[5 lines not shown]