libvirt/tests/cputestdata/x86-host+guest,model486-result.xml

38 lines
1.5 KiB
XML
Raw Normal View History

Add support for cpu mode attribute The mode can be either of "custom" (default), "host-model", "host-passthrough". The semantics of each mode is described in the following examples: - guest CPU is a default model with specified topology: <cpu> <topology sockets='1' cores='2' threads='1'/> </cpu> - guest CPU matches selected model: <cpu mode='custom' match='exact'> <model>core2duo</model> </cpu> - guest CPU should be a copy of host CPU as advertised by capabilities XML (this is a short cut for manually copying host CPU specification from capabilities to domain XML): <cpu mode='host-model'/> In case a hypervisor does not support the exact host model, libvirt automatically falls back to a closest supported CPU model and removes/adds features to match host. This behavior can be disabled by <cpu mode='host-model'> <model fallback='forbid'/> </cpu> - the same as previous returned by virDomainGetXMLDesc with VIR_DOMAIN_XML_UPDATE_CPU flag: <cpu mode='host-model' match='exact'> <model fallback='allow'>Penryn</model> --+ <vendor>Intel</vendor> | <topology sockets='2' cores='4' threads='1'/> + copied from <feature policy='require' name='dca'/> | capabilities XML <feature policy='require' name='xtpr'/> | ... --+ </cpu> - guest CPU should be exactly the same as host CPU even in the aspects libvirt doesn't model (such domain cannot be migrated unless both hosts contain exactly the same CPUs): <cpu mode='host-passthrough'/> - the same as previous returned by virDomainGetXMLDesc with VIR_DOMAIN_XML_UPDATE_CPU flag: <cpu mode='host-passthrough' match='minimal'> <model>Penryn</model> --+ copied from caps <vendor>Intel</vendor> | XML but doesn't <topology sockets='2' cores='4' threads='1'/> | describe all <feature policy='require' name='dca'/> | aspects of the <feature policy='require' name='xtpr'/> | actual guest CPU ... --+ </cpu>
2011-08-18 10:14:36 +00:00
<cpu mode='custom' match='exact'>
<arch>x86_64</arch>
<model fallback='allow'>486</model>
<feature policy='require' name='de'/>
<feature policy='require' name='tsc'/>
<feature policy='require' name='msr'/>
<feature policy='require' name='pae'/>
<feature policy='require' name='mce'/>
<feature policy='require' name='cx8'/>
<feature policy='require' name='apic'/>
<feature policy='require' name='sep'/>
<feature policy='require' name='mtrr'/>
<feature policy='require' name='pge'/>
<feature policy='require' name='mca'/>
<feature policy='require' name='cmov'/>
<feature policy='require' name='pat'/>
<feature policy='require' name='pse36'/>
<feature policy='require' name='clflush'/>
<feature policy='require' name='mmx'/>
<feature policy='require' name='fxsr'/>
<feature policy='require' name='sse2'/>
<feature policy='require' name='pbe'/>
<feature policy='require' name='pni'/>
<feature policy='require' name='monitor'/>
<feature policy='require' name='ssse3'/>
<feature policy='require' name='cx16'/>
<feature policy='require' name='xtpr'/>
<feature policy='require' name='dca'/>
<feature policy='require' name='sse4.1'/>
<feature policy='require' name='syscall'/>
<feature policy='require' name='nx'/>
<feature policy='require' name='lm'/>
<feature policy='require' name='3dnowext'/>
<feature policy='require' name='lahf_lm'/>
<feature policy='require' name='svm'/>
<feature policy='disable' name='vme'/>
</cpu>