aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@arm.linux.org.uk>2015-08-21 09:23:26 +0100
committerKees Cook <keescook@chromium.org>2015-11-18 11:10:41 -0800
commit48f3d8e9a0acb09ecd66ad102796bb88e54aa576 (patch)
tree8483a0211365485369cc3b73180c20eeb1955965
parent2f891156055d75cbfdcedaa3d6386aadc7e8c596 (diff)
downloadv4.1-48f3d8e9a0acb09ecd66ad102796bb88e54aa576.tar.gz
BACKPORT: ARM: domains: move initial domain setting value to asm/domains.h
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> Bug: 25672827 Patchset: PAN emulation (cherry picked from commit 0171356a7708af01ad3224702b7f0aaa5b7a1399) Signed-off-by: Kees Cook <keescook@google.com> Conflicts: arch/arm/kernel/head.S Change-Id: If8fb66d8887e88c2e8a576b9855225df6ddb3471
-rw-r--r--arch/arm/include/asm/domain.h6
-rw-r--r--arch/arm/kernel/head.S5
2 files changed, 7 insertions, 4 deletions
diff --git a/arch/arm/include/asm/domain.h b/arch/arm/include/asm/domain.h
index 045b9b453bc..4218f88e8f7 100644
--- a/arch/arm/include/asm/domain.h
+++ b/arch/arm/include/asm/domain.h
@@ -58,6 +58,12 @@
#define domain_mask(dom) ((3) << (2 * (dom)))
#define domain_val(dom,type) ((type) << (2 * (dom)))
+#define DACR_INIT \
+ (domain_val(DOMAIN_USER, DOMAIN_MANAGER) | \
+ domain_val(DOMAIN_KERNEL, DOMAIN_MANAGER) | \
+ domain_val(DOMAIN_TABLE, DOMAIN_MANAGER) | \
+ domain_val(DOMAIN_IO, DOMAIN_CLIENT))
+
#ifndef __ASSEMBLY__
static inline unsigned int get_domain(void)
diff --git a/arch/arm/kernel/head.S b/arch/arm/kernel/head.S
index 3637973a970..b96475bdef8 100644
--- a/arch/arm/kernel/head.S
+++ b/arch/arm/kernel/head.S
@@ -441,10 +441,7 @@ __enable_mmu:
bic r0, r0, #CR_I
#endif
#ifndef CONFIG_ARM_LPAE
- mov r5, #(domain_val(DOMAIN_USER, DOMAIN_MANAGER) | \
- domain_val(DOMAIN_KERNEL, DOMAIN_MANAGER) | \
- domain_val(DOMAIN_TABLE, DOMAIN_MANAGER) | \
- domain_val(DOMAIN_IO, DOMAIN_CLIENT))
+ mov r5, #DACR_INIT
mcr p15, 0, r5, c3, c0, 0 @ load domain access register
mcr p15, 0, r4, c2, c0, 0 @ load page table pointer
#endif