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.