Module Name: src Committed By: matt Date: Sun Oct 21 10:29:53 UTC 2012
Modified Files: src/sys/arch/arm/arm32: irq_dispatch.S Log Message: Add softint processing for irq_idle_entry To generate a diff of this commit: cvs rdiff -u -r1.13 -r1.14 src/sys/arch/arm/arm32/irq_dispatch.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/arch/arm/arm32/irq_dispatch.S diff -u src/sys/arch/arm/arm32/irq_dispatch.S:1.13 src/sys/arch/arm/arm32/irq_dispatch.S:1.14 --- src/sys/arch/arm/arm32/irq_dispatch.S:1.13 Sun Oct 21 09:25:16 2012 +++ src/sys/arch/arm/arm32/irq_dispatch.S Sun Oct 21 10:29:53 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: irq_dispatch.S,v 1.13 2012/10/21 09:25:16 matt Exp $ */ +/* $NetBSD: irq_dispatch.S,v 1.14 2012/10/21 10:29:53 matt Exp $ */ /* * Copyright (c) 2002 Fujitsu Component Limited @@ -159,5 +159,15 @@ ASENTRY_NP(irq_idle_entry) */ str r6, [r4, #CI_INTR_DEPTH] - PULLIDLEFRAME +#if defined(__HAVE_FAST_SOFTINTS) && !defined(__HAVE_PIC_FAST_SOFTINTS) + ldr r2, [r4, #CI_CPL] /* Get current priority level */ + ldr r3, [r4, #CI_SOFTINTS] /* Get pending softint mask */ +#endif + + PULLIDLEFRAME /* restore r4, r6, sp, lr */ + +#if defined(__HAVE_FAST_SOFTINTS) && !defined(__HAVE_PIC_FAST_SOFTINTS) + lsrs r3, r3, r2 /* shift mask by cpl */ + bne _C_LABEL(dosoftints) /* dosoftints(void) */ +#endif RET