提交 6dd5910d 编写于 作者: J Jiri Denemark

cpu: Add x86 feature flags for CPUID leaf 0xd, sub leaf 1

This was implemented in QEMU by commit 0bb0b2d2fe7f645dda.
Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
上级 4c39a448
...@@ -247,6 +247,20 @@ ...@@ -247,6 +247,20 @@
<cpuid eax_in='0x07' ebx='0x10000000'/> <cpuid eax_in='0x07' ebx='0x10000000'/>
</feature> </feature>
<!-- Processor Extended State Enumeration sub leaf 1 -->
<feature name='xsaveopt'>
<cpuid eax_in='0x0d' ecx_in='0x01' eax='0x00000001'/>
</feature>
<feature name='xsavec'>
<cpuid eax_in='0x0d' ecx_in='0x01' eax='0x00000002'/>
</feature>
<feature name='xgetbv1'>
<cpuid eax_in='0x0d' ecx_in='0x01' eax='0x00000004'/>
</feature>
<feature name='xsaves' migratable='no'>
<cpuid eax_in='0x0d' ecx_in='0x01' eax='0x00000008'/>
</feature>
<!-- extended features, EDX --> <!-- extended features, EDX -->
<feature name='syscall'> <!-- CPUID_EXT2_SYSCALL --> <feature name='syscall'> <!-- CPUID_EXT2_SYSCALL -->
<cpuid eax_in='0x80000001' edx='0x00000800'/> <cpuid eax_in='0x80000001' edx='0x00000800'/>
......
...@@ -20,5 +20,6 @@ ...@@ -20,5 +20,6 @@
<feature policy='require' name='pdcm'/> <feature policy='require' name='pdcm'/>
<feature policy='require' name='pcid'/> <feature policy='require' name='pcid'/>
<feature policy='require' name='osxsave'/> <feature policy='require' name='osxsave'/>
<feature policy='require' name='xsaveopt'/>
<feature policy='require' name='invtsc'/> <feature policy='require' name='invtsc'/>
</cpu> </cpu>
...@@ -20,5 +20,6 @@ ...@@ -20,5 +20,6 @@
<feature name='pdcm'/> <feature name='pdcm'/>
<feature name='pcid'/> <feature name='pcid'/>
<feature name='osxsave'/> <feature name='osxsave'/>
<feature name='xsaveopt'/>
<feature name='invtsc'/> <feature name='invtsc'/>
</cpu> </cpu>
...@@ -6,4 +6,5 @@ ...@@ -6,4 +6,5 @@
<feature policy='require' name='pcid'/> <feature policy='require' name='pcid'/>
<feature policy='require' name='hypervisor'/> <feature policy='require' name='hypervisor'/>
<feature policy='require' name='tsc_adjust'/> <feature policy='require' name='tsc_adjust'/>
<feature policy='require' name='xsaveopt'/>
</cpu> </cpu>
...@@ -20,5 +20,6 @@ ...@@ -20,5 +20,6 @@
<feature policy='require' name='pdcm'/> <feature policy='require' name='pdcm'/>
<feature policy='require' name='pcid'/> <feature policy='require' name='pcid'/>
<feature policy='require' name='osxsave'/> <feature policy='require' name='osxsave'/>
<feature policy='require' name='xsaveopt'/>
<feature policy='require' name='invtsc'/> <feature policy='require' name='invtsc'/>
</cpu> </cpu>
...@@ -20,5 +20,6 @@ ...@@ -20,5 +20,6 @@
<feature name='pdcm'/> <feature name='pdcm'/>
<feature name='pcid'/> <feature name='pcid'/>
<feature name='osxsave'/> <feature name='osxsave'/>
<feature name='xsaveopt'/>
<feature name='invtsc'/> <feature name='invtsc'/>
</cpu> </cpu>
...@@ -6,4 +6,5 @@ ...@@ -6,4 +6,5 @@
<feature policy='require' name='pcid'/> <feature policy='require' name='pcid'/>
<feature policy='require' name='hypervisor'/> <feature policy='require' name='hypervisor'/>
<feature policy='require' name='tsc_adjust'/> <feature policy='require' name='tsc_adjust'/>
<feature policy='require' name='xsaveopt'/>
</cpu> </cpu>
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
<feature policy='require' name='rdrand'/> <feature policy='require' name='rdrand'/>
<feature policy='require' name='hypervisor'/> <feature policy='require' name='hypervisor'/>
<feature policy='require' name='tsc_adjust'/> <feature policy='require' name='tsc_adjust'/>
<feature policy='require' name='xsaveopt'/>
<feature policy='require' name='pdpe1gb'/> <feature policy='require' name='pdpe1gb'/>
<feature policy='require' name='abm'/> <feature policy='require' name='abm'/>
</cpu> </cpu>
...@@ -24,6 +24,10 @@ ...@@ -24,6 +24,10 @@
<feature policy='require' name='tsc_adjust'/> <feature policy='require' name='tsc_adjust'/>
<feature policy='require' name='mpx'/> <feature policy='require' name='mpx'/>
<feature policy='require' name='clflushopt'/> <feature policy='require' name='clflushopt'/>
<feature policy='require' name='xsaveopt'/>
<feature policy='require' name='xsavec'/>
<feature policy='require' name='xgetbv1'/>
<feature policy='require' name='xsaves'/>
<feature policy='require' name='pdpe1gb'/> <feature policy='require' name='pdpe1gb'/>
<feature policy='require' name='abm'/> <feature policy='require' name='abm'/>
<feature policy='require' name='invtsc'/> <feature policy='require' name='invtsc'/>
......
...@@ -24,6 +24,10 @@ ...@@ -24,6 +24,10 @@
<feature name='tsc_adjust'/> <feature name='tsc_adjust'/>
<feature name='mpx'/> <feature name='mpx'/>
<feature name='clflushopt'/> <feature name='clflushopt'/>
<feature name='xsaveopt'/>
<feature name='xsavec'/>
<feature name='xgetbv1'/>
<feature name='xsaves'/>
<feature name='pdpe1gb'/> <feature name='pdpe1gb'/>
<feature name='abm'/> <feature name='abm'/>
<feature name='invtsc'/> <feature name='invtsc'/>
......
...@@ -9,6 +9,10 @@ ...@@ -9,6 +9,10 @@
<feature policy='require' name='tsc_adjust'/> <feature policy='require' name='tsc_adjust'/>
<feature policy='require' name='mpx'/> <feature policy='require' name='mpx'/>
<feature policy='require' name='clflushopt'/> <feature policy='require' name='clflushopt'/>
<feature policy='require' name='xsaveopt'/>
<feature policy='require' name='xsavec'/>
<feature policy='require' name='xgetbv1'/>
<feature policy='require' name='xsaves'/>
<feature policy='require' name='pdpe1gb'/> <feature policy='require' name='pdpe1gb'/>
<feature policy='require' name='abm'/> <feature policy='require' name='abm'/>
</cpu> </cpu>
...@@ -20,5 +20,6 @@ ...@@ -20,5 +20,6 @@
<feature policy='require' name='pdcm'/> <feature policy='require' name='pdcm'/>
<feature policy='require' name='pcid'/> <feature policy='require' name='pcid'/>
<feature policy='require' name='osxsave'/> <feature policy='require' name='osxsave'/>
<feature policy='require' name='xsaveopt'/>
<feature policy='require' name='invtsc'/> <feature policy='require' name='invtsc'/>
</cpu> </cpu>
...@@ -20,5 +20,6 @@ ...@@ -20,5 +20,6 @@
<feature name='pdcm'/> <feature name='pdcm'/>
<feature name='pcid'/> <feature name='pcid'/>
<feature name='osxsave'/> <feature name='osxsave'/>
<feature name='xsaveopt'/>
<feature name='invtsc'/> <feature name='invtsc'/>
</cpu> </cpu>
...@@ -6,4 +6,5 @@ ...@@ -6,4 +6,5 @@
<feature policy='require' name='pcid'/> <feature policy='require' name='pcid'/>
<feature policy='require' name='hypervisor'/> <feature policy='require' name='hypervisor'/>
<feature policy='require' name='tsc_adjust'/> <feature policy='require' name='tsc_adjust'/>
<feature policy='require' name='xsaveopt'/>
</cpu> </cpu>
...@@ -19,5 +19,6 @@ ...@@ -19,5 +19,6 @@
<feature policy='require' name='pdcm'/> <feature policy='require' name='pdcm'/>
<feature policy='require' name='pcid'/> <feature policy='require' name='pcid'/>
<feature policy='require' name='osxsave'/> <feature policy='require' name='osxsave'/>
<feature policy='require' name='xsaveopt'/>
<feature policy='require' name='invtsc'/> <feature policy='require' name='invtsc'/>
</cpu> </cpu>
...@@ -19,5 +19,6 @@ ...@@ -19,5 +19,6 @@
<feature name='pdcm'/> <feature name='pdcm'/>
<feature name='pcid'/> <feature name='pcid'/>
<feature name='osxsave'/> <feature name='osxsave'/>
<feature name='xsaveopt'/>
<feature name='invtsc'/> <feature name='invtsc'/>
</cpu> </cpu>
...@@ -6,4 +6,5 @@ ...@@ -6,4 +6,5 @@
<feature policy='require' name='pcid'/> <feature policy='require' name='pcid'/>
<feature policy='require' name='hypervisor'/> <feature policy='require' name='hypervisor'/>
<feature policy='require' name='tsc_adjust'/> <feature policy='require' name='tsc_adjust'/>
<feature policy='require' name='xsaveopt'/>
</cpu> </cpu>
...@@ -19,5 +19,6 @@ ...@@ -19,5 +19,6 @@
<feature policy='require' name='pdcm'/> <feature policy='require' name='pdcm'/>
<feature policy='require' name='pcid'/> <feature policy='require' name='pcid'/>
<feature policy='require' name='osxsave'/> <feature policy='require' name='osxsave'/>
<feature policy='require' name='xsaveopt'/>
<feature policy='require' name='invtsc'/> <feature policy='require' name='invtsc'/>
</cpu> </cpu>
...@@ -19,5 +19,6 @@ ...@@ -19,5 +19,6 @@
<feature name='pdcm'/> <feature name='pdcm'/>
<feature name='pcid'/> <feature name='pcid'/>
<feature name='osxsave'/> <feature name='osxsave'/>
<feature name='xsaveopt'/>
<feature name='invtsc'/> <feature name='invtsc'/>
</cpu> </cpu>
...@@ -5,4 +5,5 @@ ...@@ -5,4 +5,5 @@
<feature policy='require' name='pcid'/> <feature policy='require' name='pcid'/>
<feature policy='require' name='hypervisor'/> <feature policy='require' name='hypervisor'/>
<feature policy='require' name='tsc_adjust'/> <feature policy='require' name='tsc_adjust'/>
<feature policy='require' name='xsaveopt'/>
</cpu> </cpu>
...@@ -22,6 +22,7 @@ ...@@ -22,6 +22,7 @@
<feature policy='require' name='f16c'/> <feature policy='require' name='f16c'/>
<feature policy='require' name='rdrand'/> <feature policy='require' name='rdrand'/>
<feature policy='require' name='tsc_adjust'/> <feature policy='require' name='tsc_adjust'/>
<feature policy='require' name='xsaveopt'/>
<feature policy='require' name='pdpe1gb'/> <feature policy='require' name='pdpe1gb'/>
<feature policy='require' name='abm'/> <feature policy='require' name='abm'/>
<feature policy='require' name='invtsc'/> <feature policy='require' name='invtsc'/>
......
...@@ -22,6 +22,7 @@ ...@@ -22,6 +22,7 @@
<feature name='f16c'/> <feature name='f16c'/>
<feature name='rdrand'/> <feature name='rdrand'/>
<feature name='tsc_adjust'/> <feature name='tsc_adjust'/>
<feature name='xsaveopt'/>
<feature name='pdpe1gb'/> <feature name='pdpe1gb'/>
<feature name='abm'/> <feature name='abm'/>
<feature name='invtsc'/> <feature name='invtsc'/>
......
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
<feature policy='require' name='rdrand'/> <feature policy='require' name='rdrand'/>
<feature policy='require' name='hypervisor'/> <feature policy='require' name='hypervisor'/>
<feature policy='require' name='tsc_adjust'/> <feature policy='require' name='tsc_adjust'/>
<feature policy='require' name='xsaveopt'/>
<feature policy='require' name='pdpe1gb'/> <feature policy='require' name='pdpe1gb'/>
<feature policy='require' name='abm'/> <feature policy='require' name='abm'/>
</cpu> </cpu>
...@@ -22,6 +22,7 @@ ...@@ -22,6 +22,7 @@
<feature policy='require' name='f16c'/> <feature policy='require' name='f16c'/>
<feature policy='require' name='rdrand'/> <feature policy='require' name='rdrand'/>
<feature policy='require' name='tsc_adjust'/> <feature policy='require' name='tsc_adjust'/>
<feature policy='require' name='xsaveopt'/>
<feature policy='require' name='pdpe1gb'/> <feature policy='require' name='pdpe1gb'/>
<feature policy='require' name='abm'/> <feature policy='require' name='abm'/>
<feature policy='require' name='invtsc'/> <feature policy='require' name='invtsc'/>
......
...@@ -22,6 +22,7 @@ ...@@ -22,6 +22,7 @@
<feature name='f16c'/> <feature name='f16c'/>
<feature name='rdrand'/> <feature name='rdrand'/>
<feature name='tsc_adjust'/> <feature name='tsc_adjust'/>
<feature name='xsaveopt'/>
<feature name='pdpe1gb'/> <feature name='pdpe1gb'/>
<feature name='abm'/> <feature name='abm'/>
<feature name='invtsc'/> <feature name='invtsc'/>
......
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
<feature policy='require' name='rdrand'/> <feature policy='require' name='rdrand'/>
<feature policy='require' name='hypervisor'/> <feature policy='require' name='hypervisor'/>
<feature policy='require' name='tsc_adjust'/> <feature policy='require' name='tsc_adjust'/>
<feature policy='require' name='xsaveopt'/>
<feature policy='require' name='pdpe1gb'/> <feature policy='require' name='pdpe1gb'/>
<feature policy='require' name='abm'/> <feature policy='require' name='abm'/>
</cpu> </cpu>
...@@ -24,6 +24,10 @@ ...@@ -24,6 +24,10 @@
<feature policy='require' name='tsc_adjust'/> <feature policy='require' name='tsc_adjust'/>
<feature policy='require' name='mpx'/> <feature policy='require' name='mpx'/>
<feature policy='require' name='clflushopt'/> <feature policy='require' name='clflushopt'/>
<feature policy='require' name='xsaveopt'/>
<feature policy='require' name='xsavec'/>
<feature policy='require' name='xgetbv1'/>
<feature policy='require' name='xsaves'/>
<feature policy='require' name='pdpe1gb'/> <feature policy='require' name='pdpe1gb'/>
<feature policy='require' name='abm'/> <feature policy='require' name='abm'/>
<feature policy='require' name='invtsc'/> <feature policy='require' name='invtsc'/>
......
...@@ -24,6 +24,10 @@ ...@@ -24,6 +24,10 @@
<feature name='tsc_adjust'/> <feature name='tsc_adjust'/>
<feature name='mpx'/> <feature name='mpx'/>
<feature name='clflushopt'/> <feature name='clflushopt'/>
<feature name='xsaveopt'/>
<feature name='xsavec'/>
<feature name='xgetbv1'/>
<feature name='xsaves'/>
<feature name='pdpe1gb'/> <feature name='pdpe1gb'/>
<feature name='abm'/> <feature name='abm'/>
<feature name='invtsc'/> <feature name='invtsc'/>
......
...@@ -10,6 +10,9 @@ ...@@ -10,6 +10,9 @@
<feature policy='require' name='tsc_adjust'/> <feature policy='require' name='tsc_adjust'/>
<feature policy='require' name='mpx'/> <feature policy='require' name='mpx'/>
<feature policy='require' name='clflushopt'/> <feature policy='require' name='clflushopt'/>
<feature policy='require' name='xsaveopt'/>
<feature policy='require' name='xsavec'/>
<feature policy='require' name='xgetbv1'/>
<feature policy='require' name='pdpe1gb'/> <feature policy='require' name='pdpe1gb'/>
<feature policy='require' name='abm'/> <feature policy='require' name='abm'/>
</cpu> </cpu>
...@@ -23,6 +23,7 @@ ...@@ -23,6 +23,7 @@
<feature policy='require' name='f16c'/> <feature policy='require' name='f16c'/>
<feature policy='require' name='rdrand'/> <feature policy='require' name='rdrand'/>
<feature policy='require' name='tsc_adjust'/> <feature policy='require' name='tsc_adjust'/>
<feature policy='require' name='xsaveopt'/>
<feature policy='require' name='pdpe1gb'/> <feature policy='require' name='pdpe1gb'/>
<feature policy='require' name='abm'/> <feature policy='require' name='abm'/>
<feature policy='require' name='invtsc'/> <feature policy='require' name='invtsc'/>
......
...@@ -23,6 +23,7 @@ ...@@ -23,6 +23,7 @@
<feature name='f16c'/> <feature name='f16c'/>
<feature name='rdrand'/> <feature name='rdrand'/>
<feature name='tsc_adjust'/> <feature name='tsc_adjust'/>
<feature name='xsaveopt'/>
<feature name='pdpe1gb'/> <feature name='pdpe1gb'/>
<feature name='abm'/> <feature name='abm'/>
<feature name='invtsc'/> <feature name='invtsc'/>
......
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
<feature policy='require' name='rdrand'/> <feature policy='require' name='rdrand'/>
<feature policy='require' name='hypervisor'/> <feature policy='require' name='hypervisor'/>
<feature policy='require' name='tsc_adjust'/> <feature policy='require' name='tsc_adjust'/>
<feature policy='require' name='xsaveopt'/>
<feature policy='require' name='pdpe1gb'/> <feature policy='require' name='pdpe1gb'/>
<feature policy='require' name='abm'/> <feature policy='require' name='abm'/>
</cpu> </cpu>
...@@ -23,6 +23,7 @@ ...@@ -23,6 +23,7 @@
<feature policy='require' name='f16c'/> <feature policy='require' name='f16c'/>
<feature policy='require' name='rdrand'/> <feature policy='require' name='rdrand'/>
<feature policy='require' name='tsc_adjust'/> <feature policy='require' name='tsc_adjust'/>
<feature policy='require' name='xsaveopt'/>
<feature policy='require' name='pdpe1gb'/> <feature policy='require' name='pdpe1gb'/>
<feature policy='require' name='abm'/> <feature policy='require' name='abm'/>
<feature policy='require' name='invtsc'/> <feature policy='require' name='invtsc'/>
......
...@@ -23,6 +23,7 @@ ...@@ -23,6 +23,7 @@
<feature name='f16c'/> <feature name='f16c'/>
<feature name='rdrand'/> <feature name='rdrand'/>
<feature name='tsc_adjust'/> <feature name='tsc_adjust'/>
<feature name='xsaveopt'/>
<feature name='pdpe1gb'/> <feature name='pdpe1gb'/>
<feature name='abm'/> <feature name='abm'/>
<feature name='invtsc'/> <feature name='invtsc'/>
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册