Re: [PATCH v15 12/37] KVM: arm64: CCA: Support the VGIC in realms
From: Marc Zyngier
Date: Thu Jul 23 2026 - 04:10:02 EST
On Thu, 23 Jul 2026 07:38:16 +0100,
Kohei Enju <enju.kohei@xxxxxxxxxxx> wrote:
>
> On 07/22 10:27, Marc Zyngier wrote:
> > >
> > > As far as I can tell, the CCA requirements don't require the
> > > ARM64_HAS_ICH_HCR_EL2_TDIR feature. If that's the case, this seems to be a
> > > problem. Is there any workaround for this issue, or should we implement trap
> > > handlers for those registers?
> >
> > No. Either you support TDIR, like any modern CPU, or you don't run
> > CCA. I'm not adding yet another level of emulation for this.
>
> However, I'm still not aware of any requirement in the CCA architecture,
> or in Armv8-A/Armv9-A, that mandates TDIR support.
The GICv3 architecture has deprecated the lack of TDIR support since
the very first release of the specification in 2015, because it was
quickly identified as an architecture bug. CCA mandates GICv3 support
as written in the spec, and relying on deprecated features 11 years
later is not acceptable.
By any definition, this is buggy hardware, and I don't feel a strong
urge to support it.
>
> When you say "you don't run CCA", is that because the architecture
> requires it,
See above.
> or because that's the current KVM policy? If it's the
> latter, we'd be interested in adding the required emulation to make it
> work.
And I say no to this. Enough. This isn't a "policy*. This is a hard
red line. "Do Not Cross".
We already have the most complicated interrupt architecture ever, and
I have zero desire to add even more complexity to it. Because I'm the
idiot who ends-up maintaining this horror, and not you.
So no, no more emulation code. CCA in KVM won't handle systems that do
not support TDIR, unless you rewrite the CCA support so that it can
use the *existing* emulation code without any change.
Thanks,
M.
--
Without deviation from the norm, progress is not possible.