aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-cris/arch-v32/irq.h
diff options
context:
space:
mode:
authorJesper Nilsson <jesper.nilsson@axis.com>2008-01-15 05:59:12 -0500
committerJesper Nilsson <jesper.nilsson@axis.com>2008-02-08 05:06:24 -0500
commit1e5915b173c4a729a818dbef020e166ceeaa321b (patch)
tree2c6aa14aceb389eac9a902d3f6bcc1ca5f679807 /include/asm-cris/arch-v32/irq.h
parent0c2efc4848984ed38753d48990f0f0c72af56ba9 (diff)
CRIS v32: Update asm-cris/arch-v32/irq.h for ETRAX FS and ARTPEC-3
- Correct include to use <> - Rework calculation of number of IRQs and exceptions we have. - Remove useless "mask" argument to BUILD_IRQ macro
Diffstat (limited to 'include/asm-cris/arch-v32/irq.h')
-rw-r--r--include/asm-cris/arch-v32/irq.h15
1 files changed, 10 insertions, 5 deletions
diff --git a/include/asm-cris/arch-v32/irq.h b/include/asm-cris/arch-v32/irq.h
index bac94ee6bc90..9e4c9fbdfddf 100644
--- a/include/asm-cris/arch-v32/irq.h
+++ b/include/asm-cris/arch-v32/irq.h
@@ -1,12 +1,17 @@
1#ifndef _ASM_ARCH_IRQ_H 1#ifndef _ASM_ARCH_IRQ_H
2#define _ASM_ARCH_IRQ_H 2#define _ASM_ARCH_IRQ_H
3 3
4#include "hwregs/intr_vect.h" 4#include <hwregs/intr_vect.h>
5 5
6/* Number of non-cpu interrupts. */ 6/* Number of non-cpu interrupts. */
7#define NR_IRQS 0x50 /* Exceptions + IRQs */ 7#define NR_IRQS NBR_INTR_VECT /* Exceptions + IRQs */
8#define NR_REAL_IRQS 0x20 /* IRQs */
9#define FIRST_IRQ 0x31 /* Exception number for first IRQ */ 8#define FIRST_IRQ 0x31 /* Exception number for first IRQ */
9#define NR_REAL_IRQS (NBR_INTR_VECT - FIRST_IRQ) /* IRQs */
10#if NR_REAL_IRQS > 32
11#define MACH_IRQS 64
12#else
13#define MACH_IRQS 32
14#endif
10 15
11#ifndef __ASSEMBLY__ 16#ifndef __ASSEMBLY__
12/* Global IRQ vector. */ 17/* Global IRQ vector. */
@@ -73,7 +78,7 @@ void set_exception_vector(int n, irqvectptr addr);
73 * which will acknowledge the interrupt, is run. The actual blocking is made 78 * which will acknowledge the interrupt, is run. The actual blocking is made
74 * by crisv32_do_IRQ. 79 * by crisv32_do_IRQ.
75 */ 80 */
76#define BUILD_IRQ(nr, mask) \ 81#define BUILD_IRQ(nr) \
77void IRQ_NAME(nr); \ 82void IRQ_NAME(nr); \
78__asm__ ( \ 83__asm__ ( \
79 ".text\n\t" \ 84 ".text\n\t" \
@@ -81,7 +86,7 @@ __asm__ ( \
81 SAVE_ALL \ 86 SAVE_ALL \
82 KGDB_FIXUP \ 87 KGDB_FIXUP \
83 "move.d "#nr",$r10\n\t" \ 88 "move.d "#nr",$r10\n\t" \
84 "move.d $sp,$r12\n\t" \ 89 "move.d $sp, $r12\n\t" \
85 "jsr crisv32_do_IRQ\n\t" \ 90 "jsr crisv32_do_IRQ\n\t" \
86 "moveq 1, $r11\n\t" \ 91 "moveq 1, $r11\n\t" \
87 "jump ret_from_intr\n\t" \ 92 "jump ret_from_intr\n\t" \