[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v8 30/68] target/nios2: Move R_FOO and CR_BAR into enumerations
From: |
Richard Henderson |
Subject: |
[PATCH v8 30/68] target/nios2: Move R_FOO and CR_BAR into enumerations |
Date: |
Fri, 22 Apr 2022 09:52:00 -0700 |
These symbols become available to the debugger.
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20220421151735.31996-31-richard.henderson@linaro.org>
---
target/nios2/cpu.h | 72 ++++++++++++++++++++++------------------------
1 file changed, 35 insertions(+), 37 deletions(-)
diff --git a/target/nios2/cpu.h b/target/nios2/cpu.h
index f312050ecd..65bcc5fc0e 100644
--- a/target/nios2/cpu.h
+++ b/target/nios2/cpu.h
@@ -61,25 +61,43 @@ struct Nios2CPUClass {
#define NUM_CR_REGS 32
/* General purpose register aliases */
-#define R_ZERO 0
-#define R_AT 1
-#define R_RET0 2
-#define R_RET1 3
-#define R_ARG0 4
-#define R_ARG1 5
-#define R_ARG2 6
-#define R_ARG3 7
-#define R_ET 24
-#define R_BT 25
-#define R_GP 26
-#define R_SP 27
-#define R_FP 28
-#define R_EA 29
-#define R_BA 30
-#define R_RA 31
+enum {
+ R_ZERO = 0,
+ R_AT = 1,
+ R_RET0 = 2,
+ R_RET1 = 3,
+ R_ARG0 = 4,
+ R_ARG1 = 5,
+ R_ARG2 = 6,
+ R_ARG3 = 7,
+ R_ET = 24,
+ R_BT = 25,
+ R_GP = 26,
+ R_SP = 27,
+ R_FP = 28,
+ R_EA = 29,
+ R_BA = 30,
+ R_RA = 31,
+};
/* Control register aliases */
-#define CR_STATUS 0
+enum {
+ CR_STATUS = 0,
+ CR_ESTATUS = 1,
+ CR_BSTATUS = 2,
+ CR_IENABLE = 3,
+ CR_IPENDING = 4,
+ CR_CPUID = 5,
+ CR_EXCEPTION = 7,
+ CR_PTEADDR = 8,
+ CR_TLBACC = 9,
+ CR_TLBMISC = 10,
+ CR_ENCINJ = 11,
+ CR_BADADDR = 12,
+ CR_CONFIG = 13,
+ CR_MPUBASE = 14,
+ CR_MPUACC = 15,
+};
FIELD(CR_STATUS, PIE, 0, 1)
FIELD(CR_STATUS, U, 1, 1)
@@ -98,24 +116,12 @@ FIELD(CR_STATUS, RSIE, 23, 1)
#define CR_STATUS_NMI R_CR_STATUS_NMI_MASK
#define CR_STATUS_RSIE R_CR_STATUS_RSIE_MASK
-#define CR_ESTATUS 1
-#define CR_BSTATUS 2
-#define CR_IENABLE 3
-#define CR_IPENDING 4
-#define CR_CPUID 5
-#define CR_CTL6 6
-#define CR_EXCEPTION 7
-
FIELD(CR_EXCEPTION, CAUSE, 2, 5)
FIELD(CR_EXCEPTION, ECCFTL, 31, 1)
-#define CR_PTEADDR 8
-
FIELD(CR_PTEADDR, VPN, 2, 20)
FIELD(CR_PTEADDR, PTBASE, 22, 10)
-#define CR_TLBACC 9
-
FIELD(CR_TLBACC, PFN, 0, 20)
FIELD(CR_TLBACC, G, 20, 1)
FIELD(CR_TLBACC, X, 21, 1)
@@ -130,8 +136,6 @@ FIELD(CR_TLBACC, IG, 25, 7)
#define CR_TLBACC_X R_CR_TLBACC_X_MASK
#define CR_TLBACC_G R_CR_TLBACC_G_MASK
-#define CR_TLBMISC 10
-
FIELD(CR_TLBMISC, D, 0, 1)
FIELD(CR_TLBMISC, PERM, 1, 1)
FIELD(CR_TLBMISC, BAD, 2, 1)
@@ -150,12 +154,6 @@ FIELD(CR_TLBMISC, EE, 24, 1)
#define CR_TLBMISC_PERM R_CR_TLBMISC_PERM_MASK
#define CR_TLBMISC_D R_CR_TLBMISC_D_MASK
-#define CR_ENCINJ 11
-#define CR_BADADDR 12
-#define CR_CONFIG 13
-#define CR_MPUBASE 14
-#define CR_MPUACC 15
-
/* Exceptions */
#define EXCP_BREAK 0x1000
#define EXCP_RESET 0
--
2.34.1
- [PATCH v8 24/68] target/nios2: Use hw/registerfields.h for CR_STATUS fields, (continued)
- [PATCH v8 24/68] target/nios2: Use hw/registerfields.h for CR_STATUS fields, Richard Henderson, 2022/04/22
- [PATCH v8 15/68] target/nios2: Add NUM_GP_REGS and NUM_CP_REGS, Richard Henderson, 2022/04/22
- [PATCH v8 17/68] target/nios2: Split out helper for eret instruction, Richard Henderson, 2022/04/22
- [PATCH v8 23/68] target/nios2: Clean up nios2_cpu_dump_state, Richard Henderson, 2022/04/22
- [PATCH v8 22/68] target/nios2: Split control registers away from general registers, Richard Henderson, 2022/04/22
- [PATCH v8 25/68] target/nios2: Use hw/registerfields.h for CR_EXCEPTION fields, Richard Henderson, 2022/04/22
- [PATCH v8 26/68] target/nios2: Use hw/registerfields.h for CR_TLBADDR fields, Richard Henderson, 2022/04/22
- [PATCH v8 27/68] target/nios2: Use hw/registerfields.h for CR_TLBACC fields, Richard Henderson, 2022/04/22
- [PATCH v8 28/68] target/nios2: Rename CR_TLBMISC_WR to CR_TLBMISC_WE, Richard Henderson, 2022/04/22
- [PATCH v8 29/68] target/nios2: Use hw/registerfields.h for CR_TLBMISC fields, Richard Henderson, 2022/04/22
- [PATCH v8 30/68] target/nios2: Move R_FOO and CR_BAR into enumerations,
Richard Henderson <=
- [PATCH v8 31/68] target/nios2: Create EXCP_SEMIHOST for semi-hosting, Richard Henderson, 2022/04/22
- [PATCH v8 32/68] target/nios2: Clean up nios2_cpu_do_interrupt, Richard Henderson, 2022/04/22
- [PATCH v8 33/68] target/nios2: Hoist CPU_LOG_INT logging, Richard Henderson, 2022/04/22
- [PATCH v8 34/68] target/nios2: Handle EXCP_UNALIGN and EXCP_UNALIGND, Richard Henderson, 2022/04/22
- [PATCH v8 35/68] target/nios2: Cleanup set of CR_EXCEPTION for do_interrupt, Richard Henderson, 2022/04/22
- [PATCH v8 36/68] target/nios2: Clean up handling of tlbmisc in do_exception, Richard Henderson, 2022/04/22
- [PATCH v8 38/68] target/nios2: Implement cpuid, Richard Henderson, 2022/04/22
- [PATCH v8 37/68] target/nios2: Prevent writes to read-only or reserved control fields, Richard Henderson, 2022/04/22
- [PATCH v8 39/68] target/nios2: Implement CR_STATUS.RSIE, Richard Henderson, 2022/04/22
- [PATCH v8 40/68] target/nios2: Remove CPU_INTERRUPT_NMI, Richard Henderson, 2022/04/22