On 19 April 2018 at 16:23, Julien Grall julien.grall@arm.com wrote:
Hi Ard,
Sorry for the late reply.
On 19/04/18 09:16, Ard Biesheuvel wrote:
On 17 April 2018 at 08:03, Ard Biesheuvel ard.biesheuvel@linaro.org wrote:
When we first ported EDK2 to KVM/arm, we implemented a workaround for the quirky timer handling on the KVM side. This has been fixed in Linux commit f120cd6533d2 ("KVM: arm/arm64: timer: Allow the timer to control the active state") dated 23 June 2014, which was incorporated into Linux release 4.3.
So almost 4 years later, it should be safe to drop this workaround on the EDK2 side.
This reverts commit b1a633434ddc.
Cc: cross-distro@lists.linaro.org Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ard Biesheuvel ard.biesheuvel@linaro.org Acked-by: Marc Zyngier marc.zyngier@arm.com Reviewed-by: Leif Lindholm leif.lindholm@linaro.org Acked-by: Laszlo Ersek lersek@redhat.com
Pushed as 411a373ed6426fb1bff253905b6a59ada44e18ad
While this was added for KVM, I believe that code is also needed by Xen. Indeed before injecting the interrupt the hypervisor will mask the interrupt.
So would it be possible to revert that patch?
Given that this is now a Xen-only quirk, I'd rather work around it by creating a separate ArmGenericTimerCounterLib implementation for Xen.
I will try to put something together beginning of next week.