Revert "target/arm: Reinstate bogus AArch32 DBGDTRTX register for migration compat"
This reverts commit 4f2b82f60431 ("target/arm: Reinstate bogus AArch32 DBGDTRTX register for migration compat). We don't need that commit anymore as the AArch32 DBGDTRTX register is declared to be safe to ignore in the incoming migration stream. Signed-off-by: Eric Auger <eric.auger@redhat.com> Reviewed-by: Sebastian Ott <sebott@redhat.com> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Message-id: 20260420140552.104369-8-eric.auger@redhat.com Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Eric Auger committed
Apr 20, 2026 at 16:03 UTC
202126dcb9d6261c38e629799265defeb3260d25
1 file changed
-29
target/arm/debug_helper.c
-29
@@ -171,13 +171,6 @@ static void dbgclaimclr_write(CPUARMState *env, const ARMCPRegInfo *ri,
171
env->cp15.dbgclaim &= ~(value & 0xFF);
172
}
173
174
-static CPAccessResult access_bogus(CPUARMState *env, const ARMCPRegInfo *ri,
175
- bool isread)
176
-{
177
- /* Always UNDEF, as if this cpreg didn't exist */
178
- return CP_ACCESS_UNDEFINED;
179
-}
180
-
174
static const ARMCPRegInfo debug_cp_reginfo[] = {
175
/*
176
* DBGDRAR, DBGDSAR: always RAZ since we don't implement memory mapped
@@ -240,28 +233,6 @@ static const ARMCPRegInfo debug_cp_reginfo[] = {
233
.opc0 = 2, .opc1 = 3, .crn = 0, .crm = 4, .opc2 = 0,
234
.access = PL0_RW, .accessfn = access_tdcc,
235
.type = ARM_CP_CONST, .resetvalue = 0 },
243
- /*
244
- * This is not a real AArch32 register. We used to incorrectly expose
245
- * this due to a QEMU bug; to avoid breaking migration compatibility we
246
- * need to continue to provide it so that we don't fail the inbound
247
- * migration when it tells us about a sysreg that we don't have.
248
- * We set an always-fails .accessfn, which means that the guest doesn't
249
- * actually see this register (it will always UNDEF, identically to if
250
- * there were no cpreg definition for it other than that we won't print
251
- * a LOG_UNIMP message about it), and we set the ARM_CP_NO_GDB flag so the
252
- * gdbstub won't see it either.
253
- * (We can't just set .access = 0, because add_cpreg_to_hashtable()
254
- * helpfully ignores cpregs which aren't accessible to the highest
255
- * implemented EL.)
256
- *
257
- * TODO: implement a system for being able to describe "this register
258
- * can be ignored if it appears in the inbound stream"; then we can
259
- * remove this temporary hack.
260
- */
261
- { .name = "BOGUS_DBGDTR_EL0", .state = ARM_CP_STATE_AA32,
262
- .cp = 14, .opc1 = 3, .crn = 0, .crm = 5, .opc2 = 0,
263
- .access = PL0_RW, .accessfn = access_bogus,
264
- .type = ARM_CP_CONST | ARM_CP_NO_GDB, .resetvalue = 0 },
236
/*
237
* OSECCR_EL1 provides a mechanism for an operating system
238
* to access the contents of EDECCR. EDECCR is not implemented though,