qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] CPU vendor in KVM


From: 李春奇
Subject: Re: [Qemu-devel] CPU vendor in KVM
Date: Sat, 4 May 2013 16:52:10 +0800

On Sat, May 4, 2013 at 4:47 PM, Jan Kiszka <address@hidden> wrote:
> 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 <address@hidden> 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
>>>
>>>
>>
>>
>>
>
>

I use -cpu Opteron_G1, and got the following message in VM:
address@hidden:~# cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 15
model : 6
model name : AMD Opteron 240 (Gen 1 Class Opteron)
stepping : 1
microcode : 0x1
cpu MHz : 2393.998
cache size : 4096 KB
fpu : yes
fpu_exception : yes
cpuid level : 5
wp : yes
flags : fpu de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat
pse36 clflush mmx fxsr sse sse2 syscall nx lm constant_tsc nopl pni
hypervisor
bogomips : 4787.99
clflush size : 64
cache_alignment : 128
address sizes : 40 bits physical, 48 bits virtual
power management:

The vendor_id is not consistent to the following messages.

Thanks,
Arthur



reply via email to

[Prev in Thread] Current Thread [Next in Thread]