arm64: explicitly mask all exceptions
authorJames Morse <james.morse@arm.com>
Thu, 2 Nov 2017 12:12:34 +0000 (12:12 +0000)
committerWill Deacon <will.deacon@arm.com>
Thu, 2 Nov 2017 15:55:40 +0000 (15:55 +0000)
commit0fbeb318754860b37150fd42c2058d636a431426
treef2031ebae16d0c649f59b4e0b3400824c35ce68a
parentc10f0d06ad2652913acd21a630f4c2a97cebbfbd
arm64: explicitly mask all exceptions

There are a few places where we want to mask all exceptions. Today we
do this in a piecemeal fashion, typically we expect the caller to
have masked irqs and the arch code masks debug exceptions, ignoring
serror which is probably masked.

Make it clear that 'mask all exceptions' is the intention by adding
helpers to do exactly that.

This will let us unmask SError without having to add 'oh and SError'
to these paths.

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/assembler.h
arch/arm64/include/asm/daifflags.h [new file with mode: 0644]
arch/arm64/kernel/hibernate.c
arch/arm64/kernel/machine_kexec.c
arch/arm64/kernel/smp.c
arch/arm64/kernel/suspend.c
arch/arm64/kernel/traps.c
arch/arm64/mm/proc.S