aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@arm.linux.org.uk>2015-08-19 22:36:24 +0100
committerJeff Vander Stoep <jeffv@google.com>2016-01-25 09:25:29 -0800
commit07127c1717bfc572a259e5ccdc9d452e4da5bb08 (patch)
tree7b4593e2a8d7a7e010eb4a62f2325252504b2ee0
parentf1806e08194739e8c13ec39d8c2a38e9ec2a2ea8 (diff)
downloadhikey-linaro-07127c1717bfc572a259e5ccdc9d452e4da5bb08.tar.gz
UPSTREAM: ARM: domains: provide domain_mask()
Provide a macro to generate the mask for a domain, rather than using domain_val(, DOMAIN_MANAGER) which won't work when CPU_USE_DOMAINS is turned off. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> Bug: 25672827 Patchset: PAN emulation (cherry picked from commit 8e798706f7e9cd7f096aa194de90269dde83773e) Signed-off-by: Kees Cook <keescook@google.com> Change-Id: I3f732beb6f8d094648636c6030c47115382c6dd7
-rw-r--r--arch/arm/include/asm/domain.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/arm/include/asm/domain.h b/arch/arm/include/asm/domain.h
index 7f2941905714..045b9b453bcd 100644
--- a/arch/arm/include/asm/domain.h
+++ b/arch/arm/include/asm/domain.h
@@ -55,7 +55,8 @@
#define DOMAIN_MANAGER 1
#endif
-#define domain_val(dom,type) ((type) << (2*(dom)))
+#define domain_mask(dom) ((3) << (2 * (dom)))
+#define domain_val(dom,type) ((type) << (2 * (dom)))
#ifndef __ASSEMBLY__
@@ -82,7 +83,7 @@ static inline void set_domain(unsigned val)
#define modify_domain(dom,type) \
do { \
unsigned int domain = get_domain(); \
- domain &= ~domain_val(dom, DOMAIN_MANAGER); \
+ domain &= ~domain_mask(dom); \
domain = domain | domain_val(dom, type); \
set_domain(domain); \
} while (0)