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:16 +0300
commit1f6b545bf29dafecedd7647e0a90474b49f35730 (patch)
treede1fe2a1d43797fcc0a6433c1f9039bc37d888b0
parent2eccca814185ef5f2318213d00c3aa803b769f05 (diff)
downloadqemu-1f6b545bf29dafecedd7647e0a90474b49f35730.tar.gz
qemu-1f6b545bf29dafecedd7647e0a90474b49f35730.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"/>