All of lore.kernel.org
 help / color / mirror / Atom feed
From: Richard Henderson <richard.henderson@linaro.org>
To: qemu-devel@nongnu.org
Cc: marex@denx.de, peter.maydell@linaro.org, amir.gonnen@neuroblade.ai
Subject: [PATCH v5 19/48] target/nios2: Move R_FOO and CR_BAR into enumerations
Date: Thu, 10 Mar 2022 03:26:56 -0800	[thread overview]
Message-ID: <20220310112725.570053-20-richard.henderson@linaro.org> (raw)
In-Reply-To: <20220310112725.570053-1-richard.henderson@linaro.org>

These symbols become available to the debugger.

Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Richard Henderson <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 7f805a933e..555972fe6b 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.25.1



  parent reply	other threads:[~2022-03-10 11:55 UTC|newest]

Thread overview: 62+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-03-10 11:26 [PATCH v5 00/48] target/nios2: Shadow register set, EIC and VIC Richard Henderson
2022-03-10 11:26 ` [PATCH v5 01/48] target/nios2: Check supervisor on eret Richard Henderson
2022-03-10 11:26 ` [PATCH v5 02/48] target/nios2: Stop generating code if gen_check_supervisor fails Richard Henderson
2022-03-10 11:26 ` [PATCH v5 03/48] target/nios2: Add NUM_GP_REGS and NUM_CP_REGS Richard Henderson
2022-03-10 11:26 ` [PATCH v5 04/48] target/nios2: Split PC out of env->regs[] Richard Henderson
2022-03-10 11:26 ` [PATCH v5 05/48] target/nios2: Split out helper for eret instruction Richard Henderson
2022-03-10 11:26 ` [PATCH v5 06/48] target/nios2: Fix BRET instruction Richard Henderson
2022-03-10 12:17   ` Peter Maydell
2022-03-10 11:26 ` [PATCH v5 07/48] target/nios2: Do not create TCGv for control registers Richard Henderson
2022-03-10 11:26 ` [PATCH v5 08/48] linux-user/nios2: Only initialize SP and PC in target_cpu_copy_regs Richard Henderson
2022-03-10 12:18   ` Peter Maydell
2022-03-10 11:26 ` [PATCH v5 09/48] target/nios2: Remove cpu_interrupts_enabled Richard Henderson
2022-03-10 11:26 ` [PATCH v5 10/48] target/nios2: Split control registers away from general registers Richard Henderson
2022-03-10 11:26 ` [PATCH v5 11/48] target/nios2: Do not zero the general registers on reset Richard Henderson
2022-03-10 12:21   ` Peter Maydell
2022-03-10 18:45     ` Richard Henderson
2022-03-10 11:26 ` [PATCH v5 12/48] target/nios2: Clean up nios2_cpu_dump_state Richard Henderson
2022-03-10 11:26 ` [PATCH v5 13/48] target/nios2: Use hw/registerfields.h for CR_STATUS fields Richard Henderson
2022-03-10 11:26 ` [PATCH v5 14/48] target/nios2: Use hw/registerfields.h for CR_EXCEPTION fields Richard Henderson
2022-03-10 12:26   ` Peter Maydell
2022-03-10 17:52     ` Richard Henderson
2022-03-10 11:26 ` [PATCH v5 15/48] target/nios2: Use hw/registerfields.h for CR_TLBADDR fields Richard Henderson
2022-03-10 11:26 ` [PATCH v5 16/48] target/nios2: Use hw/registerfields.h for CR_TLBACC fields Richard Henderson
2022-03-10 11:26 ` [PATCH v5 17/48] target/nios2: Rename CR_TLBMISC_WR to CR_TLBMISC_WE Richard Henderson
2022-03-10 12:26   ` Peter Maydell
2022-03-10 11:26 ` [PATCH v5 18/48] target/nios2: Use hw/registerfields.h for CR_TLBMISC fields Richard Henderson
2022-03-10 11:26 ` Richard Henderson [this message]
2022-03-10 11:26 ` [PATCH v5 20/48] target/nios2: Create EXCP_SEMIHOST for semi-hosting Richard Henderson
2022-03-10 11:26 ` [PATCH v5 21/48] target/nios2: Clean up nios2_cpu_do_interrupt Richard Henderson
2022-03-10 11:26 ` [PATCH v5 22/48] target/nios2: Hoist CPU_LOG_INT logging Richard Henderson
2022-03-10 11:27 ` [PATCH v5 23/48] target/nios2: Handle EXCP_UNALIGN and EXCP_UALIGND Richard Henderson
2022-03-10 11:27 ` [PATCH v5 24/48] target/nios2: Cleanup set of CR_EXCEPTION for do_interrupt Richard Henderson
2022-03-10 11:27 ` [PATCH v5 25/48] target/nios2: Clean up handling of tlbmisc in do_exception Richard Henderson
2022-03-10 11:27 ` [PATCH v5 26/48] target/nios2: Prevent writes to read-only or reserved control fields Richard Henderson
2022-03-10 11:27 ` [PATCH v5 27/48] target/nios2: Implement cpuid Richard Henderson
2022-03-10 11:27 ` [PATCH v5 28/48] target/nios2: Implement CR_STATUS.RSIE Richard Henderson
2022-03-10 11:27 ` [PATCH v5 29/48] target/nios2: Remove CPU_INTERRUPT_NMI Richard Henderson
2022-03-10 11:27 ` [PATCH v5 30/48] target/nios2: Support division error exception Richard Henderson
2022-03-10 11:27 ` [PATCH v5 31/48] target/nios2: Use tcg_constant_tl Richard Henderson
2022-03-10 11:27 ` [PATCH v5 32/48] target/nios2: Introduce dest_gpr Richard Henderson
2022-03-10 11:27 ` [PATCH v5 33/48] target/nios2: Drop CR_STATUS_EH from tb->flags Richard Henderson
2022-03-10 11:27 ` [PATCH v5 34/48] target/nios2: Enable unaligned traps for system mode Richard Henderson
2022-03-10 11:27 ` [PATCH v5 35/48] target/nios2: Create gen_jumpr Richard Henderson
2022-03-10 11:27 ` [PATCH v5 36/48] target/nios2: Hoist set of is_jmp into gen_goto_tb Richard Henderson
2022-03-10 11:27 ` [PATCH v5 37/48] target/nios2: Use gen_goto_tb for DISAS_TOO_MANY Richard Henderson
2022-03-10 11:27 ` [PATCH v5 38/48] target/nios2: Use tcg_gen_lookup_and_goto_ptr Richard Henderson
2022-03-10 11:27 ` [PATCH v5 39/48] target/nios2: Implement Misaligned destination exception Richard Henderson
2022-03-10 11:27 ` [PATCH v5 40/48] linux-user/nios2: Handle various SIGILL exceptions Richard Henderson
2022-03-10 11:27 ` [PATCH v5 41/48] target/nios2: Introduce shadow register sets Richard Henderson
2022-03-13 11:55   ` Amir Gonnen
2022-03-13 16:53     ` Richard Henderson
2022-03-10 11:27 ` [PATCH v5 42/48] target/nios2: Implement rdprs, wrprs Richard Henderson
2022-03-15 16:26   ` Amir Gonnen
2022-03-15 19:12     ` Richard Henderson
2022-03-10 11:27 ` [PATCH v5 43/48] target/nios2: Update helper_eret for shadow registers Richard Henderson
2022-03-10 11:27 ` [PATCH v5 44/48] target/nios2: Implement EIC interrupt processing Richard Henderson
2022-03-10 11:27 ` [PATCH v5 45/48] hw/intc: Vectored Interrupt Controller (VIC) Richard Henderson
2022-03-10 11:27 ` [PATCH v5 46/48] hw/nios2: Introduce Nios2MachineState Richard Henderson
2022-03-12 15:31   ` Mark Cave-Ayland
2022-03-10 11:27 ` [PATCH v5 47/48] hw/nios2: Move memory regions into Nios2Machine Richard Henderson
2022-03-10 11:27 ` [PATCH v5 48/48] hw/nios2: Machine with a Vectored Interrupt Controller Richard Henderson
2022-03-12 15:40   ` Mark Cave-Ayland

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220310112725.570053-20-richard.henderson@linaro.org \
    --to=richard.henderson@linaro.org \
    --cc=amir.gonnen@neuroblade.ai \
    --cc=marex@denx.de \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.