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@.

Reply via email to