CVSROOT: /cvs Module name: src Changes by: m...@cvs.openbsd.org 2025/08/12 10:17:10
Modified files: sys/arch/luna88k/luna88k: m8820x.c sys/arch/m88k/include: m8820x.h sys/arch/m88k/m88k: m8820x_machdep.c Log message: The data structures to take care of the various CMMUs on the system (up to 8 per CPU...) were designed to be able to support the weirdest configurations found on DG AViiON and some MVME188 designs. But most systems (such as the Luna88k) use much simpler designs. Keep the existing hollow array of CMMUs, but also maintain short linked lists of all CMMUs associated to a given processor, and of all CMMUs of the same kind (instruction/data) associated to a given processor. Rework all the low-level CMMU routines to take a head of list instead of a cpu number (and possibly a CMMU type), and make them simply walk the plank^Wlist. This also allows the CMMU list pointer to be computed once and out of any lock in e.g. complex bus_dmamap_sync() scenarios. With help from aoyama@.