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

Re: file xen/include/xen/lib/x86/cpu-policy.h: Meaning of CPUID constants



> From: "Roger Pau Monné" <roger.pau@xxxxxxxxxx>
> To: "Fonyuy-Asheri Caleb" <fonyuy-asheri.caleb@xxxxxxxx>
> Cc: "xen-devel" <xen-devel@xxxxxxxxxxxxxxxxxxxx>
> Sent: Monday, May 6, 2024 10:34:20 AM
> Subject: Re: file xen/include/xen/lib/x86/cpu-policy.h: Meaning of CPUID 
> constants

> On Mon, May 06, 2024 at 09:46:58AM +0200, Fonyuy-Asheri Caleb wrote:
>> Hi,
>> I am currently doing a study on the way xen handles CPUID information.
>> 
>> I came across these constants in the code 
>> (xen/include/xen/lib/x86/cpu-policy.h
>> file) but no explanation of why they have been set that way.
>> 
>> #define CPUID_GUEST_NR_BASIC (0xdu + 1)
>> #define CPUID_GUEST_NR_CACHE (5u + 1)
>> #define CPUID_GUEST_NR_FEAT (2u + 1)
>> #define CPUID_GUEST_NR_TOPO (1u + 1)
>> #define CPUID_GUEST_NR_XSTATE (62u + 1)
>> #define CPUID_GUEST_NR_EXTD_INTEL (0x8u + 1)
>> #define CPUID_GUEST_NR_EXTD_AMD (0x21u + 1)
>> 
>> Please can someone explain to me why we have these constants or point to a
>> documentation which explains it?
>> I am particularly interested in the CPUID_GUEST_NR_BASIC given that for intel
>> processors for example, we have
>> basic leaves running up to 0x21u already for recent processors. This value 
>> sort
>> of forces a particular max leaf value.
> 
> This is related to the maximum leaves supported in the cpu_policy
> structure:
> 
> https://elixir.bootlin.com/xen/latest/source/xen/include/xen/lib/x86/cpu-policy.h#L122
> 
> For basic leaves (0x000000xx) we support up to leaf 0xd (XSTATE).  It
> doesn't mean there are no further leaves behind it, but we likely
> still have no use for them, and hence they are not part of the policy.
> The cpu-policy is used to store a (cpuid) policy object for guests,
> so if the information exposed in those leaves are related to features
> that are never exposed to guests is makes no sense to have space for
> them.

So if I understand you well, you mean before extending this, we need to perform 
a study on the 
leaves to confirm how useful they are to the guests depending on the cpu 
information they carry. 

> 
> Regards, Roger.



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.