OSDN Git Service

arm64: Move the async/fiq helpers to explicitly set process context flags
authorJames Morse <james.morse@arm.com>
Thu, 2 Nov 2017 12:12:36 +0000 (12:12 +0000)
committerWill Deacon <will.deacon@arm.com>
Thu, 2 Nov 2017 15:55:41 +0000 (15:55 +0000)
commit41bd5b5d22b77c7300df2a2fa5397cbe785189b4
treeb6a110cae9e3ec6bd49b858675212666f72f4a06
parent65be7a1b799f11ff16f4c154ba4cf82eeb722ec7
arm64: Move the async/fiq helpers to explicitly set process context flags

Remove the local_{async,fiq}_{en,dis}able macros as they don't respect
our newly defined order and are only used to set the flags for process
context when we bring CPUs online.

Add a helper to do this. The IRQ flag varies as we want it masked on
the boot CPU until we are ready to handle interrupts.
The boot CPU unmasks SError during early boot once it can print an error
message. If we can print an error message about SError, we can do the
same for FIQ. Debug exceptions are already enabled by __cpu_setup(),
which has also configured MDSCR_EL1 to disable MDE and KDE.

Signed-off-by: James Morse <james.morse@arm.com>
Reviewed-by: Julien Thierry <julien.thierry@arm.com>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
arch/arm64/include/asm/daifflags.h
arch/arm64/include/asm/irqflags.h
arch/arm64/kernel/setup.c
arch/arm64/kernel/smp.c