diff options
author | James Morse <james.morse@arm.com> | 2017-11-02 13:12:36 +0100 |
---|---|---|
committer | Will Deacon <will.deacon@arm.com> | 2017-11-02 16:55:41 +0100 |
commit | 41bd5b5d22b77c7300df2a2fa5397cbe785189b4 (patch) | |
tree | b6a110cae9e3ec6bd49b858675212666f72f4a06 /arch/arm64/include/asm/daifflags.h | |
parent | arm64: introduce an order for exceptions (diff) | |
download | linux-41bd5b5d22b77c7300df2a2fa5397cbe785189b4.tar.xz linux-41bd5b5d22b77c7300df2a2fa5397cbe785189b4.zip |
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>
Diffstat (limited to 'arch/arm64/include/asm/daifflags.h')
-rw-r--r-- | arch/arm64/include/asm/daifflags.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/arm64/include/asm/daifflags.h b/arch/arm64/include/asm/daifflags.h index 55e2598a8c4c..22e4c83de5a5 100644 --- a/arch/arm64/include/asm/daifflags.h +++ b/arch/arm64/include/asm/daifflags.h @@ -18,6 +18,9 @@ #include <linux/irqflags.h> +#define DAIF_PROCCTX 0 +#define DAIF_PROCCTX_NOIRQ PSR_I_BIT + /* mask/save/unmask/restore all exceptions, including interrupts. */ static inline void local_daif_mask(void) { |