Revision eac8b355 gdbstub.c
b/gdbstub.c | ||
---|---|---|
1840 | 1840 |
/* Generate the XML description for this CPU. */ |
1841 | 1841 |
if (!target_xml[0]) { |
1842 | 1842 |
GDBRegisterState *r; |
1843 |
CPUArchState *env = first_cpu->env_ptr;
|
|
1843 |
CPUState *cpu = first_cpu;
|
|
1844 | 1844 |
|
1845 | 1845 |
snprintf(target_xml, sizeof(target_xml), |
1846 | 1846 |
"<?xml version=\"1.0\"?>" |
... | ... | |
1849 | 1849 |
"<xi:include href=\"%s\"/>", |
1850 | 1850 |
GDB_CORE_XML); |
1851 | 1851 |
|
1852 |
for (r = env->gdb_regs; r; r = r->next) {
|
|
1852 |
for (r = cpu->gdb_regs; r; r = r->next) {
|
|
1853 | 1853 |
pstrcat(target_xml, sizeof(target_xml), "<xi:include href=\""); |
1854 | 1854 |
pstrcat(target_xml, sizeof(target_xml), r->xml); |
1855 | 1855 |
pstrcat(target_xml, sizeof(target_xml), "\"/>"); |
... | ... | |
1875 | 1875 |
if (reg < NUM_CORE_REGS) |
1876 | 1876 |
return cpu_gdb_read_register(env, mem_buf, reg); |
1877 | 1877 |
|
1878 |
for (r = env->gdb_regs; r; r = r->next) {
|
|
1878 |
for (r = cpu->gdb_regs; r; r = r->next) {
|
|
1879 | 1879 |
if (r->base_reg <= reg && reg < r->base_reg + r->num_regs) { |
1880 | 1880 |
return r->get_reg(env, mem_buf, reg - r->base_reg); |
1881 | 1881 |
} |
... | ... | |
1891 | 1891 |
if (reg < NUM_CORE_REGS) |
1892 | 1892 |
return cpu_gdb_write_register(env, mem_buf, reg); |
1893 | 1893 |
|
1894 |
for (r = env->gdb_regs; r; r = r->next) {
|
|
1894 |
for (r = cpu->gdb_regs; r; r = r->next) {
|
|
1895 | 1895 |
if (r->base_reg <= reg && reg < r->base_reg + r->num_regs) { |
1896 | 1896 |
return r->set_reg(env, mem_buf, reg - r->base_reg); |
1897 | 1897 |
} |
... | ... | |
1910 | 1910 |
gdb_reg_cb get_reg, gdb_reg_cb set_reg, |
1911 | 1911 |
int num_regs, const char *xml, int g_pos) |
1912 | 1912 |
{ |
1913 |
CPUState *cpu = ENV_GET_CPU(env); |
|
1913 | 1914 |
GDBRegisterState *s; |
1914 | 1915 |
GDBRegisterState **p; |
1915 | 1916 |
static int last_reg = NUM_CORE_REGS; |
1916 | 1917 |
|
1917 |
p = &env->gdb_regs;
|
|
1918 |
p = &cpu->gdb_regs;
|
|
1918 | 1919 |
while (*p) { |
1919 | 1920 |
/* Check for duplicates. */ |
1920 | 1921 |
if (strcmp((*p)->xml, xml) == 0) |
Also available in: Unified diff