Re: "Paravisor" Feature Enumeration
From: Dave Hansen
Date: Mon Jan 05 2026 - 19:36:54 EST
On 1/5/26 16:01, dan.j.williams@xxxxxxxxx wrote:
> Dave Hansen wrote:
...
>> X86_FEATURE_KVM_CLOCKSOURCE in arm,pvclock
>> or
>> X86_FEATURE_KVM_STEAL_TIME in arm,kvm-steal-time
>>
>> As far as I can tell, these aliases are all done ad-hoc. This approach
>> could obviously be extended to paravisor features, but it would probably
>> be on the slow side to do it for each new feature.
>
> "Slow" as in standardization time?
Yes.
...
>> Is there anything stopping us from carving out a chunk of CPUID for
>> this purpose?
>
> At what point does an ACPI property become a CPUID? In other words if
> there is an ACPI / DeviceTree enumeration of CPU/platform capabilities
> in firmware that can supsersede / extend native enumeration, does it
> matter if x86 maps that to extended CPUID space and ARM maps it however
> is convenient?
>
> I have no problem with an extended CPUID concept, just trying to
> understand more about the assumptions.
The way it _seems_ to have worked until now is that KVM/x86 has led the
way by defining a CPUID bit for things like KVM_CLOCK of KVM_STEAL_TIME.
Then, the ARM folks came along and DeviceTree enumerations. Last, ACPI
came along with a way to package up all the DeviceTree enumerations into
a single table.
So, maybe that's a hack on a hack on a hack and we should just start
with ACPI this time. That would certainly make this pretty straightforward.
I'd love to hear a take from the x86/KVM folks, though.