]> xenbits.xensource.com Git - unikraft/unikraft.git/commitdiff
plat/kvm/arm64: Do not unmask PSTATE.D on IRQ entry
authorMichalis Pappas <michalis@unikraft.io>
Fri, 6 Sep 2024 14:29:40 +0000 (16:29 +0200)
committerUnikraft Bot <monkey@unikraft.io>
Fri, 27 Sep 2024 22:00:25 +0000 (22:00 +0000)
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 <michalis@unikraft.io>
Approved-by: Simon Kuenzer <simon@unikraft.io>
Reviewed-by: Sergiu Moga <sergiu@unikraft.io>
GitHub-Closes: #1481

plat/kvm/arm/exceptions.S

index 9514e4005051748aa87f6dbd58766dc034b12519..713f3aaf829a437f082ff0d432febf50a6b78116 100644 (file)
@@ -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