diff options
author | Olaf Hering <olaf@aepfle.de> | 2012-06-08 17:00:13 +0100 |
---|---|---|
committer | Olaf Hering <olaf@aepfle.de> | 2012-06-08 17:00:13 +0100 |
commit | a485293145965f49900e4116cdd5810f64b819b5 (patch) | |
tree | 9872458b80f1e94740734f5c79b0c53ce10e5d48 /docs/man | |
parent | 35dfcf786281b97be825f479b4377af7b474e933 (diff) | |
download | xen-a485293145965f49900e4116cdd5810f64b819b5.tar.gz xen-a485293145965f49900e4116cdd5810f64b819b5.tar.bz2 xen-a485293145965f49900e4116cdd5810f64b819b5.zip |
xl.cfg: document the cpuid= option
Signed-off-by: Olaf Hering <olaf@aepfle.de>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
Diffstat (limited to 'docs/man')
-rw-r--r-- | docs/man/xl.cfg.pod.5 | 50 |
1 files changed, 47 insertions, 3 deletions
diff --git a/docs/man/xl.cfg.pod.5 b/docs/man/xl.cfg.pod.5 index cab7016772..38c2683b86 100644 --- a/docs/man/xl.cfg.pod.5 +++ b/docs/man/xl.cfg.pod.5 @@ -969,9 +969,53 @@ XXX XXX -=item B<cpuid=XXX> - -XXX +=item B<cpuid="LIBXL_STRING"> or B<cpuid=[ "XEND_STRING", "XEND_STRING" ]> + +Configure the value returned when a guest executes CPUID instruction. +Two versions of config syntax are recognized: libxl and xend. + +The libxl syntax is a comma separated list of key=value pairs, preceded by the +word "host". A few keys take a numerical value, all others take a single +character which describes what to do with the feature bit. + +Possible values for a single feature bit: + '1' -> force the corresponding bit to 1 + '0' -> force to 0 + 'x' -> Get a safe value (pass through and mask with the default policy) + 'k' -> pass through the host bit value + 's' -> as 'k' but preserve across save/restore and migration (not implemented) + +List of keys taking a value: +apicidsize brandid clflush family localapicid maxleaf model nc proccount procpkg +stepping + +List of keys taking a character: +3dnow 3dnowext 3dnowprefetch abm acpi aes altmovcr8 apic avx clfsh cmov +cmplegacy cmpxchg16 cmpxchg8 cntxid dca de ds dscpl dtes64 est extapic f16c +ffxsr fma4 fpu fxsr htt hypervisor ia64 ibs lahfsahf lm lwp mca mce misalignsse +mmx mmxext monitor movbe msr mtrr nodeid nx osvw osxsave pae page1gb pat pbe +pclmulqdq pdcm pge popcnt pse pse36 psn rdtscp skinit smx ss sse sse2 sse3 +sse4.1 sse4.2 sse4a ssse3 svm svm_decode svm_lbrv svm_npt svm_nrips +svm_pausefilt svm_tscrate svm_vmcbclean syscall sysenter tbm tm tm2 topoext tsc +vme vmx wdt x2apic xop xsave xtpr + +The xend syntax is a list of values in the form of +'leafnum:register=bitstring,register=bitstring' + "leafnum" is the requested function, + "register" is the response register to modify + "bitstring" represents all bits in the register, its length must be 32 chars. + Each successive character represent a lesser-significant bit, possible values + are listed above in the libxl section. + +Example to hide two features from the guest: 'tm', which is bit #29 in EDX, and +'pni' (SSE3), which is bit #0 in ECX: + +xend: [ '1:ecx=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx0,edx=xx0xxxxxxxxxxxxxxxxxxxxxxxxxxxxx' ] + +libxl: 'host,tm=0,sse3=0' + +More info about the CPUID instruction can be found in the processor manuals, and +in Wikipedia: L<http://en.wikipedia.org/wiki/CPUID> =item B<acpi_s3=BOOLEAN> |