From: Michalis Pappas Date: Fri, 6 Sep 2024 14:29:40 +0000 (+0200) Subject: plat/kvm/arm64: Do not unmask PSTATE.D on IRQ entry X-Git-Tag: RELEASE-0.18.0~80 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=335933578a926ac10feba87efff075fbcbe13a65;p=unikraft%2Funikraft.git plat/kvm/arm64: Do not unmask PSTATE.D on IRQ entry Enabling PSTATE.D at IRQ entry results into nested debug exceptions. This is incorrect as the context restored on IRQ exit invalidates any changes to the context made by the debug exception's handler. Also remove the unmasking of PSTATE.F as at the present we don't deal with FIQs. Signed-off-by: Michalis Pappas Approved-by: Simon Kuenzer Reviewed-by: Sergiu Moga GitHub-Closes: #1481 --- diff --git a/plat/kvm/arm/exceptions.S b/plat/kvm/arm/exceptions.S index 9514e4005..713f3aaf8 100644 --- a/plat/kvm/arm/exceptions.S +++ b/plat/kvm/arm/exceptions.S @@ -270,7 +270,7 @@ el1_sync: .align 6 el1_irq: SAVE_REGS 1 - msr daifclr, #(8 | 4 | 1) + msr daifclr, #4 /* Unmask SError */ mov x0, sp bl trap_el1_irq RESTORE_REGS