50 lines
1.8 KiB
Diff
50 lines
1.8 KiB
Diff
|
|
From 9fd0035ff518ab3d2d4ee2578176fb562f9eb161 Mon Sep 17 00:00:00 2001
|
||
|
|
From: cmss_dx <dingxiang@cmss.chinamobile.com>
|
||
|
|
Date: Wed, 23 Nov 2022 06:05:06 +0000
|
||
|
|
Subject: [PATCH 06/29] gdb-xml: Fix size of EFER register on i386 architecture
|
||
|
|
when debugged by GDB mainline inclusion from mainline-v7.2.0-rc2 commit
|
||
|
|
75ac231c67cdb13f0609943fab5499963858b587 category: bugfix
|
||
|
|
|
||
|
|
--------------------------------------------
|
||
|
|
|
||
|
|
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>
|
||
|
|
|
||
|
|
Signed-off-by: cmss_dx <dingxiang@cmss.chinamobile.com>
|
||
|
|
---
|
||
|
|
gdb-xml/i386-32bit.xml | 2 +-
|
||
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||
|
|
|
||
|
|
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"/>
|
||
|
|
--
|
||
|
|
2.27.0
|
||
|
|
|