[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] target-i386: kvm: cache KVM_GET_SUPPORTED_CPUID
From: |
Paolo Bonzini |
Subject: |
Re: [Qemu-devel] [PATCH] target-i386: kvm: cache KVM_GET_SUPPORTED_CPUID data |
Date: |
Tue, 14 Jun 2016 10:21:41 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.1.0 |
On 14/06/2016 07:01, Chao Peng wrote:
>> >
>> > Which are the CPUID leaves for which KVM_GET_SUPPORTED_CPUID is not
>> > stateless? I cannot find any.
> I have though leaf 0xd, sub leaf 1 is not stateless, as the size of
> xsave buffer(EBX) is based on XCR0 | IA32_XSS. But after looking KVM
> code more carefully, seems I was wrong. The code calculates EBX with the
> host xcr0 but not guest xcr0, nor guest IA32_XSS (not sure if this is
> the correct behavior), so it can always returns constant data on a
> certain machine.
Indeed, KVM computes the correct value at runtime, but
KVM_GET_SUPPORTED_CPUID runs before there is a value for guest XCR0 or
guest IA32_XSS.
Thanks, I've queued the patch for QEMU 2.7.
Paolo