|
@@ -165,3 +165,59 @@
|
|
#define CCR_FCC1 0x000000f0 /* FP/Media condition 1 (fcc1 reg) */
|
|
#define CCR_FCC1 0x000000f0 /* FP/Media condition 1 (fcc1 reg) */
|
|
#define CCR_FCC2 0x00000f00 /* FP/Media condition 2 (fcc2 reg) */
|
|
#define CCR_FCC2 0x00000f00 /* FP/Media condition 2 (fcc2 reg) */
|
|
#define CCR_FCC3 0x0000f000 /* FP/Media condition 3 (fcc3 reg) */
|
|
#define CCR_FCC3 0x0000f000 /* FP/Media condition 3 (fcc3 reg) */
|
|
|
|
+#define CCR_ICC0 0x000f0000 /* Integer condition 0 (icc0 reg) */
|
|
|
|
+#define CCR_ICC0_C 0x00010000 /* - Carry flag */
|
|
|
|
+#define CCR_ICC0_V 0x00020000 /* - Overflow flag */
|
|
|
|
+#define CCR_ICC0_Z 0x00040000 /* - Zero flag */
|
|
|
|
+#define CCR_ICC0_N 0x00080000 /* - Negative flag */
|
|
|
|
+#define CCR_ICC1 0x00f00000 /* Integer condition 1 (icc1 reg) */
|
|
|
|
+#define CCR_ICC2 0x0f000000 /* Integer condition 2 (icc2 reg) */
|
|
|
|
+#define CCR_ICC3 0xf0000000 /* Integer condition 3 (icc3 reg) */
|
|
|
|
+
|
|
|
|
+/*
|
|
|
|
+ * CCCR - Condition Codes for Conditional Instructions Register
|
|
|
|
+ */
|
|
|
|
+#define CCCR_CC0 0x00000003 /* condition 0 (cc0 reg) */
|
|
|
|
+#define CCCR_CC0_FALSE 0x00000002 /* - condition is false */
|
|
|
|
+#define CCCR_CC0_TRUE 0x00000003 /* - condition is true */
|
|
|
|
+#define CCCR_CC1 0x0000000c /* condition 1 (cc1 reg) */
|
|
|
|
+#define CCCR_CC2 0x00000030 /* condition 2 (cc2 reg) */
|
|
|
|
+#define CCCR_CC3 0x000000c0 /* condition 3 (cc3 reg) */
|
|
|
|
+#define CCCR_CC4 0x00000300 /* condition 4 (cc4 reg) */
|
|
|
|
+#define CCCR_CC5 0x00000c00 /* condition 5 (cc5 reg) */
|
|
|
|
+#define CCCR_CC6 0x00003000 /* condition 6 (cc6 reg) */
|
|
|
|
+#define CCCR_CC7 0x0000c000 /* condition 7 (cc7 reg) */
|
|
|
|
+
|
|
|
|
+/*
|
|
|
|
+ * ISR - Integer Status Register
|
|
|
|
+ */
|
|
|
|
+#define ISR_EMAM 0x00000001 /* memory misaligned access handling */
|
|
|
|
+#define ISR_EMAM_EXCEPTION 0x00000000 /* - generate exception */
|
|
|
|
+#define ISR_EMAM_FUDGE 0x00000001 /* - mask out invalid address bits */
|
|
|
|
+#define ISR_AEXC 0x00000004 /* accrued [overflow] exception */
|
|
|
|
+#define ISR_DTT 0x00000018 /* division type trap */
|
|
|
|
+#define ISR_DTT_IGNORE 0x00000000 /* - ignore division error */
|
|
|
|
+#define ISR_DTT_DIVBYZERO 0x00000008 /* - generate exception */
|
|
|
|
+#define ISR_DTT_OVERFLOW 0x00000010 /* - record overflow */
|
|
|
|
+#define ISR_EDE 0x00000020 /* enable division exception */
|
|
|
|
+#define ISR_PLI 0x20000000 /* pre-load instruction information */
|
|
|
|
+#define ISR_QI 0x80000000 /* quad data implementation information */
|
|
|
|
+
|
|
|
|
+/*
|
|
|
|
+ * EPCR0 - Exception PC Register
|
|
|
|
+ */
|
|
|
|
+#define EPCR0_V 0x00000001 /* register content validity indicator */
|
|
|
|
+#define EPCR0_PC 0xfffffffc /* faulting instruction address */
|
|
|
|
+
|
|
|
|
+/*
|
|
|
|
+ * ESR0/14/15 - Exception Status Register
|
|
|
|
+ */
|
|
|
|
+#define ESRx_VALID 0x00000001 /* register content validity indicator */
|
|
|
|
+#define ESRx_EC 0x0000003e /* exception type */
|
|
|
|
+#define ESRx_EC_DATA_STORE 0x00000000 /* - data_store_error */
|
|
|
|
+#define ESRx_EC_INSN_ACCESS 0x00000006 /* - instruction_access_error */
|
|
|
|
+#define ESRx_EC_PRIV_INSN 0x00000008 /* - privileged_instruction */
|
|
|
|
+#define ESRx_EC_ILL_INSN 0x0000000a /* - illegal_instruction */
|
|
|
|
+#define ESRx_EC_MP_EXCEP 0x0000001c /* - mp_exception */
|
|
|
|
+#define ESRx_EC_DATA_ACCESS 0x00000020 /* - data_access_error */
|
|
|
|
+#define ESRx_EC_DIVISION 0x00000026 /* - division_exception */
|