mirror of
https://github.com/izzy2lost/xemu.git
synced 2026-07-06 00:20:22 -07:00
Fix aarch64 debug register names.
Give all the debug registers their correct names including the index, rather than having multiple registers all with the same name string, which is confusing when viewed over the gdbstub interface. Signed-off-by: CHRIS HOWARD <cvz185@web.de> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-id: 4127D8CA-D54A-47C7-A039-0DB7361E30C0@web.de [PMM: expanded commit message] Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
committed by
Peter Maydell
parent
5d55f82767
commit
e1be11a5a4
+12
-4
@@ -6554,14 +6554,16 @@ static void define_debug_regs(ARMCPU *cpu)
|
||||
}
|
||||
|
||||
for (i = 0; i < brps; i++) {
|
||||
char *dbgbvr_el1_name = g_strdup_printf("DBGBVR%d_EL1", i);
|
||||
char *dbgbcr_el1_name = g_strdup_printf("DBGBCR%d_EL1", i);
|
||||
ARMCPRegInfo dbgregs[] = {
|
||||
{ .name = "DBGBVR", .state = ARM_CP_STATE_BOTH,
|
||||
{ .name = dbgbvr_el1_name, .state = ARM_CP_STATE_BOTH,
|
||||
.cp = 14, .opc0 = 2, .opc1 = 0, .crn = 0, .crm = i, .opc2 = 4,
|
||||
.access = PL1_RW, .accessfn = access_tda,
|
||||
.fieldoffset = offsetof(CPUARMState, cp15.dbgbvr[i]),
|
||||
.writefn = dbgbvr_write, .raw_writefn = raw_write
|
||||
},
|
||||
{ .name = "DBGBCR", .state = ARM_CP_STATE_BOTH,
|
||||
{ .name = dbgbcr_el1_name, .state = ARM_CP_STATE_BOTH,
|
||||
.cp = 14, .opc0 = 2, .opc1 = 0, .crn = 0, .crm = i, .opc2 = 5,
|
||||
.access = PL1_RW, .accessfn = access_tda,
|
||||
.fieldoffset = offsetof(CPUARMState, cp15.dbgbcr[i]),
|
||||
@@ -6569,17 +6571,21 @@ static void define_debug_regs(ARMCPU *cpu)
|
||||
},
|
||||
};
|
||||
define_arm_cp_regs(cpu, dbgregs);
|
||||
g_free(dbgbvr_el1_name);
|
||||
g_free(dbgbcr_el1_name);
|
||||
}
|
||||
|
||||
for (i = 0; i < wrps; i++) {
|
||||
char *dbgwvr_el1_name = g_strdup_printf("DBGWVR%d_EL1", i);
|
||||
char *dbgwcr_el1_name = g_strdup_printf("DBGWCR%d_EL1", i);
|
||||
ARMCPRegInfo dbgregs[] = {
|
||||
{ .name = "DBGWVR", .state = ARM_CP_STATE_BOTH,
|
||||
{ .name = dbgwvr_el1_name, .state = ARM_CP_STATE_BOTH,
|
||||
.cp = 14, .opc0 = 2, .opc1 = 0, .crn = 0, .crm = i, .opc2 = 6,
|
||||
.access = PL1_RW, .accessfn = access_tda,
|
||||
.fieldoffset = offsetof(CPUARMState, cp15.dbgwvr[i]),
|
||||
.writefn = dbgwvr_write, .raw_writefn = raw_write
|
||||
},
|
||||
{ .name = "DBGWCR", .state = ARM_CP_STATE_BOTH,
|
||||
{ .name = dbgwcr_el1_name, .state = ARM_CP_STATE_BOTH,
|
||||
.cp = 14, .opc0 = 2, .opc1 = 0, .crn = 0, .crm = i, .opc2 = 7,
|
||||
.access = PL1_RW, .accessfn = access_tda,
|
||||
.fieldoffset = offsetof(CPUARMState, cp15.dbgwcr[i]),
|
||||
@@ -6587,6 +6593,8 @@ static void define_debug_regs(ARMCPU *cpu)
|
||||
},
|
||||
};
|
||||
define_arm_cp_regs(cpu, dbgregs);
|
||||
g_free(dbgwvr_el1_name);
|
||||
g_free(dbgwcr_el1_name);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user