summaryrefslogtreecommitdiffstats
path: root/target-alpha/cpu.h
diff options
context:
space:
mode:
authorRichard Henderson <rth@twiddle.net>2010-01-04 11:24:04 -0800
committerAurelien Jarno <aurelien@aurel32.net>2010-02-23 23:36:22 +0100
commit866be65dfdac0121b1dbe4a4487fb929a16ba279 (patch)
tree6056f82f90e08ffdeb70fe489bd1bc7f6cac65f5 /target-alpha/cpu.h
parentdad081ee69d58e0e7c32b66b6a8a47344f830548 (diff)
downloadhqemu-866be65dfdac0121b1dbe4a4487fb929a16ba279.zip
hqemu-866be65dfdac0121b1dbe4a4487fb929a16ba279.tar.gz
target-alpha: Clean up arithmetic traps.
Replace the EXCP_ARITH_OVERFLOW placeholder with the complete set of bits from the EXC_SUM IPR. Use them in the existing places where we raise arithmetic exceptions. Signed-off-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
Diffstat (limited to 'target-alpha/cpu.h')
-rw-r--r--target-alpha/cpu.h10
1 files changed, 7 insertions, 3 deletions
diff --git a/target-alpha/cpu.h b/target-alpha/cpu.h
index 3728d83..eda1b4a 100644
--- a/target-alpha/cpu.h
+++ b/target-alpha/cpu.h
@@ -450,9 +450,13 @@ enum {
};
/* Arithmetic exception */
-enum {
- EXCP_ARITH_OVERFLOW,
-};
+#define EXC_M_IOV (1<<16) /* Integer Overflow */
+#define EXC_M_INE (1<<15) /* Inexact result */
+#define EXC_M_UNF (1<<14) /* Underflow */
+#define EXC_M_FOV (1<<13) /* Overflow */
+#define EXC_M_DZE (1<<12) /* Division by zero */
+#define EXC_M_INV (1<<11) /* Invalid operation */
+#define EXC_M_SWC (1<<10) /* Software completion */
enum {
IR_V0 = 0,
OpenPOWER on IntegriCloud