summary refs log tree commit diff stats
path: root/target/i386/cpu.c
diff options
context:
space:
mode:
authorDoug Gale <doug16k@gmail.com>2019-01-24 00:34:57 -0330
committerPaolo Bonzini <pbonzini@redhat.com>2019-02-05 16:50:18 +0100
commit7b0f97bade8a30eb756739442ea998ef0ab8ab96 (patch)
tree3d3a3034f01cd80a7b08a3ed77e4052a2547a71a /target/i386/cpu.c
parent1edead0f72acc146298c3d4913a7705b2c4a1baa (diff)
downloadfocaccia-qemu-7b0f97bade8a30eb756739442ea998ef0ab8ab96.tar.gz
focaccia-qemu-7b0f97bade8a30eb756739442ea998ef0ab8ab96.zip
gdbstub: Fix i386/x86_64 machine description and add control registers
The machine description we send is being (silently) thrown on the floor
by GDB and GDB silently uses the default machine description, because
the xml parse fails on <feature> nested within <feature>.
Changes to the xml in qemu source code have no effect.

In addition, the default machine description has fs_base, which fails to
be retrieved, which breaks the whole register window.  Add it and the
other control registers.

Signed-off-by: Doug Gale <doug16k@gmail.com>
Message-Id: <20190124040457.2546-1-doug16k@gmail.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'target/i386/cpu.c')
-rw-r--r--target/i386/cpu.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/target/i386/cpu.c b/target/i386/cpu.c
index 6f3b841723..b077196611 100644
--- a/target/i386/cpu.c
+++ b/target/i386/cpu.c
@@ -5870,10 +5870,10 @@ static void x86_cpu_common_class_init(ObjectClass *oc, void *data)
     cc->gdb_arch_name = x86_gdb_arch_name;
 #ifdef TARGET_X86_64
     cc->gdb_core_xml_file = "i386-64bit.xml";
-    cc->gdb_num_core_regs = 57;
+    cc->gdb_num_core_regs = 66;
 #else
     cc->gdb_core_xml_file = "i386-32bit.xml";
-    cc->gdb_num_core_regs = 41;
+    cc->gdb_num_core_regs = 50;
 #endif
 #if defined(CONFIG_TCG) && !defined(CONFIG_USER_ONLY)
     cc->debug_excp_handler = breakpoint_handler;