[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] CPU vendor in KVM
From: |
Jan Kiszka |
Subject: |
Re: [Qemu-devel] CPU vendor in KVM |
Date: |
Sat, 04 May 2013 10:47:09 +0200 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686 (x86_64); de; rv:1.8.1.12) Gecko/20080226 SUSE/2.0.0.12-1.1 Thunderbird/2.0.0.12 Mnenhy/0.7.5.666 |
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
>>
>>
>
>
>
signature.asc
Description: OpenPGP digital signature