mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-07 01:33:56 -06:00
gdbstub: Change gdb_get_reg_cb and gdb_set_reg_cb
Align the parameters of gdb_get_reg_cb and gdb_set_reg_cb with the gdb_read_register and gdb_write_register members of CPUClass to allow to unify the logic to access registers of the core and coprocessors in the future. Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20231213-gdb-v17-6-777047380591@daynix.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20240227144335.1196131-11-alex.bennee@linaro.org>
This commit is contained in:
parent
c494f8f529
commit
66260159a7
14 changed files with 238 additions and 93 deletions
|
@ -29,8 +29,11 @@
|
|||
|
||||
#define SIGNBIT (1u << 31)
|
||||
|
||||
static int cf_fpu_gdb_get_reg(CPUM68KState *env, GByteArray *mem_buf, int n)
|
||||
static int cf_fpu_gdb_get_reg(CPUState *cs, GByteArray *mem_buf, int n)
|
||||
{
|
||||
M68kCPU *cpu = M68K_CPU(cs);
|
||||
CPUM68KState *env = &cpu->env;
|
||||
|
||||
if (n < 8) {
|
||||
float_status s;
|
||||
return gdb_get_reg64(mem_buf, floatx80_to_float64(env->fregs[n].d, &s));
|
||||
|
@ -46,8 +49,11 @@ static int cf_fpu_gdb_get_reg(CPUM68KState *env, GByteArray *mem_buf, int n)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int cf_fpu_gdb_set_reg(CPUM68KState *env, uint8_t *mem_buf, int n)
|
||||
static int cf_fpu_gdb_set_reg(CPUState *cs, uint8_t *mem_buf, int n)
|
||||
{
|
||||
M68kCPU *cpu = M68K_CPU(cs);
|
||||
CPUM68KState *env = &cpu->env;
|
||||
|
||||
if (n < 8) {
|
||||
float_status s;
|
||||
env->fregs[n].d = float64_to_floatx80(ldq_p(mem_buf), &s);
|
||||
|
@ -66,8 +72,11 @@ static int cf_fpu_gdb_set_reg(CPUM68KState *env, uint8_t *mem_buf, int n)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int m68k_fpu_gdb_get_reg(CPUM68KState *env, GByteArray *mem_buf, int n)
|
||||
static int m68k_fpu_gdb_get_reg(CPUState *cs, GByteArray *mem_buf, int n)
|
||||
{
|
||||
M68kCPU *cpu = M68K_CPU(cs);
|
||||
CPUM68KState *env = &cpu->env;
|
||||
|
||||
if (n < 8) {
|
||||
int len = gdb_get_reg16(mem_buf, env->fregs[n].l.upper);
|
||||
len += gdb_get_reg16(mem_buf, 0);
|
||||
|
@ -85,8 +94,11 @@ static int m68k_fpu_gdb_get_reg(CPUM68KState *env, GByteArray *mem_buf, int n)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int m68k_fpu_gdb_set_reg(CPUM68KState *env, uint8_t *mem_buf, int n)
|
||||
static int m68k_fpu_gdb_set_reg(CPUState *cs, uint8_t *mem_buf, int n)
|
||||
{
|
||||
M68kCPU *cpu = M68K_CPU(cs);
|
||||
CPUM68KState *env = &cpu->env;
|
||||
|
||||
if (n < 8) {
|
||||
env->fregs[n].l.upper = lduw_be_p(mem_buf);
|
||||
env->fregs[n].l.lower = ldq_be_p(mem_buf + 4);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue