Inheritance among CPU model is cool but it makes reviewing CPU model
definitions and comparing them to CPU models from QEMU rather hard and
unpleasant. Let's define all CPU models from scratch.
Signed-off-by: Jiri Denemark <jdenemar(a)redhat.com>
---
src/cpu/cpu_map.xml | 104 ++++++++++++++++++++++++++++++++++++++++++++++++++--
1 file changed, 100 insertions(+), 4 deletions(-)
diff --git a/src/cpu/cpu_map.xml b/src/cpu/cpu_map.xml
index 1114c0c..5e7534f 100644
--- a/src/cpu/cpu_map.xml
+++ b/src/cpu/cpu_map.xml
@@ -580,14 +580,62 @@
</model>
<model name='cpu64-rhel6'>
- <model name='cpu64-rhel5'/>
+ <feature name='apic'/>
+ <feature name='clflush'/>
+ <feature name='cmov'/>
<feature name='cx16'/>
+ <feature name='cx8'/>
+ <feature name='de'/>
+ <feature name='fpu'/>
+ <feature name='fxsr'/>
<feature name='lahf_lm'/>
+ <feature name='lm'/>
+ <feature name='mca'/>
+ <feature name='mce'/>
+ <feature name='mmx'/>
+ <feature name='msr'/>
+ <feature name='mtrr'/>
+ <feature name='nx'/>
+ <feature name='pae'/>
+ <feature name='pat'/>
+ <feature name='pge'/>
+ <feature name='pni'/>
+ <feature name='pse'/>
+ <feature name='pse36'/>
+ <feature name='sep'/>
+ <feature name='sse'/>
+ <feature name='sse2'/>
+ <feature name='syscall'/>
+ <feature name='tsc'/>
</model>
<model name='kvm64'>
- <model name='cpu64-rhel5'/>
+ <feature name='apic'/>
+ <feature name='clflush'/>
+ <feature name='cmov'/>
<feature name='cx16'/>
+ <feature name='cx8'/>
+ <feature name='de'/>
+ <feature name='fpu'/>
+ <feature name='fxsr'/>
+ <feature name='lm'/>
+ <feature name='mca'/>
+ <feature name='mce'/>
+ <feature name='mmx'/>
+ <feature name='msr'/>
+ <feature name='mtrr'/>
+ <feature name='nx'/>
+ <feature name='pae'/>
+ <feature name='pat'/>
+ <feature name='pge'/>
+ <feature name='pni'/>
+ <feature name='pse'/>
+ <feature name='pse36'/>
+ <feature name='sep'/>
+ <feature name='sse'/>
+ <feature name='sse2'/>
+ <feature name='syscall'/>
+ <feature name='tsc'/>
</model>
<model name='qemu64'>
@@ -725,19 +773,67 @@
</model>
<model name='phenom'>
- <model name='cpu64-rhel5'/>
<vendor name='AMD'/>
<feature name='3dnow'/>
<feature name='3dnowext'/>
+ <feature name='apic'/>
+ <feature name='clflush'/>
+ <feature name='cmov'/>
+ <feature name='cx8'/>
+ <feature name='de'/>
+ <feature name='fpu'/>
+ <feature name='fxsr'/>
<feature name='fxsr_opt'/>
+ <feature name='lm'/>
+ <feature name='mca'/>
+ <feature name='mce'/>
+ <feature name='mmx'/>
<feature name='mmxext'/>
<feature name='monitor'/>
+ <feature name='msr'/>
+ <feature name='mtrr'/>
+ <feature name='nx'/>
+ <feature name='pae'/>
+ <feature name='pat'/>
+ <feature name='pge'/>
+ <feature name='pni'/>
+ <feature name='pse'/>
+ <feature name='pse36'/>
+ <feature name='sep'/>
+ <feature name='sse'/>
+ <feature name='sse2'/>
<feature name='svm'/>
+ <feature name='syscall'/>
+ <feature name='tsc'/>
</model>
<model name='Opteron_G1'>
- <model name='cpu64-rhel5'/>
<vendor name='AMD'/>
+ <feature name='apic'/>
+ <feature name='clflush'/>
+ <feature name='cmov'/>
+ <feature name='cx8'/>
+ <feature name='de'/>
+ <feature name='fpu'/>
+ <feature name='fxsr'/>
+ <feature name='lm'/>
+ <feature name='mca'/>
+ <feature name='mce'/>
+ <feature name='mmx'/>
+ <feature name='msr'/>
+ <feature name='mtrr'/>
+ <feature name='nx'/>
+ <feature name='pae'/>
+ <feature name='pat'/>
+ <feature name='pge'/>
+ <feature name='pni'/>
+ <feature name='pse'/>
+ <feature name='pse36'/>
+ <feature name='sep'/>
+ <feature name='sse'/>
+ <feature name='sse2'/>
+ <feature name='syscall'/>
+ <feature name='tsc'/>
</model>
<model name='Opteron_G2'>
--
2.4.4