diff options
author | Suzuki K. Poulose <suzuki.poulose@arm.com> | 2015-10-19 09:19:35 -0400 |
---|---|---|
committer | Catalin Marinas <catalin.marinas@arm.com> | 2015-10-19 12:54:34 -0400 |
commit | 4bf8b96ed3f7e11422d8b4f58cf43896ed02d1f6 (patch) | |
tree | c3e72d7890eb3ad01203395586339d36b6fb65b5 /arch/arm64/include | |
parent | db488be354bc85724d7b9523e94435fdaa761a35 (diff) |
arm64: Check for selected granule support
Ensure that the selected page size is supported by the CPU(s). If it doesn't
park it.
Cc: Will Deacon <will.deacon@arm.com>
Signed-off-by: Suzuki K. Poulose <suzuki.poulose@arm.com>
Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Tested-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Acked-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Diffstat (limited to 'arch/arm64/include')
-rw-r--r-- | arch/arm64/include/asm/sysreg.h | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/arch/arm64/include/asm/sysreg.h b/arch/arm64/include/asm/sysreg.h index a7f3d4b2514d..d59cb231a673 100644 --- a/arch/arm64/include/asm/sysreg.h +++ b/arch/arm64/include/asm/sysreg.h | |||
@@ -44,6 +44,26 @@ | |||
44 | #define SET_PSTATE_PAN(x) __inst_arm(0xd5000000 | REG_PSTATE_PAN_IMM |\ | 44 | #define SET_PSTATE_PAN(x) __inst_arm(0xd5000000 | REG_PSTATE_PAN_IMM |\ |
45 | (!!x)<<8 | 0x1f) | 45 | (!!x)<<8 | 0x1f) |
46 | 46 | ||
47 | |||
48 | #define ID_AA64MMFR0_TGRAN4_SHIFT 28 | ||
49 | #define ID_AA64MMFR0_TGRAN64_SHIFT 24 | ||
50 | #define ID_AA64MMFR0_TGRAN16_SHIFT 20 | ||
51 | |||
52 | #define ID_AA64MMFR0_TGRAN4_NI 0xf | ||
53 | #define ID_AA64MMFR0_TGRAN4_SUPPORTED 0x0 | ||
54 | #define ID_AA64MMFR0_TGRAN64_NI 0xf | ||
55 | #define ID_AA64MMFR0_TGRAN64_SUPPORTED 0x0 | ||
56 | #define ID_AA64MMFR0_TGRAN16_NI 0x0 | ||
57 | #define ID_AA64MMFR0_TGRAN16_SUPPORTED 0x1 | ||
58 | |||
59 | #if defined(CONFIG_ARM64_4K_PAGES) | ||
60 | #define ID_AA64MMFR0_TGRAN_SHIFT ID_AA64MMFR0_TGRAN4_SHIFT | ||
61 | #define ID_AA64MMFR0_TGRAN_SUPPORTED ID_AA64MMFR0_TGRAN4_SUPPORTED | ||
62 | #elif defined(CONFIG_ARM64_64K_PAGES) | ||
63 | #define ID_AA64MMFR0_TGRAN_SHIFT ID_AA64MMFR0_TGRAN64_SHIFT | ||
64 | #define ID_AA64MMFR0_TGRAN_SUPPORTED ID_AA64MMFR0_TGRAN64_SUPPORTED | ||
65 | #endif | ||
66 | |||
47 | #ifdef __ASSEMBLY__ | 67 | #ifdef __ASSEMBLY__ |
48 | 68 | ||
49 | .irp num,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30 | 69 | .irp num,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30 |