aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm64/include
diff options
context:
space:
mode:
authorSuzuki K. Poulose <suzuki.poulose@arm.com>2015-10-19 09:19:35 -0400
committerCatalin Marinas <catalin.marinas@arm.com>2015-10-19 12:54:34 -0400
commit4bf8b96ed3f7e11422d8b4f58cf43896ed02d1f6 (patch)
treec3e72d7890eb3ad01203395586339d36b6fb65b5 /arch/arm64/include
parentdb488be354bc85724d7b9523e94435fdaa761a35 (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.h20
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