arm64: irqflags: Introduce explicit debugging for IRQ priorities
authorJulien Thierry <julien.thierry@arm.com>
Tue, 11 Jun 2019 09:38:11 +0000 (10:38 +0100)
committerCatalin Marinas <catalin.marinas@arm.com>
Fri, 21 Jun 2019 14:50:23 +0000 (15:50 +0100)
commit48ce8f80f5901f1f031b00be66d659d39f33b0a1
treecc0a9df40912c904f658cc063c2e2f230eb80489
parentbd82d4bd21880b7c4d5f5756be435095d6ae07b5
arm64: irqflags: Introduce explicit debugging for IRQ priorities

Using IRQ priority masking to enable/disable interrupts is a bit
sensitive as it requires to deal with both ICC_PMR_EL1 and PSR.I.

Introduce some validity checks to both highlight the states in which
functions dealing with IRQ enabling/disabling can (not) be called, and
bark a warning when called in an unexpected state.

Since these checks are done on hotpaths, introduce a build option to
choose whether to do the checking.

Cc: Will Deacon <will.deacon@arm.com>
Reviewed-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Julien Thierry <julien.thierry@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
arch/arm64/Kconfig
arch/arm64/include/asm/cpufeature.h
arch/arm64/include/asm/daifflags.h
arch/arm64/include/asm/irqflags.h