Please don't top-post. On 2013-05-04 10:45, 李春奇 <Arthur Chunqi Li> wrote: > But will the difference between the vendor ID and family number cause > confusion to the OS in VM? The confusion is not yet clear to me. About which "-cpu ..." were you talking? Jan > > On Sat, May 4, 2013 at 4:05 PM, Jan Kiszka <jan.kiszka@xxxxxx> wrote: >> On 2013-05-04 09:50, 李春奇 <Arthur Chunqi Li> wrote: >>> Hi Jan and All, >>> I find that when enable KVM with qemu, vendor ID of simulated CPU will be >>> set the same as host, but other features such as level, family, model, >>> stepping are not changed. This may bring out a confusing result, the >>> simulated CPU has a vendor name of "GenuineIntel" but with family number >>> "16". >>> >>> I disabled the related code in function cpu_x86_find_by_name: >>> diff --git a/target-i386/cpu.c b/target-i386/cpu.c >>> index e2302d8..df0e82e 100644 >>> --- a/target-i386/cpu.c >>> +++ b/target-i386/cpu.c >>> @@ -1295,7 +1295,8 @@ static int cpu_x86_find_by_name(x86_def_t >>> *x86_cpu_def, const char *name) >>> * KVM's sysenter/syscall emulation in compatibility mode and >>> * when doing cross vendor migration >>> */ >>> - if (kvm_enabled()) { >>> + //if (kvm_enabled()) { >>> + if (0) { >>> uint32_t ebx = 0, ecx = 0, edx = 0; >>> host_cpuid(0, 0, NULL, &ebx, &ecx, &edx); >>> x86_cpu_vendor_words2str(x86_cpu_def->vendor, ebx, edx, >>> ecx); >>> >>> And the information of CPU remains consistent and the VM runs OK, even >>> though with nested environment. >>> >>> Why should qemu set simulated cpu's vendor same as the host in KVM >>> environment? >> >> The reason (and a way out) is given in the comment above the cited code. >> >> Jan >> >> > > >
Attachment:
signature.asc
Description: OpenPGP digital signature