mirror of
https://github.com/mii443/qemu.git
synced 2025-08-22 15:15:46 +00:00
gdbstub: Use GDBFeature for gdb_register_coprocessor
This is a tree-wide change to introduce GDBFeature parameter to gdb_register_coprocessor(). The new parameter just replaces num_regs and xml parameters for now. GDBFeature will be utilized to simplify XML lookup in a following change. Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com> Acked-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20231213-gdb-v17-4-777047380591@daynix.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20240227144335.1196131-9-alex.bennee@linaro.org>
This commit is contained in:
committed by
Alex Bennée
parent
33a24910ae
commit
ac1e867100
@ -544,7 +544,7 @@ static int gdb_write_register(CPUState *cpu, uint8_t *mem_buf, int reg)
|
||||
|
||||
void gdb_register_coprocessor(CPUState *cpu,
|
||||
gdb_get_reg_cb get_reg, gdb_set_reg_cb set_reg,
|
||||
int num_regs, const char *xml, int g_pos)
|
||||
const GDBFeature *feature, int g_pos)
|
||||
{
|
||||
GDBRegisterState *s;
|
||||
guint i;
|
||||
@ -553,7 +553,7 @@ void gdb_register_coprocessor(CPUState *cpu,
|
||||
for (i = 0; i < cpu->gdb_regs->len; i++) {
|
||||
/* Check for duplicates. */
|
||||
s = &g_array_index(cpu->gdb_regs, GDBRegisterState, i);
|
||||
if (strcmp(s->xml, xml) == 0) {
|
||||
if (strcmp(s->xml, feature->xmlname) == 0) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
@ -565,17 +565,18 @@ void gdb_register_coprocessor(CPUState *cpu,
|
||||
g_array_set_size(cpu->gdb_regs, i + 1);
|
||||
s = &g_array_index(cpu->gdb_regs, GDBRegisterState, i);
|
||||
s->base_reg = cpu->gdb_num_regs;
|
||||
s->num_regs = num_regs;
|
||||
s->num_regs = feature->num_regs;
|
||||
s->get_reg = get_reg;
|
||||
s->set_reg = set_reg;
|
||||
s->xml = xml;
|
||||
s->xml = feature->xml;
|
||||
|
||||
/* Add to end of list. */
|
||||
cpu->gdb_num_regs += num_regs;
|
||||
cpu->gdb_num_regs += feature->num_regs;
|
||||
if (g_pos) {
|
||||
if (g_pos != s->base_reg) {
|
||||
error_report("Error: Bad gdb register numbering for '%s', "
|
||||
"expected %d got %d", xml, g_pos, s->base_reg);
|
||||
"expected %d got %d", feature->xml,
|
||||
g_pos, s->base_reg);
|
||||
} else {
|
||||
cpu->gdb_num_g_regs = cpu->gdb_num_regs;
|
||||
}
|
||||
|
Reference in New Issue
Block a user