summaryrefslogtreecommitdiffstats
path: root/gdb-xml
diff options
context:
space:
mode:
authorTaiseiIto2022-09-13 14:06:00 +0200
committerPaolo Bonzini2022-11-06 09:48:26 +0100
commit75ac231c67cdb13f0609943fab5499963858b587 (patch)
tree60c004daf69799114e9b1f90920e9188efcc8c8b /gdb-xml
parentutil/aio-win32: Correct the event array size in aio_poll() (diff)
downloadqemu-75ac231c67cdb13f0609943fab5499963858b587.tar.gz
qemu-75ac231c67cdb13f0609943fab5499963858b587.tar.xz
qemu-75ac231c67cdb13f0609943fab5499963858b587.zip
gdb-xml: Fix size of EFER register on i386 architecture when debugged by GDB
Before this commit, there were contradictory descriptions about size of EFER register. Line 113 says the size is 8 bytes. Line 129 says the size is 4 bytes. As a result, when GDB is debugging an OS running on QEMU, the GDB cannot read 'g' packets correctly. This 'g' packet transmits values of each registers of machine emulated by QEMU to GDB. QEMU, the packet sender, assign 4 bytes for EFER in 'g' packet based on the line 113. GDB, the packet receiver, extract 8 bytes for EFER in 'g' packet based on the line 129. Therefore, all registers located behind EFER in 'g' packet has been shifted 4 bytes in GDB. After this commit, GDB can read 'g' packets correctly. Signed-off-by: TaiseiIto <taisei1212@outlook.jp> Message-Id: <TY0PR0101MB4285F637209075C9F65FCDA6A4479@TY0PR0101MB4285.apcprd01.prod.exchangelabs.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'gdb-xml')
-rw-r--r--gdb-xml/i386-32bit.xml2
1 files changed, 1 insertions, 1 deletions
diff --git a/gdb-xml/i386-32bit.xml b/gdb-xml/i386-32bit.xml
index 872fcea9c2..7a66a02b67 100644
--- a/gdb-xml/i386-32bit.xml
+++ b/gdb-xml/i386-32bit.xml
@@ -110,7 +110,7 @@
<field name="PKE" start="22" end="22"/>
</flags>
- <flags id="i386_efer" size="8">
+ <flags id="i386_efer" size="4">
<field name="TCE" start="15" end="15"/>
<field name="FFXSR" start="14" end="14"/>
<field name="LMSLE" start="13" end="13"/>