diff options
author | Mark Rutland <mark.rutland@arm.com> | 2014-11-24 12:03:32 +0000 |
---|---|---|
committer | Mark Rutland <mark.rutland@arm.com> | 2015-01-15 12:24:07 +0000 |
commit | cf99a48dce66b126391bb33c7709892d3d8002d7 (patch) | |
tree | e192eeadee744d0575856d7691d0bf51bacae800 /arch/arm64/kernel/signal32.c | |
parent | b1940cd21c0f4abdce101253e860feff547291b0 (diff) | |
download | blackbird-op-linux-cf99a48dce66b126391bb33c7709892d3d8002d7.tar.gz blackbird-op-linux-cf99a48dce66b126391bb33c7709892d3d8002d7.zip |
arm64: introduce common ESR_ELx_* definitions
Currently we have separate ESR_EL{1,2}_* macros, despite the fact that
the encodings are common. While encodings are architected to refer to
the current EL or a lower EL, the macros refer to particular ELs (e.g.
ESR_ELx_EC_DABT_EL0). Having these duplicate definitions is redundant,
and their naming is misleading.
This patch introduces common ESR_ELx_* macros that can be used in all
cases, in preparation for later patches which will migrate existing
users over. Some additional cleanups are made in the process:
* Suffixes for particular exception levelts (e.g. _EL0, _EL1) are
replaced with more general _LOW and _CUR suffixes, matching the
architectural intent.
* ESR_ELx_EC_WFx, rather than ESR_ELx_EC_WFI is introduced, as this
EC encoding covers traps from both WFE and WFI. Similarly,
ESR_ELx_WFx_ISS_WFE rather than ESR_ELx_EC_WFI_ISS_WFE is introduced.
* Multi-bit fields are given consistently named _SHIFT and _MASK macros.
* UL() is used for compatiblity with assembly files.
* Comments are added for currently unallocated ESR_ELx.EC encodings.
For fields other than ESR_ELx.EC, macros are only implemented for fields
for which there is already an ESR_EL{1,2}_* macro.
Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Reviewed-by: Christoffer Dall <christoffer.dall@linaro.org>
Cc: Marc Zyngier <marc.zyngier@arm.com>
Cc: Peter Maydell <peter.maydell@linaro.org>
Cc: Will Deacon <will.deacon@arm.com>
Diffstat (limited to 'arch/arm64/kernel/signal32.c')
0 files changed, 0 insertions, 0 deletions