From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jean Guyader Subject: [PATCH] Documentation for the cpuid feature Date: Tue, 13 May 2008 09:51:44 +0100 Message-ID: <482956A0.1010107@eu.citrix.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------000505020404020607020800" Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: xen-devel@lists.xensource.com List-Id: xen-devel@lists.xenproject.org This is a multi-part message in MIME format. --------------000505020404020607020800 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Hello, This patch add some examples and clarify some flag descriptions. Best regards, -- Jean Guyader --------------000505020404020607020800 Content-Type: text/plain; name="cpuid_doc.patch" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="cpuid_doc.patch" diff -r 9f8b8315339e tools/examples/xmexample.hvm --- a/tools/examples/xmexample.hvm Mon May 12 10:36:27 2008 +0100 +++ b/tools/examples/xmexample.hvm Tue May 13 09:48:13 2008 +0100 @@ -223,17 +223,54 @@ serial='pty' #----------------------------------------------------------------------------- # Configure guest CPUID responses: -#cpuid=[ '1:ecx=xxxxxxxxxxxxxxxxxxxxxxxxxx1xxxxx, +# +#cpuid=[ '1:ecx=xxxxxxxxxxx00xxxxxxxxxxxxxxxxxxx, # eax=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' ] -# - Set the VMX feature flag in the guest (CPUID_1:ECX:5) +# - Unset the SSE4 features (CPUID.1[ECX][20-19]) # - Default behaviour for all other bits in ECX And EAX registers. # # Each successive character represent a lesser-significant bit: # '1' -> force the corresponding bit to 1 # '0' -> force to 0 -# 'x' -> we don't care (default behaviour) +# '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 +# +# Expose to the guest multi-core cpu instead of multiple processors +# Example for intel, expose a 8-core processor : +#cpuid=['1:edx=xxx1xxxxxxxxxxxxxxxxxxxxxxxxxxxx, +# ebx=xxxxxxxx00010000xxxxxxxxxxxxxxxx', +# '4,0:eax=001111xxxxxxxxxxxxxxxxxxxxxxxxxx'] +# - CPUID.1[EDX][HT] : Enable HT +# - CPUID.1[EBX] : Number of vcpus * 2 +# - CPUID.4,0[EAX] : Number of vcpus * 2 - 1 +#vcpus=8 +# +# Example for amd, expose a 5-core processor : +# cpuid = ['1:ebx=xxxxxxxx00000001xxxxxxxxxxxxxxxx, +# edx=xxx1xxxxxxxxxxxxxxxxxxxxxxxxxxxx', +# '0x80000008:ecx=xxxxxxxxxxxxxxxx0000xxxx00001010'] +# - CPUID.1[EBX] : (Thread * Cores ) per processors +# - CPUID.1[EDX][HT] : Enable HT +# - CPUID.0x80000008[ECX] : Number of vcpus * 2 +#vcpus=5 +# +# Downgrade the cpuid to make a better compatibility for migration : +# Look like a PIII : +# cpuid = [ '0:eax=0x3', +# '1:eax=0x06b1, +# ecx=xxxxxxxxxx0000xx00xxx0000000xx0, +# edx=xx00000xxxxxxx0xxxxxxxxx0xxxxxx', +# '4:eax=0x3,ebx=0x756e6547,ecx=0x6c65746e,edx=0x49656e69', +# '0x80000000:eax=0x3,ebx=0x756e6547,ecx=0x6c65746e,edx=0x49656e69'] +# with the highest leaf +# - CPUID.0[EAX] : Set the highest leaf +# - CPUID.1[EAX] : Pentium III +# - CPUID.1[ECX] : Mask some features +# - CPUID.1[EDX] : Mask some features +# - CPUID.4 : Reply like the highest leaf, in our case CPUID.3 +# - CPUID.0x80000000 : No extension we are on a Pentium III, reply like the +# highest leaf (CPUID.3). # # Configure host CPUID consistency checks, which must be satisfied for this # VM to be allowed to run on this host's processor type: --------------000505020404020607020800 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel --------------000505020404020607020800--