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:
Jay Monkman
2005-09-15 19:40:08 +00:00
parent e0f60887e5
commit 1370850c05
3 changed files with 11 additions and 2 deletions

View File

@@ -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

View File

@@ -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 */

View File

@@ -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__*);