summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMathias Krause <minipli@grsecurity.net>2026-03-27 15:34:13 +0100
committerMichael Tokarev <mjt@tls.msk.ru>2026-06-19 08:43:08 +0300
commitb7e3ea6eb3a712834dad7612db7175c8ea56d9e9 (patch)
treef43e40294e9e5eb38fd167ebc22b428e649230ac
parent5f0e74c93d9c8376e0490dec5c6cf5873b56a261 (diff)
downloadqemu-b7e3ea6eb3a712834dad7612db7175c8ea56d9e9.tar.gz
qemu-b7e3ea6eb3a712834dad7612db7175c8ea56d9e9.zip
gdbstub: Update x86 control register bits
The control register bits haven't been updated in a few years, making them lack behind features QEMU ganied in these years. Update them to the current version of the SDM and sort the 32bit version to be in line with all the other definitions (descending order). This should remove confusion when debugging, for example, CET-enabled guests: - before the change: (gdb) info registers cr4 cr4 0x8000f0 [ PGE MCE PAE PSE ] - after the change: (gdb) info registers cr4 cr4 0x8000f0 [ CET PGE MCE PAE PSE ] Signed-off-by: Mathias Krause <minipli@grsecurity.net> Link: https://lore.kernel.org/r/20260327143413.254227-1-minipli@grsecurity.net Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> (cherry picked from commit 88d39a2937ebad64b8aed8247450e1a6ddf274be) Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
-rw-r--r--gdb-xml/i386-32bit.xml47
-rw-r--r--gdb-xml/i386-64bit.xml7
2 files changed, 34 insertions, 20 deletions
diff --git a/gdb-xml/i386-32bit.xml b/gdb-xml/i386-32bit.xml
index 7a66a02b67..1dec40e1d2 100644
--- a/gdb-xml/i386-32bit.xml
+++ b/gdb-xml/i386-32bit.xml
@@ -87,27 +87,34 @@
</flags>
<flags id="i386_cr4" size="4">
- <field name="VME" start="0" end="0"/>
- <field name="PVI" start="1" end="1"/>
- <field name="TSD" start="2" end="2"/>
- <field name="DE" start="3" end="3"/>
- <field name="PSE" start="4" end="4"/>
- <field name="PAE" start="5" end="5"/>
- <field name="MCE" start="6" end="6"/>
- <field name="PGE" start="7" end="7"/>
- <field name="PCE" start="8" end="8"/>
- <field name="OSFXSR" start="9" end="9"/>
- <field name="OSXMMEXCPT" start="10" end="10"/>
- <field name="UMIP" start="11" end="11"/>
- <field name="LA57" start="12" end="12"/>
- <field name="VMXE" start="13" end="13"/>
- <field name="SMXE" start="14" end="14"/>
- <field name="FSGSBASE" start="16" end="16"/>
- <field name="PCIDE" start="17" end="17"/>
- <field name="OSXSAVE" start="18" end="18"/>
- <field name="SMEP" start="20" end="20"/>
- <field name="SMAP" start="21" end="21"/>
+ <field name="LAM_SUP" start="28" end="28"/>
+ <field name="LASS" start="27" end="27"/>
+ <field name="UINTR" start="25" end="25"/>
+ <field name="PKS" start="24" end="24"/>
+ <field name="CET" start="23" end="23"/>
+ <field name="PKE" start="22" end="22"/>
<field name="PKE" start="22" end="22"/>
+ <field name="SMAP" start="21" end="21"/>
+ <field name="SMEP" start="20" end="20"/>
+ <field name="KL" start="19" end="19"/>
+ <field name="OSXSAVE" start="18" end="18"/>
+ <field name="PCIDE" start="17" end="17"/>
+ <field name="FSGSBASE" start="16" end="16"/>
+ <field name="SMXE" start="14" end="14"/>
+ <field name="VMXE" start="13" end="13"/>
+ <field name="LA57" start="12" end="12"/>
+ <field name="UMIP" start="11" end="11"/>
+ <field name="OSXMMEXCPT" start="10" end="10"/>
+ <field name="OSFXSR" start="9" end="9"/>
+ <field name="PCE" start="8" end="8"/>
+ <field name="PGE" start="7" end="7"/>
+ <field name="MCE" start="6" end="6"/>
+ <field name="PAE" start="5" end="5"/>
+ <field name="PSE" start="4" end="4"/>
+ <field name="DE" start="3" end="3"/>
+ <field name="TSD" start="2" end="2"/>
+ <field name="PVI" start="1" end="1"/>
+ <field name="VME" start="0" end="0"/>
</flags>
<flags id="i386_efer" size="4">
diff --git a/gdb-xml/i386-64bit.xml b/gdb-xml/i386-64bit.xml
index 6d88969211..9ac9164e6a 100644
--- a/gdb-xml/i386-64bit.xml
+++ b/gdb-xml/i386-64bit.xml
@@ -102,9 +102,16 @@
</flags>
<flags id="x64_cr4" size="8">
+ <field name="FRED" start="32" end="32"/>
+ <field name="LAM_SUP" start="28" end="28"/>
+ <field name="LASS" start="27" end="27"/>
+ <field name="UINTR" start="25" end="25"/>
+ <field name="PKS" start="24" end="24"/>
+ <field name="CET" start="23" end="23"/>
<field name="PKE" start="22" end="22"/>
<field name="SMAP" start="21" end="21"/>
<field name="SMEP" start="20" end="20"/>
+ <field name="KL" start="19" end="19"/>
<field name="OSXSAVE" start="18" end="18"/>
<field name="PCIDE" start="17" end="17"/>
<field name="FSGSBASE" start="16" end="16"/>