diff options
author | Maurus Cuelenaere <mcuelenaere@gmail.com> | 2008-08-09 23:31:38 +0000 |
---|---|---|
committer | Maurus Cuelenaere <mcuelenaere@gmail.com> | 2008-08-09 23:31:38 +0000 |
commit | 447ffc8bf89fde97de2d11023e77887bcb7ffb91 (patch) | |
tree | 20f124d12ccf43a6f27072770e2c32b488b74950 /firmware/target/mips/ingenic_jz47xx/system-target.h | |
parent | ee398634595e30978295d75706d2316a02975398 (diff) | |
download | rockbox-447ffc8bf89fde97de2d11023e77887bcb7ffb91.tar.gz rockbox-447ffc8bf89fde97de2d11023e77887bcb7ffb91.tar.bz2 rockbox-447ffc8bf89fde97de2d11023e77887bcb7ffb91.zip |
* Add interrupt handling (but still not working)
* Clean up linker script and bootup routines
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18229 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/target/mips/ingenic_jz47xx/system-target.h')
-rw-r--r-- | firmware/target/mips/ingenic_jz47xx/system-target.h | 19 |
1 files changed, 3 insertions, 16 deletions
diff --git a/firmware/target/mips/ingenic_jz47xx/system-target.h b/firmware/target/mips/ingenic_jz47xx/system-target.h index f60bcff7c8..cfcec9cd79 100644 --- a/firmware/target/mips/ingenic_jz47xx/system-target.h +++ b/firmware/target/mips/ingenic_jz47xx/system-target.h @@ -31,8 +31,6 @@ #define set_irq_level(status) \ set_interrupt_status((status), ST0_IE) -#define set_fiq_status(status) \ - set_interrupt_status((status), ST0_IE) static inline int set_interrupt_status(int status, int mask) { @@ -64,12 +62,6 @@ static inline void disable_interrupt(void) #define enable_irq() \ enable_interrupt() -#define disable_fiq() \ - disable_interrupt() - -#define enable_fiq() \ - enable_interrupt() - static inline int disable_interrupt_save(int mask) { unsigned int oldstatus; @@ -83,19 +75,13 @@ static inline int disable_interrupt_save(int mask) #define disable_irq_save() \ disable_interrupt_save(ST0_IE) -#define disable_fiq_save() \ - disable_interrupt_save(ST0_IE) - static inline void restore_interrupt(int status) { write_c0_status(status); } -#define restore_irq(cpsr) \ - restore_interrupt(cpsr) - -#define restore_fiq(cpsr) \ - restore_interrupt(cpsr) +#define restore_irq(c0_status) \ + restore_interrupt(c0_status) #define swap16(x) (((x) & 0xff) << 8 | ((x) >> 8) & 0xff) #define swap32(x) (((x) & 0xff) << 24 | ((x) & 0xff00) << 8 | ((x) & 0xff0000) >> 8 | ((x) >> 24) & 0xff) @@ -108,6 +94,7 @@ void __dcache_invalidate_all(void); void __icache_invalidate_all(void); void __flush_dcache_line(unsigned long addr); void dma_cache_wback_inv(unsigned long addr, unsigned long size); +int request_irq(unsigned int irq, void (*handler)(void)); void sti(void); void cli(void); |