Revision 4c0960c0 gdbstub.c
b/gdbstub.c | ||
---|---|---|
1568 | 1568 |
static void gdb_set_cpu_pc(GDBState *s, target_ulong pc) |
1569 | 1569 |
{ |
1570 | 1570 |
#if defined(TARGET_I386) |
1571 |
cpu_synchronize_state(s->c_cpu); |
|
1571 | 1572 |
s->c_cpu->eip = pc; |
1572 |
cpu_synchronize_state(s->c_cpu, 1); |
|
1573 | 1573 |
#elif defined (TARGET_PPC) |
1574 | 1574 |
s->c_cpu->nip = pc; |
1575 | 1575 |
#elif defined (TARGET_SPARC) |
... | ... | |
1755 | 1755 |
} |
1756 | 1756 |
break; |
1757 | 1757 |
case 'g': |
1758 |
cpu_synchronize_state(s->g_cpu, 0);
|
|
1758 |
cpu_synchronize_state(s->g_cpu); |
|
1759 | 1759 |
len = 0; |
1760 | 1760 |
for (addr = 0; addr < num_g_regs; addr++) { |
1761 | 1761 |
reg_size = gdb_read_register(s->g_cpu, mem_buf + len, addr); |
... | ... | |
1765 | 1765 |
put_packet(s, buf); |
1766 | 1766 |
break; |
1767 | 1767 |
case 'G': |
1768 |
cpu_synchronize_state(s->g_cpu); |
|
1768 | 1769 |
registers = mem_buf; |
1769 | 1770 |
len = strlen(p) / 2; |
1770 | 1771 |
hextomem((uint8_t *)registers, p, len); |
... | ... | |
1773 | 1774 |
len -= reg_size; |
1774 | 1775 |
registers += reg_size; |
1775 | 1776 |
} |
1776 |
cpu_synchronize_state(s->g_cpu, 1); |
|
1777 | 1777 |
put_packet(s, "OK"); |
1778 | 1778 |
break; |
1779 | 1779 |
case 'm': |
... | ... | |
1929 | 1929 |
thread = strtoull(p+16, (char **)&p, 16); |
1930 | 1930 |
env = find_cpu(thread); |
1931 | 1931 |
if (env != NULL) { |
1932 |
cpu_synchronize_state(env, 0);
|
|
1932 |
cpu_synchronize_state(env); |
|
1933 | 1933 |
len = snprintf((char *)mem_buf, sizeof(mem_buf), |
1934 | 1934 |
"CPU#%d [%s]", env->cpu_index, |
1935 | 1935 |
env->halted ? "halted " : "running"); |
Also available in: Unified diff