Re: [PATCH v3 2/6] ARM/sysctl: Expose the supported guest GIC modes in physinfo
Andrew Cooper <[email protected]>
| Newsgroups | org.xenproject.lists.xen-devel |
|---|---|
| Message-ID | <[email protected]> |
On 16/07/2026 3:11 pm, Julian Vetter wrote: > From: Andrew Cooper <[email protected]> I supposed I should finish the commit message. "In preparation to simplify the domain creation logic surrounding GIC version." > Signed-off-by: Andrew Cooper <[email protected]> > --- > Changes in v3: > - No changes > --- > xen/arch/arm/sysctl.c | 26 ++++++++++++++++++++++++++ > xen/include/public/sysctl.h | 2 ++ > 2 files changed, 28 insertions(+) > > diff --git a/xen/arch/arm/sysctl.c b/xen/arch/arm/sysctl.c > index 32cab4feff..3b0edf4cec 100644 > --- a/xen/arch/arm/sysctl.c > +++ b/xen/arch/arm/sysctl.c > @@ -12,7 +12,10 @@ > #include <xen/dt-overlay.h> > #include <xen/errno.h> > #include <xen/hypercall.h> > + > #include <asm/arm64/sve.h> > +#include <asm/gic.h> > + > #include <public/sysctl.h> > > void arch_do_physinfo(struct xen_sysctl_physinfo *pi) > @@ -21,6 +24,29 @@ void arch_do_physinfo(struct xen_sysctl_physinfo *pi) > > pi->arch_capabilities |= MASK_INSR(sve_encode_vl(get_sys_vl_len()), > XEN_SYSCTL_PHYSCAP_ARM_SVE_MASK); > + > + /* > + * The GIC version(s) we're happy creating guests with. Right now for > + * simplicity it is tied to the active hardware version, but this will > + * cease to be the case if/when the compatbility modes are enabled. > + */ > + switch ( gic_hw_version() ) > + { > + case GIC_V2: > + pi->arch_capabilities |= XEN_SYSCTL_PHYSCAP_ARM_GIC_V2; > + break; > + > + case GIC_V3: > + pi->arch_capabilities |= XEN_SYSCTL_PHYSCAP_ARM_GIC_V3; > + break; > + > + case GIC_INVALID: > + /* > + * Running a control domain without having the GIC sorted yet? > + * Something's broken, but there's nothing we can do about it here. > + */ printk_once(XENLOG_ERR "Unrecognised GIC version %d\n", gic_ver); We might not be able to do anything useful for the caller, but we can at least make sure the problem doesn't go unnoticed. ~Andrew