Bug 43501
Summary: | all 32bit binaries produce "Illegal Instruction" after KVM migration from AMD -> Intel host | ||
---|---|---|---|
Product: | Virtualization | Reporter: | Paul Zimdars (pzimdars) |
Component: | kvm | Assignee: | virtualization_kvm |
Status: | RESOLVED INVALID | ||
Severity: | high | CC: | alan, avi |
Priority: | P1 | ||
Hardware: | All | ||
OS: | Linux | ||
Kernel Version: | 2.6.32-220.17.1.el6.x86_64 | Subsystem: | |
Regression: | No | Bisected commit-id: |
Description
Paul Zimdars
2012-06-17 01:04:01 UTC
What host kernel are you using? Try the following command line (on both hosts) qemu -cpu phenom,vendor=AuthenticAMD Note that 32-on-64 applications will suffer a performance penalty when using cross-vendor migrations. You can mitigate this by using vdso32=0 on the guest kernel command line (but this is slower than the default, when not doing cross-vendor migration). Trying the above options results in us being unable to start the guest on the AMD host in order to test migration. It complains that guest cpu is not compatible with host CPU. The only method that works is by creating our own profile and adding it to cpu-model definition on both the AMD and Intel hosts: [cpudef] name = "cpu64-rhel6-dsio" level = "4" vendor = "AuthenticAMD" family = "6" model = "13" stepping = "3" feature_edx = "sse2 sse fxsr mmx clflush pse36 cmov mca pge mtrr apic cx8 mce pae msr tsc pse de fpu" feature_ecx = "cx16" extfeature_edx = "lm fxsr mmx nx cmov pge syscall apic cx8 mce pae msr tsc pse de fpu" extfeature_ecx = "lahf_lm" xlevel = "0x8000000A" model_id = "QEMU Virtual CPU version (cpu64-rhel6)" We can then migrate the VM but we still encounter the same issue. (In reply to comment #1) > What host kernel are you using? 2.6.32-220.17.1.el6.x86_64 (SL 6.2) I'm not sure that the vendor string is passed correctly. Please verify that when starting the guest on an Intel host, /proc/cpuinfo shows AuthenticAMD for vendor_id. (In reply to comment #4) > (In reply to comment #1) > > What host kernel are you using? > > 2.6.32-220.17.1.el6.x86_64 (SL 6.2) This bugzilla is for upstream kernels. Use the vendor bugzilla for vendor kernels. |