xref: /qemu/gdb-xml/i386-32bit.xml (revision 75ac231c67cdb13f0609943fab5499963858b587)
1 <?xml version="1.0"?>
2 <!-- Copyright (C) 2010-2017 Free Software Foundation, Inc.
3 
4      Copying and distribution of this file, with or without modification,
5      are permitted in any medium without royalty provided the copyright
6      notice and this notice are preserved.  -->
7 
8 <!-- I386 with SSE -->
9 
10 <!DOCTYPE target SYSTEM "gdb-target.dtd">
11 <feature name="org.gnu.gdb.i386.core">
12   <flags id="i386_eflags" size="4">
13 	<field name="" start="22" end="31"/>
14 	<field name="ID" start="21" end="21"/>
15 	<field name="VIP" start="20" end="20"/>
16 	<field name="VIF" start="19" end="19"/>
17 	<field name="AC" start="18" end="18"/>
18 	<field name="VM" start="17" end="17"/>
19 	<field name="RF" start="16" end="16"/>
20 	<field name="" start="15" end="15"/>
21 	<field name="NT" start="14" end="14"/>
22 	<field name="IOPL" start="12" end="13"/>
23 	<field name="OF" start="11" end="11"/>
24 	<field name="DF" start="10" end="10"/>
25 	<field name="IF" start="9" end="9"/>
26 	<field name="TF" start="8" end="8"/>
27 	<field name="SF" start="7" end="7"/>
28 	<field name="ZF" start="6" end="6"/>
29 	<field name="" start="5" end="5"/>
30 	<field name="AF" start="4" end="4"/>
31 	<field name="" start="3" end="3"/>
32 	<field name="PF" start="2" end="2"/>
33 	<field name="" start="1" end="1"/>
34 	<field name="CF" start="0" end="0"/>
35   </flags>
36 
37   <reg name="eax" bitsize="32" type="int32" regnum="0"/>
38   <reg name="ecx" bitsize="32" type="int32"/>
39   <reg name="edx" bitsize="32" type="int32"/>
40   <reg name="ebx" bitsize="32" type="int32"/>
41   <reg name="esp" bitsize="32" type="data_ptr"/>
42   <reg name="ebp" bitsize="32" type="data_ptr"/>
43   <reg name="esi" bitsize="32" type="int32"/>
44   <reg name="edi" bitsize="32" type="int32"/>
45 
46   <reg name="eip" bitsize="32" type="code_ptr"/>
47   <reg name="eflags" bitsize="32" type="i386_eflags"/>
48 
49   <reg name="cs" bitsize="32" type="int32"/>
50   <reg name="ss" bitsize="32" type="int32"/>
51   <reg name="ds" bitsize="32" type="int32"/>
52   <reg name="es" bitsize="32" type="int32"/>
53   <reg name="fs" bitsize="32" type="int32"/>
54   <reg name="gs" bitsize="32" type="int32"/>
55 
56   <!-- Segment descriptor caches and TLS base MSRs -->
57 
58   <!--reg name="cs_base" bitsize="32" type="int32"/>
59   <reg name="ss_base" bitsize="32" type="int32"/>
60   <reg name="ds_base" bitsize="32" type="int32"/>
61   <reg name="es_base" bitsize="32" type="int32"/-->
62   <reg name="fs_base" bitsize="32" type="int32"/>
63   <reg name="gs_base" bitsize="32" type="int32"/>
64   <reg name="k_gs_base" bitsize="32" type="int32"/>
65 
66   <flags id="i386_cr0" size="4">
67 	<field name="PG" start="31" end="31"/>
68 	<field name="CD" start="30" end="30"/>
69 	<field name="NW" start="29" end="29"/>
70 	<field name="AM" start="18" end="18"/>
71 	<field name="WP" start="16" end="16"/>
72 	<field name="NE" start="5" end="5"/>
73 	<field name="ET" start="4" end="4"/>
74 	<field name="TS" start="3" end="3"/>
75 	<field name="EM" start="2" end="2"/>
76 	<field name="MP" start="1" end="1"/>
77 	<field name="PE" start="0" end="0"/>
78   </flags>
79 
80   <flags id="i386_cr3" size="4">
81 	<field name="PDBR" start="12" end="31"/>
82 	<!--field name="" start="3" end="11"/>
83 	<field name="WT" start="2" end="2"/>
84 	<field name="CD" start="1" end="1"/>
85 	<field name="" start="0" end="0"/-->
86 	<field name="PCID" start="0" end="11"/>
87   </flags>
88 
89   <flags id="i386_cr4" size="4">
90 	<field name="VME" start="0" end="0"/>
91 	<field name="PVI" start="1" end="1"/>
92 	<field name="TSD" start="2" end="2"/>
93 	<field name="DE" start="3" end="3"/>
94 	<field name="PSE" start="4" end="4"/>
95 	<field name="PAE" start="5" end="5"/>
96 	<field name="MCE" start="6" end="6"/>
97 	<field name="PGE" start="7" end="7"/>
98 	<field name="PCE" start="8" end="8"/>
99 	<field name="OSFXSR" start="9" end="9"/>
100 	<field name="OSXMMEXCPT" start="10" end="10"/>
101 	<field name="UMIP" start="11" end="11"/>
102 	<field name="LA57" start="12" end="12"/>
103 	<field name="VMXE" start="13" end="13"/>
104 	<field name="SMXE" start="14" end="14"/>
105 	<field name="FSGSBASE" start="16" end="16"/>
106 	<field name="PCIDE" start="17" end="17"/>
107 	<field name="OSXSAVE" start="18" end="18"/>
108 	<field name="SMEP" start="20" end="20"/>
109 	<field name="SMAP" start="21" end="21"/>
110 	<field name="PKE" start="22" end="22"/>
111   </flags>
112 
113   <flags id="i386_efer" size="4">
114 	<field name="TCE" start="15" end="15"/>
115 	<field name="FFXSR" start="14" end="14"/>
116 	<field name="LMSLE" start="13" end="13"/>
117 	<field name="SVME" start="12" end="12"/>
118 	<field name="NXE" start="11" end="11"/>
119 	<field name="LMA" start="10" end="10"/>
120 	<field name="LME" start="8" end="8"/>
121 	<field name="SCE" start="0" end="0"/>
122   </flags>
123 
124   <reg name="cr0" bitsize="32" type="i386_cr0"/>
125   <reg name="cr2" bitsize="32" type="int32"/>
126   <reg name="cr3" bitsize="32" type="i386_cr3"/>
127   <reg name="cr4" bitsize="32" type="i386_cr4"/>
128   <reg name="cr8" bitsize="32" type="int32"/>
129   <reg name="efer" bitsize="32" type="i386_efer"/>
130 
131   <reg name="st0" bitsize="80" type="i387_ext"/>
132   <reg name="st1" bitsize="80" type="i387_ext"/>
133   <reg name="st2" bitsize="80" type="i387_ext"/>
134   <reg name="st3" bitsize="80" type="i387_ext"/>
135   <reg name="st4" bitsize="80" type="i387_ext"/>
136   <reg name="st5" bitsize="80" type="i387_ext"/>
137   <reg name="st6" bitsize="80" type="i387_ext"/>
138   <reg name="st7" bitsize="80" type="i387_ext"/>
139 
140   <reg name="fctrl" bitsize="32" type="int" group="float"/>
141   <reg name="fstat" bitsize="32" type="int" group="float"/>
142   <reg name="ftag" bitsize="32" type="int" group="float"/>
143   <reg name="fiseg" bitsize="32" type="int" group="float"/>
144   <reg name="fioff" bitsize="32" type="int" group="float"/>
145   <reg name="foseg" bitsize="32" type="int" group="float"/>
146   <reg name="fooff" bitsize="32" type="int" group="float"/>
147   <reg name="fop" bitsize="32" type="int" group="float"/>
148 <!--/feature>
149 <feature name="org.gnu.gdb.i386.32bit.sse"-->
150   <vector id="v4f" type="ieee_single" count="4"/>
151   <vector id="v2d" type="ieee_double" count="2"/>
152   <vector id="v16i8" type="int8" count="16"/>
153   <vector id="v8i16" type="int16" count="8"/>
154   <vector id="v4i32" type="int32" count="4"/>
155   <vector id="v2i64" type="int64" count="2"/>
156   <union id="vec128">
157 	<field name="v4_float" type="v4f"/>
158 	<field name="v2_double" type="v2d"/>
159 	<field name="v16_int8" type="v16i8"/>
160 	<field name="v8_int16" type="v8i16"/>
161 	<field name="v4_int32" type="v4i32"/>
162 	<field name="v2_int64" type="v2i64"/>
163 	<field name="uint128" type="uint128"/>
164   </union>
165   <flags id="i386_mxcsr" size="4">
166 	<field name="IE" start="0" end="0"/>
167 	<field name="DE" start="1" end="1"/>
168 	<field name="ZE" start="2" end="2"/>
169 	<field name="OE" start="3" end="3"/>
170 	<field name="UE" start="4" end="4"/>
171 	<field name="PE" start="5" end="5"/>
172 	<field name="DAZ" start="6" end="6"/>
173 	<field name="IM" start="7" end="7"/>
174 	<field name="DM" start="8" end="8"/>
175 	<field name="ZM" start="9" end="9"/>
176 	<field name="OM" start="10" end="10"/>
177 	<field name="UM" start="11" end="11"/>
178 	<field name="PM" start="12" end="12"/>
179 	<field name="FZ" start="15" end="15"/>
180   </flags>
181 
182   <reg name="xmm0" bitsize="128" type="vec128"/>
183   <reg name="xmm1" bitsize="128" type="vec128"/>
184   <reg name="xmm2" bitsize="128" type="vec128"/>
185   <reg name="xmm3" bitsize="128" type="vec128"/>
186   <reg name="xmm4" bitsize="128" type="vec128"/>
187   <reg name="xmm5" bitsize="128" type="vec128"/>
188   <reg name="xmm6" bitsize="128" type="vec128"/>
189   <reg name="xmm7" bitsize="128" type="vec128"/>
190 
191   <reg name="mxcsr" bitsize="32" type="i386_mxcsr" group="vector"/>
192 </feature>
193