summaryrefslogtreecommitdiff
path: root/firmware/export
diff options
context:
space:
mode:
authorJean-Philippe Bernardy <jeanphilippe.bernardy@gmail.com>2005-01-24 00:01:37 +0000
committerJean-Philippe Bernardy <jeanphilippe.bernardy@gmail.com>2005-01-24 00:01:37 +0000
commit1f11f4eb90a7492119ecd5dfaf0ec73dea7d2f1f (patch)
tree6726e002dcbc2c284d2a51b3e58c6bcb85bece16 /firmware/export
parentcea551dd9ca8d029a5499615d14e8af877c56ae4 (diff)
downloadrockbox-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.h22
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)