mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-12-17 21:26:13 -07:00
Report normalised CWP values to userland and GDB, not internal representation
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3052 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
parent
dc011987f2
commit
17d996e1f1
4 changed files with 25 additions and 9 deletions
14
gdbstub.c
14
gdbstub.c
|
|
@ -383,7 +383,10 @@ static int cpu_gdb_read_registers(CPUState *env, uint8_t *mem_buf)
|
|||
}
|
||||
registers[64] = tswapl(env->pc);
|
||||
registers[65] = tswapl(env->npc);
|
||||
registers[66] = tswapl(env->tstate[env->tl]);
|
||||
registers[66] = tswapl(((uint64_t)GET_CCR(env) << 32) |
|
||||
((env->asi & 0xff) << 24) |
|
||||
((env->pstate & 0xfff) << 8) |
|
||||
GET_CWP64(env));
|
||||
registers[67] = tswapl(env->fsr);
|
||||
registers[68] = tswapl(env->fprs);
|
||||
registers[69] = tswapl(env->y);
|
||||
|
|
@ -427,7 +430,14 @@ static void cpu_gdb_write_registers(CPUState *env, uint8_t *mem_buf, int size)
|
|||
}
|
||||
env->pc = tswapl(registers[64]);
|
||||
env->npc = tswapl(registers[65]);
|
||||
env->tstate[env->tl] = tswapl(registers[66]);
|
||||
{
|
||||
uint64_t tmp = tswapl(registers[66]);
|
||||
|
||||
PUT_CCR(env, tmp >> 32);
|
||||
env->asi = (tmp >> 24) & 0xff;
|
||||
env->pstate = (tmp >> 8) & 0xfff;
|
||||
PUT_CWP64(env, tmp & 0xff);
|
||||
}
|
||||
env->fsr = tswapl(registers[67]);
|
||||
env->fprs = tswapl(registers[68]);
|
||||
env->y = tswapl(registers[69]);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue