Message ID | 20241127145644.421352-1-steven.price@arm.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | KVM: arm64: Bump KVM_VCPU_MAX_FEATURES | expand |
On Wed, 27 Nov 2024 14:56:31 +0000, Steven Price <steven.price@arm.com> wrote: > > When the KVM_ARM_VCPU_HAS_EL2 define was added, the value of > KVM_VCPU_MAX_FEATURES wasn't incremented, so that feature has never been > in the KVM_VCPU_VALID_FEATURES bit mask. This means the HAS_EL2 feature > will never be exposed to user space even if the system supports it. > > Fixes: 89b0e7de3451 ("KVM: arm64: nv: Introduce nested virtualization VCPU feature") > Signed-off-by: Steven Price <steven.price@arm.com> > --- > I might be missing something, and it's possible that > KVM_ARM_VCPU_HAS_EL2 is deliberately not exposed yet. This is on purpose. I'm not planning to enable EL2 support until it is ready. > However I'm > working on v6 of the host CCA series and as part of that want to add a > new feature but and bump KVM_VCPU_MAX_FEATURES up to 9. Well, I guess that defines some ordering then! :D M.
On 27/11/2024 15:16, Marc Zyngier wrote: > On Wed, 27 Nov 2024 14:56:31 +0000, > Steven Price <steven.price@arm.com> wrote: >> >> When the KVM_ARM_VCPU_HAS_EL2 define was added, the value of >> KVM_VCPU_MAX_FEATURES wasn't incremented, so that feature has never been >> in the KVM_VCPU_VALID_FEATURES bit mask. This means the HAS_EL2 feature >> will never be exposed to user space even if the system supports it. >> >> Fixes: 89b0e7de3451 ("KVM: arm64: nv: Introduce nested virtualization VCPU feature") >> Signed-off-by: Steven Price <steven.price@arm.com> >> --- >> I might be missing something, and it's possible that >> KVM_ARM_VCPU_HAS_EL2 is deliberately not exposed yet. > > This is on purpose. I'm not planning to enable EL2 support until it is > ready. I did suspect that's the case - but it might have been better to knobble it in system_supported_vcpu_features()/kvm_vcpu_init_check_features() rather than 'hiding' it in the MAX_FEATURES. But hindsight is a wonderful thing ;) >> However I'm >> working on v6 of the host CCA series and as part of that want to add a >> new feature but and bump KVM_VCPU_MAX_FEATURES up to 9. > > Well, I guess that defines some ordering then! :D Indeed - I'll try to remember to include note about this "dependency" in my cover letter. We're likely to need a few more rounds for CCA to be ready, so hopefully NV will naturally be there in time :D Thanks, Steve
On Wed, 27 Nov 2024 15:24:32 +0000, Steven Price <steven.price@arm.com> wrote: > > On 27/11/2024 15:16, Marc Zyngier wrote: > > On Wed, 27 Nov 2024 14:56:31 +0000, > > Steven Price <steven.price@arm.com> wrote: > >> > >> When the KVM_ARM_VCPU_HAS_EL2 define was added, the value of > >> KVM_VCPU_MAX_FEATURES wasn't incremented, so that feature has never been > >> in the KVM_VCPU_VALID_FEATURES bit mask. This means the HAS_EL2 feature > >> will never be exposed to user space even if the system supports it. > >> > >> Fixes: 89b0e7de3451 ("KVM: arm64: nv: Introduce nested virtualization VCPU feature") > >> Signed-off-by: Steven Price <steven.price@arm.com> > >> --- > >> I might be missing something, and it's possible that > >> KVM_ARM_VCPU_HAS_EL2 is deliberately not exposed yet. > > > > This is on purpose. I'm not planning to enable EL2 support until it is > > ready. > > I did suspect that's the case - but it might have been better to knobble > it in system_supported_vcpu_features()/kvm_vcpu_init_check_features() > rather than 'hiding' it in the MAX_FEATURES. But hindsight is a > wonderful thing ;) > > >> However I'm > >> working on v6 of the host CCA series and as part of that want to add a > >> new feature but and bump KVM_VCPU_MAX_FEATURES up to 9. > > > > Well, I guess that defines some ordering then! :D > > Indeed - I'll try to remember to include note about this "dependency" in > my cover letter. We're likely to need a few more rounds for CCA to be > ready, so hopefully NV will naturally be there in time :D Any minute now, according to those impersonating a French physicist... M.
diff --git a/arch/arm64/include/asm/kvm_host.h b/arch/arm64/include/asm/kvm_host.h index e18e9244d17a..af7c827b216e 100644 --- a/arch/arm64/include/asm/kvm_host.h +++ b/arch/arm64/include/asm/kvm_host.h @@ -39,7 +39,7 @@ #define KVM_MAX_VCPUS VGIC_V3_MAX_CPUS -#define KVM_VCPU_MAX_FEATURES 7 +#define KVM_VCPU_MAX_FEATURES 8 #define KVM_VCPU_VALID_FEATURES (BIT(KVM_VCPU_MAX_FEATURES) - 1) #define KVM_REQ_SLEEP \
When the KVM_ARM_VCPU_HAS_EL2 define was added, the value of KVM_VCPU_MAX_FEATURES wasn't incremented, so that feature has never been in the KVM_VCPU_VALID_FEATURES bit mask. This means the HAS_EL2 feature will never be exposed to user space even if the system supports it. Fixes: 89b0e7de3451 ("KVM: arm64: nv: Introduce nested virtualization VCPU feature") Signed-off-by: Steven Price <steven.price@arm.com> --- I might be missing something, and it's possible that KVM_ARM_VCPU_HAS_EL2 is deliberately not exposed yet. However I'm working on v6 of the host CCA series and as part of that want to add a new feature but and bump KVM_VCPU_MAX_FEATURES up to 9. arch/arm64/include/asm/kvm_host.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)