Fedora 19 supports the use of the following QEMU CPU model definitions:
Supported CPU Models
Fedora 19 supports the use of the following QEMU CPU model definitions:
Opteron_G4
- AMD Opteron 62xx (Gen 4 Class Opteron)
Opteron_G3
- AMD Opteron 23xx (Gen 3 Class Opteron)
Opteron_G2
- AMD Opteron 22xx (Gen 2 Class Opteron)
Opteron_G1
- AMD Opteron 240 (Gen 1 Class Opteron)
SandyBridge
- Intel Xeon E312xx (Sandy Bridge)
Nehalem
- Intel Core i7 9xx (Nehalem Class Core i7)
Penryn
- Intel Core 2 Duo P9xxx (Penryn Class Core 2)
Conroe
- Intel Celeron_4x0 (Conroe/Merom Class Core 2)
Westmere
- Westmere E56xx/L56xx/X56xx (Nehalem-C)
3.2.1. Guest CPU models
Historically, CPU model definitions were hard-coded in qemu. This method of defining CPU models was inflexible, and made it difficult to create virtual CPUs with feature sets that matched existing physical CPUs. Typically, users modified a basic CPU model definition with feature flags in order to provide the CPU characteristics required by a virtual machine. Unless these feature sets were carefully controlled, safe migration — which requires feature sets between current and prospective hosts to match — was difficult to support.
qemu-kvm has now replaced most hard-wired definitions with configuration file based CPU model definitions. Definitions for a number of current processor models are now included by default, allowing users to specify features more accurately and migrate more safely.
A list of supported guest CPU models can be viewed with the
/usr/libexec/qemu-kvm -cpu ?model
command. This command outputs the name
used to select the CPU model at the command line, and a model identifier that corresponds to a commercial instance of that processor class.Configuration details for all of these CPU models can be viewed with the
/usr/libexec/qemu-kvm -cpu ?dump
command, but they are also stored in the /usr/share/qemu-kvm/cpu-model/cpu-x86_64.conf
file by default. Each CPU model definition begins with [cpudef]
, as shown:[cpudef] name = "Nehalem" level = "2" vendor = "GenuineIntel" family = "6" model = "26" stepping = "3" feature_edx = "sse2 sse fxsr mmx clflush pse36 pat cmov mca \ pge mtrr sep apic cx8 mce pae msr tsc pse de fpu" feature_ecx = "popcnt x2apic sse4.2 sse4.1 cx16 ssse3 sse3" extfeature_edx = "i64 syscall xd" extfeature_ecx = "lahf_lm" xlevel = "0x8000000A" model_id = "Intel Core i7 9xx (Nehalem Class Core i7)"
The four CPUID fields,
feature_edx
, feature_ecx
, extfeature_edx
and extfeature_ecx
, accept named flag values from the corresponding feature sets listed by the /usr/libexec/qemu-kvm -cpu ?cpuid
command, as shown:# /usr/libexec/qemu-kvm -cpu ?cpuid Recognized CPUID flags: f_edx: pbe ia64 tm ht ss sse2 sse fxsr mmx acpi ds clflush pn \ pse36 pat cmov mca pge mtrr sep apic cx8 mce pae msr tsc \ pse de vme fpu f_ecx: hypervisor avx osxsave xsave aes popcnt movbe x2apic \ sse4.2|sse4_2 sse4.1|sse4_1 dca pdcm xtpr cx16 fma cid \ ssse3 tm2 est smx vmx ds_cpl monitor dtes64 pclmuldq \ pni|sse3 extf_edx: 3dnow 3dnowext lm rdtscp pdpe1gb fxsr_opt fxsr mmx \ mmxext nx pse36 pat cmov mca pge mtrr syscall apic cx8 \ mce pae msr tsc pse de vme fpu extf_ecx: nodeid_msr cvt16 fma4 wdt skinit xop ibs osvw \ 3dnowprefetch misalignsse sse4a abm cr8legacy extapic svm \ cmp_legacy lahf_lm
These feature sets are described in greater detail in the appropriate Intel and AMD specifications.
It is important to use the
check
flag to verify that all configured features are available.# /usr/libexec/qemu-kvm -cpu Nehalem,check warning: host cpuid 0000_0001 lacks requested flag 'sse4.2|sse4_2' [0x00100000] warning: host cpuid 0000_0001 lacks requested flag 'popcnt' [0x00800000]
If a defined feature is not available, those features will fail silently by default.
目录 返回
首页