On 26/05/2019 09:45, Lucien Murray-Pitts wrote:
The register request via gdbstub would return the SR part
which contains the Trace/Master/IRQ state flags, but
would be missing the CR (Condition Register) state bits.
This fix adds this support by merging them in the m68k
specific gdbstub handler
Signed-off-by: Lucien Murray-Pitts <lucienmp_antis...@yahoo.com>
---
target/m68k/gdbstub.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/target/m68k/gdbstub.c b/target/m68k/gdbstub.c
index fd2bb46c42..f092044883 100644
--- a/target/m68k/gdbstub.c
+++ b/target/m68k/gdbstub.c
@@ -35,8 +35,10 @@ int m68k_cpu_gdb_read_register(CPUState *cs, uint8_t
*mem_buf, int n)
return gdb_get_reg32(mem_buf, env->aregs[n - 8]);
} else {
switch (n) {
- case 16:
- return gdb_get_reg32(mem_buf, env->sr);
+ case 16: {
+ /* SR is made of SR+CCR, CCR is many 1bit flags so uses helper */
+ return gdb_get_reg32(mem_buf, (env->sr | cpu_m68k_get_ccr(env)));
I think parenthesis are superfluous.
With that fixed:
Reviewed-by: Laurent Vivier <laur...@vivier.eu>
+ }
case 17:
return gdb_get_reg32(mem_buf, env->pc);
}