From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paolo Bonzini Subject: Re: [PATCH v2 2/4] kvm: cpuid: fix the size of xsaves area Date: Thu, 04 Dec 2014 16:49:10 +0100 Message-ID: <54808276.9090309@redhat.com> References: <1417691470-5221-1-git-send-email-wanpeng.li@linux.intel.com> <1417691470-5221-2-git-send-email-wanpeng.li@linux.intel.com> <20141204131454.GA17050@potion.brq.redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: QUOTED-PRINTABLE Cc: Nadav Amit , kvm@vger.kernel.org, linux-kernel@vger.kernel.org To: =?UTF-8?B?UmFkaW0gS3LEjW3DocWZ?= , Wanpeng Li Return-path: In-Reply-To: <20141204131454.GA17050@potion.brq.redhat.com> Sender: linux-kernel-owner@vger.kernel.org List-Id: kvm.vger.kernel.org On 04/12/2014 14:14, Radim Kr=C4=8Dm=C3=A1=C5=99 wrote: > 2014-12-04 19:11+0800, Wanpeng Li: >> The section of CPUID(EAX=3D0xd, ECX=3D1) in the spec which commit >> f5c2290cd01e (KVM: cpuid: mask more bits in leaf 0xd and subleaves) >> mentioned is older than SDM. >> >> EBX: Bits 31-00: The size in bytes of the XSAVE area containing all >> states enabled by XCR0|IA32_XSS. >=20 > Well, CPUs without XSAVES return 0 there, so we would emulate them > incorrectly ... (I don't mind much, it is reserved.) I agree it should stay to 0 if !XSAVES && !XSAVEC. =46or !XSAVEC && XSAVES there's no silicon, so we have some leeway. >> The the value of EBX should represent the size of XCR0 related XSAVE >> area since IA32_XSS is not used currently. >=20 > True, but 'supported' is not the state of XCR0, just its supremum. > EBX should be set in kvm_update_cpuid(), like [3/4] does. > (We can safely drop [2/4].) Still, it's nice to be consistent and return a plausible value to userspace for KVM_GET_SUPPORTED_CPUID. Paolo