From: Richard Henderson <richard.henderson@linaro.org>
To: qemu-devel@nongnu.org
Cc: qemu-arm@nongnu.org
Subject: [PATCH 16/18] target/arm: Remove TBFLAG_ANY.DEBUG_TARGET_EL
Date: Mon, 23 May 2022 13:47:40 -0700 [thread overview]
Message-ID: <20220523204742.740932-17-richard.henderson@linaro.org> (raw)
In-Reply-To: <20220523204742.740932-1-richard.henderson@linaro.org>
We no longer need this value during translation,
as it is now handled within the helpers.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
target/arm/cpu.h | 6 ++----
target/arm/translate.h | 2 --
target/arm/helper.c | 12 ++----------
target/arm/translate-a64.c | 1 -
target/arm/translate.c | 1 -
5 files changed, 4 insertions(+), 18 deletions(-)
diff --git a/target/arm/cpu.h b/target/arm/cpu.h
index 90cdc7b1de..5bc6382fce 100644
--- a/target/arm/cpu.h
+++ b/target/arm/cpu.h
@@ -3064,11 +3064,9 @@ FIELD(TBFLAG_ANY, BE_DATA, 3, 1)
FIELD(TBFLAG_ANY, MMUIDX, 4, 4)
/* Target EL if we take a floating-point-disabled exception */
FIELD(TBFLAG_ANY, FPEXC_EL, 8, 2)
-/* For A-profile only, target EL for debug exceptions. */
-FIELD(TBFLAG_ANY, DEBUG_TARGET_EL, 10, 2)
/* Memory operations require alignment: SCTLR_ELx.A or CCR.UNALIGN_TRP */
-FIELD(TBFLAG_ANY, ALIGN_MEM, 12, 1)
-FIELD(TBFLAG_ANY, PSTATE__IL, 13, 1)
+FIELD(TBFLAG_ANY, ALIGN_MEM, 10, 1)
+FIELD(TBFLAG_ANY, PSTATE__IL, 11, 1)
/*
* Bit usage when in AArch32 state, both A- and M-profile.
diff --git a/target/arm/translate.h b/target/arm/translate.h
index c03dbfb618..cd9ee41bbd 100644
--- a/target/arm/translate.h
+++ b/target/arm/translate.h
@@ -59,8 +59,6 @@ typedef struct DisasContext {
*/
uint32_t svc_imm;
int current_el;
- /* Debug target exception level for single-step exceptions */
- int debug_target_el;
GHashTable *cp_regs;
uint64_t features; /* CPU features bits */
bool aarch64;
diff --git a/target/arm/helper.c b/target/arm/helper.c
index e0be96b988..63c3fee5ff 100644
--- a/target/arm/helper.c
+++ b/target/arm/helper.c
@@ -13626,18 +13626,10 @@ static CPUARMTBFlags rebuild_hflags_m32(CPUARMState *env, int fp_el,
return rebuild_hflags_common_32(env, fp_el, mmu_idx, flags);
}
-static CPUARMTBFlags rebuild_hflags_aprofile(CPUARMState *env)
-{
- CPUARMTBFlags flags = {};
-
- DP_TBFLAG_ANY(flags, DEBUG_TARGET_EL, arm_debug_target_el(env));
- return flags;
-}
-
static CPUARMTBFlags rebuild_hflags_a32(CPUARMState *env, int fp_el,
ARMMMUIdx mmu_idx)
{
- CPUARMTBFlags flags = rebuild_hflags_aprofile(env);
+ CPUARMTBFlags flags = {};
int el = arm_current_el(env);
if (arm_sctlr(env, el) & SCTLR_A) {
@@ -13663,7 +13655,7 @@ static CPUARMTBFlags rebuild_hflags_a32(CPUARMState *env, int fp_el,
static CPUARMTBFlags rebuild_hflags_a64(CPUARMState *env, int el, int fp_el,
ARMMMUIdx mmu_idx)
{
- CPUARMTBFlags flags = rebuild_hflags_aprofile(env);
+ CPUARMTBFlags flags = {};
ARMMMUIdx stage1 = stage_1_mmu_idx(mmu_idx);
uint64_t tcr = regime_tcr(env, mmu_idx)->raw_tcr;
uint64_t sctlr;
diff --git a/target/arm/translate-a64.c b/target/arm/translate-a64.c
index f502545307..cc9344b015 100644
--- a/target/arm/translate-a64.c
+++ b/target/arm/translate-a64.c
@@ -14645,7 +14645,6 @@ static void aarch64_tr_init_disas_context(DisasContextBase *dcbase,
dc->ss_active = EX_TBFLAG_ANY(tb_flags, SS_ACTIVE);
dc->pstate_ss = EX_TBFLAG_ANY(tb_flags, PSTATE__SS);
dc->is_ldex = false;
- dc->debug_target_el = EX_TBFLAG_ANY(tb_flags, DEBUG_TARGET_EL);
/* Bound the number of insns to execute to those left on the page. */
bound = -(dc->base.pc_first | TARGET_PAGE_MASK) / 4;
diff --git a/target/arm/translate.c b/target/arm/translate.c
index 87a899d638..59d7542a48 100644
--- a/target/arm/translate.c
+++ b/target/arm/translate.c
@@ -9354,7 +9354,6 @@ static void arm_tr_init_disas_context(DisasContextBase *dcbase, CPUState *cs)
dc->v7m_lspact = EX_TBFLAG_M32(tb_flags, LSPACT);
dc->mve_no_pred = EX_TBFLAG_M32(tb_flags, MVE_NO_PRED);
} else {
- dc->debug_target_el = EX_TBFLAG_ANY(tb_flags, DEBUG_TARGET_EL);
dc->sctlr_b = EX_TBFLAG_A32(tb_flags, SCTLR__B);
dc->hstr_active = EX_TBFLAG_A32(tb_flags, HSTR_ACTIVE);
dc->ns = EX_TBFLAG_A32(tb_flags, NS);
--
2.34.1
next prev parent reply other threads:[~2022-05-23 21:12 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-05-23 20:47 [PATCH 00/18] target/arm: tidy exception routing Richard Henderson
2022-05-23 20:47 ` [PATCH 01/18] target/arm: Allow raise_exception to handle finding target EL Richard Henderson
2022-05-30 12:44 ` Peter Maydell
2022-05-30 16:39 ` Richard Henderson
2022-05-30 19:01 ` Peter Maydell
2022-05-30 19:51 ` Richard Henderson
2022-05-23 20:47 ` [PATCH 02/18] target/arm: Use arm_current_el for simple exceptions Richard Henderson
2022-05-30 12:42 ` Peter Maydell
2022-05-23 20:47 ` [PATCH 03/18] target/arm: Move and expand parameters to exception_target_el Richard Henderson
2022-05-23 20:47 ` [PATCH 04/18] target/arm: Move HCR_TGE check into exception_target_el Richard Henderson
2022-05-23 20:47 ` [PATCH 05/18] target/arm: Move arm_singlestep_active out of line Richard Henderson
2022-05-31 12:03 ` Peter Maydell
2022-05-23 20:47 ` [PATCH 06/18] target/arm: Move arm_generate_debug_exceptions " Richard Henderson
2022-05-31 12:03 ` Peter Maydell
2022-05-23 20:47 ` [PATCH 07/18] target/arm: Hoist arm_current_el in arm_generate_debug_exceptions Richard Henderson
2022-05-31 12:04 ` Peter Maydell
2022-05-31 14:31 ` Richard Henderson
2022-05-23 20:47 ` [PATCH 08/18] target/arm: Use is_a64 " Richard Henderson
2022-05-31 12:05 ` Peter Maydell
2022-05-23 20:47 ` [PATCH 09/18] target/arm: Move exception_bkpt_insn to debug_helper.c Richard Henderson
2022-05-23 20:47 ` [PATCH 10/18] target/arm: Move arm_debug_exception_fsr " Richard Henderson
2022-05-23 20:47 ` [PATCH 11/18] target/arm: Move arm_debug_target_el to internals.h Richard Henderson
2022-05-31 12:06 ` Peter Maydell
2022-05-23 20:47 ` [PATCH 12/18] target/arm: Create raise_exception_debug Richard Henderson
2022-05-23 20:47 ` [PATCH 13/18] target/arm: Move MDCR_TDE test into exception_target_el Richard Henderson
2022-05-23 20:47 ` [PATCH 14/18] target/arm: Mark exception helpers as noreturn Richard Henderson
2022-05-31 12:06 ` Peter Maydell
2022-05-23 20:47 ` [PATCH 15/18] target/arm: Create helper_exception_swstep Richard Henderson
2022-05-23 20:47 ` Richard Henderson [this message]
2022-05-23 20:47 ` [PATCH 17/18] target/arm: Add cur_el parameter to arm_generate_debug_exceptions Richard Henderson
2022-05-31 12:07 ` Peter Maydell
2022-05-31 14:34 ` Richard Henderson
2022-05-23 20:47 ` [PATCH 18/18] target/arm: Remove route_to_el2 case from sve_exception_el Richard Henderson
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=20220523204742.740932-17-richard.henderson@linaro.org \
--to=richard.henderson@linaro.org \
--cc=qemu-arm@nongnu.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).