Go to the documentation of this file.
10 #ifndef __ASM_PROC_DOMAIN_H
11 #define __ASM_PROC_DOMAIN_H
14 #include <asm/barrier.h>
36 #define DOMAIN_KERNEL 0
37 #define DOMAIN_TABLE 0
41 #define DOMAIN_KERNEL 2
42 #define DOMAIN_TABLE 2
50 #define DOMAIN_NOACCESS 0
51 #define DOMAIN_CLIENT 1
52 #ifdef CONFIG_CPU_USE_DOMAINS
53 #define DOMAIN_MANAGER 3
55 #define DOMAIN_MANAGER 1
58 #define domain_val(dom,type) ((type) << (2*(dom)))
62 #ifdef CONFIG_CPU_USE_DOMAINS
63 static inline void set_domain(
unsigned val)
66 "mcr p15, 0, %0, c3, c0 @ set domain"
71 #define modify_domain(dom,type) \
73 struct thread_info *thread = current_thread_info(); \
74 unsigned int domain = thread->cpu_domain; \
75 domain &= ~domain_val(dom, DOMAIN_MANAGER); \
76 thread->cpu_domain = domain | domain_val(dom, type); \
77 set_domain(thread->cpu_domain); \
81 static inline void set_domain(
unsigned val) { }
82 static inline void modify_domain(
unsigned dom,
unsigned type) { }
89 #ifdef CONFIG_CPU_USE_DOMAINS
90 #define TUSER(instr) #instr "t"
92 #define TUSER(instr) #instr
101 #ifdef CONFIG_CPU_USE_DOMAINS
102 #define TUSER(instr) instr ## t
104 #define TUSER(instr) instr