summaryrefslogtreecommitdiff
path: root/gdbstub.c
diff options
context:
space:
mode:
authorths <ths@c046a42c-6fe2-441c-8c8c-71466251a162>2008-06-27 10:02:35 +0000
committerths <ths@c046a42c-6fe2-441c-8c8c-71466251a162>2008-06-27 10:02:35 +0000
commitb5dc7732e1cc2fb549e48b7b5d664f2c79628e2e (patch)
treee18d7e7fc4e2fc9bad326022331c17c2800a8bbb /gdbstub.c
parenta37ee56cb7f2094a65fff14ed5d4ff325652b802 (diff)
downloadqemu-b5dc7732e1cc2fb549e48b7b5d664f2c79628e2e.tar.gz
More efficient target register / TC accesses.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4794 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'gdbstub.c')
-rw-r--r--gdbstub.c20
1 files changed, 10 insertions, 10 deletions
diff --git a/gdbstub.c b/gdbstub.c
index d4ca6f3c91..3f062be9f3 100644
--- a/gdbstub.c
+++ b/gdbstub.c
@@ -704,17 +704,17 @@ static int cpu_gdb_read_registers(CPUState *env, uint8_t *mem_buf)
ptr = mem_buf;
for (i = 0; i < 32; i++)
{
- *(target_ulong *)ptr = tswapl(env->gpr[env->current_tc][i]);
+ *(target_ulong *)ptr = tswapl(env->active_tc.gpr[i]);
ptr += sizeof(target_ulong);
}
*(target_ulong *)ptr = (int32_t)tswap32(env->CP0_Status);
ptr += sizeof(target_ulong);
- *(target_ulong *)ptr = tswapl(env->LO[env->current_tc][0]);
+ *(target_ulong *)ptr = tswapl(env->active_tc.LO[0]);
ptr += sizeof(target_ulong);
- *(target_ulong *)ptr = tswapl(env->HI[env->current_tc][0]);
+ *(target_ulong *)ptr = tswapl(env->active_tc.HI[0]);
ptr += sizeof(target_ulong);
*(target_ulong *)ptr = tswapl(env->CP0_BadVAddr);
@@ -723,7 +723,7 @@ static int cpu_gdb_read_registers(CPUState *env, uint8_t *mem_buf)
*(target_ulong *)ptr = (int32_t)tswap32(env->CP0_Cause);
ptr += sizeof(target_ulong);
- *(target_ulong *)ptr = tswapl(env->PC[env->current_tc]);
+ *(target_ulong *)ptr = tswapl(env->active_tc.PC);
ptr += sizeof(target_ulong);
if (env->CP0_Config1 & (1 << CP0C1_FP))
@@ -781,17 +781,17 @@ static void cpu_gdb_write_registers(CPUState *env, uint8_t *mem_buf, int size)
ptr = mem_buf;
for (i = 0; i < 32; i++)
{
- env->gpr[env->current_tc][i] = tswapl(*(target_ulong *)ptr);
+ env->active_tc.gpr[i] = tswapl(*(target_ulong *)ptr);
ptr += sizeof(target_ulong);
}
env->CP0_Status = tswapl(*(target_ulong *)ptr);
ptr += sizeof(target_ulong);
- env->LO[env->current_tc][0] = tswapl(*(target_ulong *)ptr);
+ env->active_tc.LO[0] = tswapl(*(target_ulong *)ptr);
ptr += sizeof(target_ulong);
- env->HI[env->current_tc][0] = tswapl(*(target_ulong *)ptr);
+ env->active_tc.HI[0] = tswapl(*(target_ulong *)ptr);
ptr += sizeof(target_ulong);
env->CP0_BadVAddr = tswapl(*(target_ulong *)ptr);
@@ -800,7 +800,7 @@ static void cpu_gdb_write_registers(CPUState *env, uint8_t *mem_buf, int size)
env->CP0_Cause = tswapl(*(target_ulong *)ptr);
ptr += sizeof(target_ulong);
- env->PC[env->current_tc] = tswapl(*(target_ulong *)ptr);
+ env->active_tc.PC = tswapl(*(target_ulong *)ptr);
ptr += sizeof(target_ulong);
if (env->CP0_Config1 & (1 << CP0C1_FP))
@@ -1003,7 +1003,7 @@ static int gdb_handle_packet(GDBState *s, CPUState *env, const char *line_buf)
#elif defined (TARGET_SH4)
env->pc = addr;
#elif defined (TARGET_MIPS)
- env->PC[env->current_tc] = addr;
+ env->active_tc.PC = addr;
#elif defined (TARGET_CRIS)
env->pc = addr;
#endif
@@ -1040,7 +1040,7 @@ static int gdb_handle_packet(GDBState *s, CPUState *env, const char *line_buf)
#elif defined (TARGET_SH4)
env->pc = addr;
#elif defined (TARGET_MIPS)
- env->PC[env->current_tc] = addr;
+ env->active_tc.PC = addr;
#elif defined (TARGET_CRIS)
env->pc = addr;
#endif