Re: [PATCH v6 07/24] arm64: Make PMR part of task context
From: Catalin Marinas <catalin.marinas@arm.com>
Date: 2018-12-04 17:09:15
Also in:
lkml
From: Catalin Marinas <catalin.marinas@arm.com>
Date: 2018-12-04 17:09:15
Also in:
lkml
On Mon, Nov 12, 2018 at 11:56:58AM +0000, Julien Thierry wrote:
diff --git a/arch/arm64/kernel/entry.S b/arch/arm64/kernel/entry.S index 039144e..eb8120e 100644 --- a/arch/arm64/kernel/entry.S +++ b/arch/arm64/kernel/entry.S@@ -249,6 +249,12 @@ alternative_else_nop_endif msr sp_el0, tsk .endif + /* Save pmr */ +alternative_if ARM64_HAS_IRQ_PRIO_MASKING + mrs_s x20, SYS_ICC_PMR_EL1 + str x20, [sp, #S_PMR_SAVE] +alternative_else_nop_endif + /* * Registers that may be useful after this macro is invoked: *@@ -269,6 +275,13 @@ alternative_else_nop_endif /* No need to restore UAO, it will be restored from SPSR_EL1 */ .endif + /* Restore pmr */ +alternative_if ARM64_HAS_IRQ_PRIO_MASKING + ldr x20, [sp, #S_PMR_SAVE] + msr_s SYS_ICC_PMR_EL1, x20 + dsb sy +alternative_else_nop_endif
What's this DSB for? If it's needed, please add a comment. I would have expected an ISB (or none at all as we are going to return from an exception). -- Catalin _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel