2009/9/2 Jiri Denemark <jdenemar@xxxxxxxxxx>: > Hi, > > We need to provide support for CPU ID masking. Xen and VMware ESX are examples > of current hypervisors which support such masking. [...] > <domain type='xen' id='42'> > ... > <features> > <pae/> > <acpi/> > <apic/> > <cpuid> > <mask level='1' register='ebx'> > xxxx:xxxx:0000:1010:xxxx:xxxx:xxxx:xxxx > </mask> > <mask level='1' register='ecx'> > xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xx1x:xxxx > </mask> > <mask level='1' register='edx'> > xxx1:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx > </mask> > <mask level='80000001' register='ecx'> > xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xx1x > </mask> > <mask level='80000008' register='ecx'> > xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xx00:1001 > </mask> > </cpuid> > </features> > ... > </domain> > I like the proposed mapping for the domain XML, because it's an 1:1 mapping of what VMware uses in the VI API [1] and the VMX config. Beside that VMware has two more possible values for the CPUID bits: H and R. Both are used to define how to handle/interpret those bits in the context of VMotion (migration). For example the domain XML snippet above maps to this VMX snippet: cpuid.1.ebx = "XXXXXXXX00001010XXXXXXXXXXXXXXXX" cpuid.1.ecx = "XXXXXXXXXXXXXXXXXXXXXXXXXX1XXXXX" cpuid.1.edx = "XXX1XXXXXXXXXXXXXXXXXXXXXXXXXXXX" cpuid.80000001.ecx = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX1X" cpuid.80000008.ecx = "XXXXXXXXXXXXXXXXXXXXXXXXXX001001" Matthias [1] http://www.vmware.com/support/developer/vc-sdk/visdk400pubs/ReferenceGuide/vim.host.CpuIdInfo.html -- Libvir-list mailing list Libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list