Refine gdbstub to supoort gdb init.
This commit is contained in:
parent
a40a4b3381
commit
e96a66291c
|
@ -200,12 +200,12 @@ int gdb_read_register(CPUState *cpu, GByteArray *buf, int reg) {
|
||||||
return cpu->cc->gdb_read_register(cpu, buf, reg);
|
return cpu->cc->gdb_read_register(cpu, buf, reg);
|
||||||
}
|
}
|
||||||
|
|
||||||
for (guint i = 0; i < cpu->gdb_regs->len; i++) {
|
// for (guint i = 0; i < cpu->gdb_regs->len; i++) {
|
||||||
r = &g_array_index(cpu->gdb_regs, GDBRegisterState, i);
|
// r = &g_array_index(cpu->gdb_regs, GDBRegisterState, i);
|
||||||
if (r->base_reg <= reg && reg < r->base_reg + r->feature->num_regs) {
|
// if (r->base_reg <= reg && reg < r->base_reg + r->feature->num_regs) {
|
||||||
return r->get_reg(cpu, buf, reg - r->base_reg);
|
// return r->get_reg(cpu, buf, reg - r->base_reg);
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -216,12 +216,12 @@ int gdb_write_register(CPUState *cpu, uint8_t *mem_buf, int reg) {
|
||||||
return cpu->cc->gdb_write_register(cpu, mem_buf, reg);
|
return cpu->cc->gdb_write_register(cpu, mem_buf, reg);
|
||||||
}
|
}
|
||||||
|
|
||||||
for (guint i = 0; i < cpu->gdb_regs->len; i++) {
|
// for (guint i = 0; i < cpu->gdb_regs->len; i++) {
|
||||||
r = &g_array_index(cpu->gdb_regs, GDBRegisterState, i);
|
// r = &g_array_index(cpu->gdb_regs, GDBRegisterState, i);
|
||||||
if (r->base_reg <= reg && reg < r->base_reg + r->feature->num_regs) {
|
// if (r->base_reg <= reg && reg < r->base_reg + r->feature->num_regs) {
|
||||||
return r->set_reg(cpu, mem_buf, reg - r->base_reg);
|
// return r->set_reg(cpu, mem_buf, reg - r->base_reg);
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -355,9 +355,9 @@ void cpu_register_gdb_commands() {
|
||||||
}
|
}
|
||||||
|
|
||||||
int cpu_common_gdb_read_register(CPUState *cpu, GByteArray *buf, int reg) {
|
int cpu_common_gdb_read_register(CPUState *cpu, GByteArray *buf, int reg) {
|
||||||
uint32_t val = 0;
|
uint64_t val = 0;
|
||||||
g_byte_array_append(buf, (uint8_t *)&val, 4);
|
g_byte_array_append(buf, (uint8_t *)&val, 8);
|
||||||
return 4;
|
return 8;
|
||||||
}
|
}
|
||||||
|
|
||||||
int cpu_common_gdb_write_register(CPUState *cpu, uint8_t *buf, int reg) { return 0; }
|
int cpu_common_gdb_write_register(CPUState *cpu, uint8_t *buf, int reg) { return 0; }
|
Loading…
Reference in New Issue