Skip to content
Snippets Groups Projects
Commit 75ac231c authored by TaiseiIto's avatar TaiseiIto Committed by Paolo Bonzini
Browse files

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: default avatarTaiseiIto <taisei1212@outlook.jp>
Message-Id: <TY0PR0101MB4285F637209075C9F65FCDA6A4479@TY0PR0101MB4285.apcprd01.prod.exchangelabs.com>
Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
parent e0d034bb
No related branches found
No related tags found
No related merge requests found
......@@ -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"/>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment