Re: [edk2] [PATCH] ArmPkg/TimerDxe: remove workaround for KVM timer handling

2018-03-15 Thread Marc Zyngier
g the interrupt at the hypervisor level > - // and delivering the virtual timer interrupt to the guest. Otherwise, the > - // interrupt will fire again, trapping into the hypervisor again, etc. etc. > - // This is scheduled to be fixed on the KVM side, but there is no harm in > - /

Re: [edk2] [PATCH v2 1/1] ArmPkg/TimerDxe: Add ISB for timer compare value reload

2018-03-15 Thread Marc Zyngier
On 15/03/18 09:52, Ard Biesheuvel wrote: > On 15 March 2018 at 09:40, Marc Zyngier wrote: >> On 15/03/18 07:30, Ard Biesheuvel wrote: >>> On 15 March 2018 at 07:11, Guo Heyi wrote: >>>> Hi Marc and Ard, >>>> >>>> I found the ti

Re: [edk2] [PATCH v2 1/1] ArmPkg/TimerDxe: Add ISB for timer compare value reload

2018-03-15 Thread Marc Zyngier
, the KVM issue that required this has been fixed > long ago, and I don't want to carry this forever. Marc? This has been fixed quite a while ago: commit f120cd6533d21075ab103ae6c225b1697853660d Author: Marc Zyngier Date: Mon Jun 23 13:59:13 2014 +0100 KVM: arm/arm64: timer: Allow the ti

Re: [edk2] [PATCH v2 1/1] ArmPkg/TimerDxe: Add ISB for timer compare value reload

2018-03-14 Thread Marc Zyngier
On Wed, 14 Mar 2018 00:25:09 +, Guo Heyi wrote: > > On Tue, Mar 13, 2018 at 09:33:33AM +, Marc Zyngier wrote: > > On 13/03/18 00:31, Heyi Guo wrote: > > > If timer interrupt is level sensitive, reloading timer compare > > > register has a side effect of cle

Re: [edk2] [PATCH v2 1/1] ArmPkg/TimerDxe: Add ISB for timer compare value reload

2018-03-13 Thread Marc Zyngier
rious timer interrupts. > > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: Heyi Guo > Signed-off-by: Yi Li > Cc: Leif Lindholm > Cc: Ard Biesheuvel > Cc: Marc Zyngier > --- > > Notes: > v2: > - Use ISB instead of DSB [Mar

Re: [edk2] [PATCH 1/1] ArmPkg/TimerDxe: Add DSB for timer compare value reload

2018-03-12 Thread Marc Zyngier
On 12/03/18 10:38, Ard Biesheuvel wrote: > On 12 March 2018 at 10:38, Guo Heyi wrote: >> Hi Marc, >> >> I just tested with an ISB and it also worked for our platform. >> >> So is it acceptable to add an ISB after reloading timer compare value? >> > > I am fine with that if Marc is. An ISB makes

Re: [edk2] [PATCH 1/1] ArmPkg/TimerDxe: Add DSB for timer compare value reload

2018-03-12 Thread Marc Zyngier
ontribution Agreement 1.1 > Signed-off-by: Heyi Guo > Signed-off-by: Yi Li > Cc: Leif Lindholm > Cc: Ard Biesheuvel > Cc: Marc Zyngier > --- > ArmPkg/Drivers/TimerDxe/TimerDxe.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/ArmPkg/Drivers/TimerDxe/Tim

Re: [edk2] [PATCH] ArmPkg/TimerDxe: Always perform an EOI, even for spurious interrupts

2018-03-06 Thread Marc Zyngier
On 06/03/18 14:25, Laszlo Ersek wrote: > On 03/06/18 14:24, Ard Biesheuvel wrote: >> From: Marc Zyngier >> >> The generic timer driver only EOIs the timer interrupt if >> the ISTATUS bit is set. This is completely fine if you pretend >> that spurious interrupts

Re: [edk2] [PATCH] ArmPkg/Gic: force GIC driver to run before CPU arch protocol driver

2018-02-06 Thread Marc Zyngier
bserved with GICv3 guests running under KVM. This fixes the problem I was seeing, so here's my: Tested-by: Marc Zyngier Thanks a lot Ard! M. -- Jazz is not dead. It just smells funny... ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel

Re: [edk2] [PATCH edk2-non-osi 2/2] Silicon/AMD/Styx: update ArmTrustedFirmware.bin

2018-02-03 Thread Marc Zyngier
On Thu, 1 Feb 2018 16:42:53 + Ard Biesheuvel wrote: > On 1 February 2018 at 16:04, Ard Biesheuvel wrote: > > The ARM Trusted Firmware build we have been using up until now was built > > with optimizations disabled (which means every variable manipulation > > involves a load, the operation it

Re: [edk2] [PATCH edk2-non-osi 2/2] Silicon/AMD/Styx: update ArmTrustedFirmware.bin

2018-02-01 Thread Marc Zyngier
On 01/02/18 16:42, Ard Biesheuvel wrote: > On 1 February 2018 at 16:04, Ard Biesheuvel wrote: >> The ARM Trusted Firmware build we have been using up until now was built >> with optimizations disabled (which means every variable manipulation >> involves a load, the operation itself and a store), a