diff options
author | Michal Simek <monstr@monstr.eu> | 2007-05-07 23:58:31 +0200 |
---|---|---|
committer | Michal Simek <monstr@monstr.eu> | 2007-05-07 23:58:31 +0200 |
commit | fb05f6da35ea1c15c553abe6f23f656bf18dc5db (patch) | |
tree | 97d017c2c93576570338cd2a5d2034981f131bc8 /cpu/microblaze/irq.S | |
parent | a7bac7e9b57ba948051beb19ec5be3a75ce75383 (diff) | |
download | u-boot-imx-fb05f6da35ea1c15c553abe6f23f656bf18dc5db.zip u-boot-imx-fb05f6da35ea1c15c553abe6f23f656bf18dc5db.tar.gz u-boot-imx-fb05f6da35ea1c15c553abe6f23f656bf18dc5db.tar.bz2 |
new: USE_MSR_INTR support
Diffstat (limited to 'cpu/microblaze/irq.S')
-rwxr-xr-x[-rw-r--r--] | cpu/microblaze/irq.S | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/cpu/microblaze/irq.S b/cpu/microblaze/irq.S index 393d6e8..e1fc190 100644..100755 --- a/cpu/microblaze/irq.S +++ b/cpu/microblaze/irq.S @@ -23,6 +23,7 @@ */ #include <config.h> +#include <asm/asm.h> .text .global _interrupt_handler _interrupt_handler: @@ -151,7 +152,20 @@ _interrupt_handler: addi r1, r1, 4 /* enable_interrupt */ +#ifdef XILINX_USE_MSR_INSTR msrset r0, 2 +#else + /* FIXME unstable in stressed mode - two irqs */ + nop + addi r1, r1, -4 + swi r12, r1, 0 + mfs r12, rmsr + ori r12, r12, 2 + mts rmsr, r12 + lwi r12, r1, 0 + addi r1, r1, 4 + nop +#endif bra r14 nop nop |