diff options
| author | Jean-Philippe Bernardy <jeanphilippe.bernardy@gmail.com> | 2005-01-24 00:01:37 +0000 |
|---|---|---|
| committer | Jean-Philippe Bernardy <jeanphilippe.bernardy@gmail.com> | 2005-01-24 00:01:37 +0000 |
| commit | 1f11f4eb90a7492119ecd5dfaf0ec73dea7d2f1f (patch) | |
| tree | 6726e002dcbc2c284d2a51b3e58c6bcb85bece16 /firmware/export | |
| parent | cea551dd9ca8d029a5499615d14e8af877c56ae4 (diff) | |
| download | rockbox-1f11f4eb90a7492119ecd5dfaf0ec73dea7d2f1f.zip rockbox-1f11f4eb90a7492119ecd5dfaf0ec73dea7d2f1f.tar.gz rockbox-1f11f4eb90a7492119ecd5dfaf0ec73dea7d2f1f.tar.bz2 rockbox-1f11f4eb90a7492119ecd5dfaf0ec73dea7d2f1f.tar.xz | |
Some more gmini hw support
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5644 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/export')
| -rw-r--r-- | firmware/export/system.h | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/firmware/export/system.h b/firmware/export/system.h index 74074d5..a394429 100644 --- a/firmware/export/system.h +++ b/firmware/export/system.h @@ -179,21 +179,25 @@ static inline unsigned long SWAB32(unsigned long value) #elif CONFIG_CPU == TCC730 -extern void* interrupt_vector[16] __attribute__ ((section(".idata"))); +extern void* volatile interrupt_vector[16] __attribute__ ((section(".idata"))); -extern void ddma_transfer(int dir, int mem, long intAddr, void* extAddr, +extern void ddma_transfer(int dir, int mem, long intAddr, long extAddr, int num); -static inline void clear_watchdog(void) -{ - WDTCON = 0x0A; -} - -#define HIGHEST_IRQ_LEVEL (1<<15) +#define HIGHEST_IRQ_LEVEL (1) static inline int set_irq_level(int level) { - return 0; + int result; + __asm__ ("ld %0, 0\n\t" + "tstsr ie\n\t" + "incc %0" : "=r"(result)); + if (level > 0) + __asm__ volatile ("clrsr ie"); + else + __asm__ volatile ("setsr ie"); + + return result; } static inline unsigned short SWAB16(unsigned short value) |