Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/arch/arm/arm32 Add softint processing for irq_idle_entry
details: https://anonhg.NetBSD.org/src/rev/506283800756
branches: trunk
changeset: 782217:506283800756
user: matt <matt%NetBSD.org@localhost>
date: Sun Oct 21 10:29:53 2012 +0000
description:
Add softint processing for irq_idle_entry
diffstat:
sys/arch/arm/arm32/irq_dispatch.S | 14 ++++++++++++--
1 files changed, 12 insertions(+), 2 deletions(-)
diffs (26 lines):
diff -r 40814a4e2b3f -r 506283800756 sys/arch/arm/arm32/irq_dispatch.S
--- a/sys/arch/arm/arm32/irq_dispatch.S Sun Oct 21 10:29:23 2012 +0000
+++ b/sys/arch/arm/arm32/irq_dispatch.S Sun Oct 21 10:29:53 2012 +0000
@@ -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 @@
*/
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
Home |
Main Index |
Thread Index |
Old Index