summaryrefslogtreecommitdiff
path: root/include/asm-microblaze
diff options
context:
space:
mode:
authorMichal Simek <monstr@monstr.eu>2007-05-08 14:52:52 +0200
committerMichal Simek <monstr@monstr.eu>2007-05-08 14:52:52 +0200
commit1a50f164beb065f360fbddb76029607d6b099698 (patch)
treea56a4027d0c68c5a5d9fdc15f0974650dd4fcb42 /include/asm-microblaze
parentab874d5047e5d30dbc1e517ff26083efffa98ecb (diff)
add: Microblaze V5 exception handling
Diffstat (limited to 'include/asm-microblaze')
-rwxr-xr-xinclude/asm-microblaze/asm.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/include/asm-microblaze/asm.h b/include/asm-microblaze/asm.h
index 26e369119e..8302ed8850 100755
--- a/include/asm-microblaze/asm.h
+++ b/include/asm-microblaze/asm.h
@@ -48,12 +48,20 @@
__asm__ __volatile__ ("cput %0, rfsl" #fslnum ::"r" (val));
/* CPU dependent */
+/* machine status register */
#define MFS(val) \
__asm__ __volatile__ ("mfs %0, rmsr":"=r" (val));
#define MTS(val) \
__asm__ __volatile__ ("mts rmsr, %0"::"r" (val));
+/* exception status register */
+#define MFSEAR(val) \
+ __asm__ __volatile ("mfs %0,rear":"=r" (val));
+
+#define MFSESR(val) \
+ __asm__ __volatile ("mfs %0,resr":"=r" (val));
+
/* get return address from interrupt */
#define R14(val) \
__asm__ __volatile__ ("addi %0, r14, 0":"=r" (val));