Hi, I''m having trouble getting cpuid limit functionality in domain config working and would appreciate any help. My goal is to get live migration working between two different generation Intel CPUs (Core2 Quad and i7). The test domu is running paravirtualized Linux 3.2.0-2-amd64 on Debian Wheezy. Dom0 runs XEN hypervisor 4.1.3~rc1+hg-20120614.a9c0a89c08f2-4. On the i7 dom0, the linux ''cpuid'' command returns (among others) a line like this: 00000001 000206a7 00100800 179ae3bf bfebfbff To limit the cpu features, I''ve added this to the domu config file... cpuid = [ ''0:eax=0x3,ebx=0x0,ecx=0x0,edx=0x0'', ''1:ecx=0x0000e3bd,edx=0xbfebfbff'' ''4:eax=0x3,ebx=0x0,ecx=0x0,edx=0x0'', ''0x80000000:eax=0x3,ebx=0x0,ecx=0x0,edx=0x0''] ...but when I start the virtual machine and run the ''cpuid'' command there, it returns the same exact cpuid id as on dom0. When I try to migrate it from i7 to Core2, kernel panics immediately after the migration. The other direction works perfectly. I''ve enabled some kind of CPUID limiting option from BIOS, just in case that''s necessary. Documentation of this feature is pretty scarce. Is it even supposed to work on PV (or only on HVM)? - Jarno
Hello,> I''m having trouble getting cpuid limit functionality in domain config > working and would appreciate any help. > > My goal is to get live migration working between two different > generation Intel CPUs (Core2 Quad and i7). > The test domu is running paravirtualized Linux 3.2.0-2-amd64 on Debian > Wheezy. Dom0 runs XEN hypervisor 4.1.3~rc1+hg-20120614.a9c0a89c08f2-4. > > On the i7 dom0, the linux ''cpuid'' command returns (among others) a > line like this: > 00000001 000206a7 00100800 179ae3bf bfebfbff > > To limit the cpu features, I''ve added this to the domu config file... > > cpuid = [ ''0:eax=0x3,ebx=0x0,ecx=0x0,edx=0x0'', > ''1:ecx=0x0000e3bd,edx=0xbfebfbff'' > ''4:eax=0x3,ebx=0x0,ecx=0x0,edx=0x0'', > ''0x80000000:eax=0x3,ebx=0x0,ecx=0x0,edx=0x0''] > > ...but when I start the virtual machine and run the ''cpuid'' command > there, it returns the same exact cpuid id as on dom0. When I try to > migrate it from i7 to Core2, kernel panics immediately after the > migration. The other direction works perfectly. I''ve enabled some kind > of CPUID limiting option from BIOS, just in case that''s necessary. > > Documentation of this feature is pretty scarce. Is it even supposed to > work on PV (or only on HVM)? > > - JarnoI have been able to get this to work with the following: cpuid = [''0:eax=0x3,ebx=0x0,ecx=0x0,edx=0x0'', ''1:eax=0x06b1,ecx=xxxxxxxxxxx0000xx00xxx0000000xx0, edx=xxx00000xxxxxxx0xxxxxxxxx0xxxxxx'', ''4:eax=0x3,ebx=0x0,ecx=0x0,edx=0x0'', ''0x80000000:eax=0x3,ebx=0x0,ecx=0x0,edx=0x0''] FWTW Tom.
> I have been able to get this to work with the following: > [...]Didn''t work for me, unfortunately. Are you also doing PV, or HVM? If you run ''cpuid'' on the domu, does it show different values than on dom0? - Jarno
>> I have been able to get this to work with the following: >> [...] > > Didn''t work for me, unfortunately. Are you also doing PV, or HVM? If > you run ''cpuid'' on the domu, does it show different values than on > dom0?I run PV only. I don''t currently have any servers running that I''m using it on so I can''t check the cpuid''s. I had a number of servers running in the past that I did this on and it work very well. Tom.