summaryrefslogtreecommitdiffstats
path: root/sys/arm/include
diff options
context:
space:
mode:
authorcognet <cognet@FreeBSD.org>2004-09-23 22:09:57 +0000
committercognet <cognet@FreeBSD.org>2004-09-23 22:09:57 +0000
commitf0ee02d5525e37555f2a79616ed54598ca7e2035 (patch)
treebc7c0d60c079f09d0a75401bf6985780c0755cd0 /sys/arm/include
parent8cbf7c308c5ef50b1d86d4b45dfe14b85df065da (diff)
downloadFreeBSD-src-f0ee02d5525e37555f2a79616ed54598ca7e2035.zip
FreeBSD-src-f0ee02d5525e37555f2a79616ed54598ca7e2035.tar.gz
Add new functions to know which irqs are pending, and to mask and unmask
interrupts, as these are CPU specific. If the interrupt handler is not marked as INTR_FAST, don't unmask the interrupt until it as been serviced.
Diffstat (limited to 'sys/arm/include')
-rw-r--r--sys/arm/include/intr.h39
1 files changed, 4 insertions, 35 deletions
diff --git a/sys/arm/include/intr.h b/sys/arm/include/intr.h
index 30d5e6d..f0ccf88 100644
--- a/sys/arm/include/intr.h
+++ b/sys/arm/include/intr.h
@@ -39,44 +39,13 @@
#ifndef _MACHINE_INTR_H_
#define _MACHINE_INTR_H_
-/* Define the various Interrupt Priority Levels */
-
-/* Hardware Interrupt Priority Levels are not mutually exclusive. */
-
-#ifdef CPU_SA1110
-#define IPL_SOFTCLOCK 0
-#define IPL_SOFTNET 1
-#define IPL_BIO 2 /* block I/O */
-#define IPL_NET 3 /* network */
-#define IPL_SOFTSERIAL 4
-#define IPL_TTY 5 /* terminal */
-#define IPL_VM 6 /* memory allocation */
-#define IPL_AUDIO 7 /* audio */
-#define IPL_CLOCK 8 /* clock */
-#define IPL_HIGH 9 /* */
-#define IPL_SERIAL 10 /* serial */
-#define IPL_NONE 11
-
-#define NIPL 12
-
-#endif
-
-#define IST_UNUSABLE -1 /* interrupt cannot be used */
-#define IST_NONE 0 /* none (dummy) */
-#define IST_PULSE 1 /* pulsed */
-#define IST_EDGE 2 /* edge-triggered */
-#define IST_LEVEL 3 /* level-triggered */
-
-/* Software interrupt priority levels */
-
-#define SOFTIRQ_CLOCK 0
-#define SOFTIRQ_NET 1
-#define SOFTIRQ_SERIAL 2
-
-#define SOFTIRQ_BIT(x) (1 << x)
+#define NIRQ 32
#include <machine/psl.h>
+int arm_get_irqnb(void *);
+void arm_mask_irqs(int);
+void arm_unmask_irqs(int);
void set_splmasks(void);
void arm_setup_irqhandler(const char *, void (*)(void*), void *, int, int,
void **);
OpenPOWER on IntegriCloud