CVSROOT:        /cvs
Module name:    src
Changes by:     m...@cvs.openbsd.org    2009/02/16 16:03:33

Modified files:
        sys/arch/m88k/include: cmmu.h cpu.h 
        sys/arch/m88k/m88k: m8820x_machdep.c m88k_machdep.c 
        sys/arch/mvme88k/include: cpu.h mvme197.h 
        sys/arch/mvme88k/mvme88k: m188_machdep.c m197_machdep.c m88110.c 
                                  machdep.c 

Log message:
More 88110 SMP work. Contains, horribly entangled:
- dma_cachectl() split into a ``local cpu only'' and ``all cpus'', and an ipi
to broadcast ``local dma_cachectl'' is added.
- cpu_info fields are rearranged, to have the 88100-specific information
and the 88110-specific information overlap, and has many more 88110
ugly things.
- more ipi handling in the 197-specific area. Since it is not possible to
have the second processor receive any hardware interrupt (selection
is done on a level basis via ISEL, and we definitely do not want the
main cpu to lose interrupts), the best we can do is to inflict ourselves
a soft interrupt for late ipi processing. It gets used for softclock and
hardclock on the secondary processor, but since the soft interrupt
dispatcher doesn't have an exception frame, we have to remember parts
of it to build a fake clockframe from the soft ipi handler (ugly but
works).

This now lets GENERIC.MP run a few userland binaries before bugs trigger.

Reply via email to