On Tue, Nov 25, 2025 at 05:01:23PM +0000, Anirudh Raybharam wrote: > From: Anirudh Rayabharam <[email protected]> [...] > /* SMCCC hypercall parameters */ > #define HV_SMCCC_FUNC_NUMBER 1 > #define HV_FUNC_ID ARM_SMCCC_CALL_VAL( \ > diff --git a/drivers/irqchip/irq-gic-v3.c b/drivers/irqchip/irq-gic-v3.c > index 3de351e66ee8..56013dd0564c 100644 > --- a/drivers/irqchip/irq-gic-v3.c > +++ b/drivers/irqchip/irq-gic-v3.c > @@ -35,6 +35,7 @@ > #include <asm/exception.h> > #include <asm/smp_plat.h> > #include <asm/virt.h> > +#include <asm/mshyperv.h> > > #include "irq-gic-common.h" > > @@ -1456,8 +1457,24 @@ static void __init gic_smp_init(void) > .fwnode = gic_data.fwnode, > .param_count = 1, > }; > + /* Register all 8 non-secure SGIs */ > + const int NR_SMP_SGIS = 8; > + int nr_sgis = NR_SMP_SGIS; > int base_sgi; > > + /* > + * Allocate one more SGI for use by Hyper-V. This is only needed when > + * Linux is running in a parent partition. Hyper-V will use this > interrupt > + * to notify the parent partition of intercepts. > + * > + * When running on Hyper-V, it is okay to use SGIs 8-15. They're not > reserved > + * for secure firmware. > + */ > +#if IS_ENABLED(CONFIG_HYPERV) > + if (hv_parent_partition()) > + nr_sgis += 1; > +#endif > +
This is far too intrusive. Let's take Marc's feedback and work with the hypervisor team to resolve this properly. Wei
