forked from Imagelibrary/rtems
2005-09-15 Jay Monkman <jtm@lopingdog.com>
PR 776/bsps * at91rm9200/irq/bsp_irq_asm.S, at91rm9200/irq/irq.h: Added code to pass interrupt vector number to ISR on AT91RM9200
This commit is contained in:
@@ -1,3 +1,9 @@
|
||||
2005-09-15 Jay Monkman <jtm@lopingdog.com>
|
||||
|
||||
PR 776/bsps
|
||||
* at91rm9200/irq/bsp_irq_asm.S, at91rm9200/irq/irq.h: Added code to
|
||||
pass interrupt vector number to ISR on AT91RM9200.
|
||||
|
||||
2005-08-17 Lars Munch <lars@segv.dk>
|
||||
|
||||
PR 727/bsps
|
||||
|
||||
@@ -18,12 +18,15 @@ ExecuteITHandler :
|
||||
/*
|
||||
* Look at interrupt status register to determine source.
|
||||
* From source, determine offset into expanded vector table
|
||||
* and load handler address into r0.
|
||||
* and load vector into r0 and handler address into r1.
|
||||
*/
|
||||
ldr r0, =0xFFFFF100 /* AIC_CTL_BASE + AIC_IVR */
|
||||
ldr r1, [r0]
|
||||
str r1, [r0] /* write back in case we are using protect */
|
||||
|
||||
ldr r0, =0xFFFFF108 /* AIC_CTL_BASE + AIC_ISR */
|
||||
ldr r0, [r0] /* Read interrupt vector */
|
||||
|
||||
stmdb sp!,{lr}
|
||||
ldr lr, =IRQ_return /* prepare the return from handler */
|
||||
|
||||
|
||||
@@ -77,7 +77,7 @@ typedef unsigned char rtems_irq_trigger;
|
||||
|
||||
struct __rtems_irq_connect_data__; /* forward declaratiuon */
|
||||
typedef unsigned int rtems_irq_number;
|
||||
typedef void (*rtems_irq_hdl) (void);
|
||||
typedef void (*rtems_irq_hdl) (uint32_t vector);
|
||||
typedef void (*rtems_irq_enable) (const struct __rtems_irq_connect_data__*);
|
||||
typedef void (*rtems_irq_disable) (const struct __rtems_irq_connect_data__*);
|
||||
typedef int (*rtems_irq_is_enabled)(const struct __rtems_irq_connect_data__*);
|
||||
|
||||
Reference in New Issue
Block a user