diff options
author | Giovanni Di Sirio <gdisirio@gmail.com> | 2015-11-18 10:24:08 +0000 |
---|---|---|
committer | Giovanni Di Sirio <gdisirio@gmail.com> | 2015-11-18 10:24:08 +0000 |
commit | 88928325f6e694fff77bbb7ad78ea6c09dfecde6 (patch) | |
tree | 67cfa96229dc29d1c2878cb9bff5c1af4abefc35 /os/rt/ports/e200/chcore.h | |
parent | da4c0dbaa0a453af6b1903554ccff1df7b98825c (diff) | |
download | ChibiOS-88928325f6e694fff77bbb7ad78ea6c09dfecde6.tar.gz ChibiOS-88928325f6e694fff77bbb7ad78ea6c09dfecde6.tar.bz2 ChibiOS-88928325f6e694fff77bbb7ad78ea6c09dfecde6.zip |
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@8508 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'os/rt/ports/e200/chcore.h')
-rw-r--r-- | os/rt/ports/e200/chcore.h | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/os/rt/ports/e200/chcore.h b/os/rt/ports/e200/chcore.h index 67da6c67d..63d566df2 100644 --- a/os/rt/ports/e200/chcore.h +++ b/os/rt/ports/e200/chcore.h @@ -59,7 +59,7 @@ #if defined(__GNUC__) || defined(__DOXYGEN__)
#define PORT_COMPILER_NAME "GCC " __VERSION__
-#elif defined(__CWCC__)
+#elif defined(__MWERKS__)
#define PORT_COMPILER_NAME "CW " __VERSION__
#else
@@ -425,12 +425,17 @@ static inline void port_init(void) { port_write_spr(272, n);
#if PPC_SUPPORTS_IVORS
- /* The CPU supports IVOR registers, the kernel requires IVOR4 and IVOR10
- and the initialization is performed here.*/
- asm volatile ("li %%r3, _IVOR4@l \t\n"
- "mtIVOR4 %%r3 \t\n"
- "li %%r3, _IVOR10@l \t\n"
- "mtIVOR10 %%r3" : : : "r3", "memory");
+ {
+ /* The CPU supports IVOR registers, the kernel requires IVOR4 and IVOR10
+ and the initialization is performed here.*/
+ extern void _IVOR4(void);
+ port_write_spr(404, _IVOR4);
+
+#if PPC_SUPPORTS_DECREMENTER
+ extern void _IVOR10(void);
+ port_write_spr(410, _IVOR10);
+#endif
+ }
#endif
/* INTC initialization, software vector mode, 4 bytes vectors, starting
|