CVSROOT:        /cvs
Module name:    src
Changes by:     m...@cvs.openbsd.org    2015/01/04 06:01:42

Modified files:
        sys/arch/macppc/dev: macintr.c openpic.c 
        sys/arch/powerpc/include: cpu.h intr.h 
        sys/arch/powerpc/powerpc: intr.c softintr.c 
        sys/arch/socppc/dev: ipic.c 
        sys/arch/socppc/socppc: machdep.c 

Log message:
Implement splassert(9) for powerpc.

This changes the logic to prevent a recursion when processing soft
interrupts.  Previously a per-CPU flag was set before re-enabling
interrupts.  Now the IPL level is raised to SOFTTTY which makes
splsoftassert() happy, greatly inspired by mips64.

As a side effect, the ppc_intr_{disable,enable}() dance is now done
only once instead of twice per splx(9).

While here, make use of dosoftint() instead of having 3 different
functions for dispatching soft interrupts.

Tested by deraadt@ on G4 smp and by myself G5 smp, G3, G4 and socppc.

No objection from the usual (and over busy) suspects.

Reply via email to