On Mon, 06 Mar 2023 14:02:33 +0000,
Peter Maydell <[email protected]> wrote:
>
> On Mon, 27 Feb 2023 at 16:37, Miguel Luis <[email protected]> wrote:
> >
> > From: Haibo Xu <[email protected]>
> >
> > Use the VGIC maintenance IRQ if VHE is requested. As per the ARM GIC
> > Architecture Specification for GICv3 and GICv4 Arm strongly recommends that
> > maintenance interrupts are configured to use INTID 25 matching the
> > Server Base System Architecture (SBSA) recomendation.
>
> What does this mean for QEMU, though? If the issue is
> "KVM doesn't support the maintenance interrupt being anything
> other than INTID 25" then we should say so (and have our code
> error out if the board tries to use some other value).
No, KVM doesn't give two hoots about the INTID, as long as this is a
PPI that is otherwise unused.
> If the
> issue is "the *host* has to be using the right INTID" then I
> would hope that KVM simply doesn't expose the capability if
> the host h/w won't let it work correctly.
No host maintenance interrupt, no NV. This is specially mandatory as
the L1 guest is in (almost) complete control of the ICH_*_EL2
registers and expects MIs to be delivered.
> If KVM can happily
> use any maintenance interrupt ID that the board model wants,
> then we should make that work, rather than hardcoding 25 into
> our gicv3 code.
+1.
I'd eliminate any reference to SBSA, as it has no bearing on either
KVM nor the QEMU GIC code.
I also question the "if VHE is requested". Not having VHE doesn't
preclude virtualisation. Was that supposed to be "virtualisation
extension" instead?
Thanks,
M.
--
Without deviation from the norm, progress is not possible.