Re: [PATCH] clocksource/drivers/arm_arch_timer: Workaround bcm2712 broken EL2 virtual timer
From: Jon Hunter
Date: Thu Jul 23 2026 - 06:46:49 EST
On 23/07/2026 10:58, Marc Zyngier wrote:
...
>I have posted something similar for Tegra [0], but because this is not
expected to work, I wanted to avoid the warnings here. We test for
"not expected to work"? In which parallel universe is that a thing?
FWIU, at least for Tegra194, we have a CPU and GIC pairing where the
CPU supports this but the GIC does not.
Oh please, you know better than this.
It isn't the GIC that defines the number of supported PPIs, it is the
*integrator*. I.e. you. The GIC (GIC400 in this example) has full
support for 16 PPIs per CPU.
Hmmm, I am looking at this spec [0] and it says ...
"The GIC-400 implements the interrupt types:
16 Software Generated Interrupts (SGIs).
6 external Private Peripheral Interrupts (PPIs) for each processor.
1 internal PPI for each processor."
The table in [1] shows interrupts for non-sec, sec, virt and hypervisor timers, but I don't see a hyp-virt.
I have a collection of VHE-capable machines with GIC400 that correctly
implement the EL2 virtual timer PPI (if even Amlogic and AllWinner can
get this right, really *anybody* can). My conclusion is that someone
couldn't be bothered to drag a wire from one end to the other.
OK, so most likely I am still missing something here.
[0] https://developer.arm.com/documentation/ddi0471/b/introduction/about-the-gic-400?lang=en
[1] https://developer.arm.com/documentation/ddi0471/b/functional-description/interrupt-inputs-to-the-gic-400/ppis?lang=en
--
nvpublic