[PATCH v5 06/15] KVM: arm64: Add support for FEAT_HDBSS
Leonardo Bras
leo.bras at arm.com
Fri Oct 30 07:15:51 PDT 2026
On Fri, Oct 30, 2026 at 10:53:57AM +0800, Tian Zheng wrote:
>
>
> On 10/27/2026 2:12 AM, Leonardo Bras wrote:
> > On Tue, Sep 29, 2026 at 06:36:46PM +0800, Tian Zheng wrote:
> > > diff --git a/arch/arm64/kernel/cpufeature.c b/arch/arm64/kernel/cpufeature.c
> > > index 32102c3912fa..12fa37328dd2 100644
> > > --- a/arch/arm64/kernel/cpufeature.c
> > > +++ b/arch/arm64/kernel/cpufeature.c
> > > @@ -2158,6 +2158,11 @@ static bool hvhe_possible(const struct arm64_cpu_capabilities *entry,
> > > return arm64_test_sw_feature_override(ARM64_SW_FEATURE_OVERRIDE_HVHE);
> > > }
> > >
> > > +static bool has_vhe_hdbss(const struct arm64_cpu_capabilities *entry, int scope)
> > > +{
> > > + return is_kernel_in_hyp_mode() && has_cpuid_feature(entry, scope);
> > > +}
> > > +
> >
>
> Hi leo,
>
> > IIUC you run this on every cpu in the system, to make sure it's matching
> > the feature. Is there any chance the kernel is in EL2 only on some of the
> > cpus here?
> >
>
> It's impossible for the system to have only some CPUs in EL2 and others
> not.
>
> > If not, maybe we can run it on system_supports_hdbss() instead, which would
> > be easier for the user to understand it only runs in EL2, on top of not
> > needing the above.
> >
>
> However, The question is whether a cap should mean "this system can use
> the feature" or "this hardware supports the feature". If the cap only
> tracks hardware support, users may be confused when the hardware
> supports HDBSS but the system runs in nVHE mode — they would mistakenly
> believe they can use the feature.
>
> So I think we should keep is_kernel_in_hyp_mode() in has_vhe_hdbss(),
> and add a comment in system_supports_hdbss() explaining this.
>
> Does that work for you? Looking forward to your reply.
Well,
That's just my personal view of this:
If we have a function called "has_hdbss" it should only report if the
system has the feature available.
On the "system_supports_*" we have to figure out if the system itself
supports the feature, which checks the feature bits itself and could mean
checking for other features being there, such as hyp_mode.
What do you think?
Thx,
Leo
More information about the linux-arm-kernel
mailing list