diff options
author | Paul Mundt <lethal@linux-sh.org> | 2010-01-20 02:40:48 -0500 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2010-01-20 02:40:48 -0500 |
commit | 2efa53b269ec1e9289a108e1506f53f6f1de440b (patch) | |
tree | a5825e18be1044b2472cba5776e1ef47377f9834 /arch/sh/include/asm | |
parent | 5f240718b475dcddee86b138b624f24c681dbb29 (diff) |
sh: Make 29/32-bit mode check helper generally available.
Presently __in_29bit_mode() is only defined for the PMB case, but
it's also easily derived from the CONFIG_29BIT and CONFIG_32BIT &&
CONFIG_PMB=n cases.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/include/asm')
-rw-r--r-- | arch/sh/include/asm/addrspace.h | 6 | ||||
-rw-r--r-- | arch/sh/include/asm/mmu.h | 10 |
2 files changed, 9 insertions, 7 deletions
diff --git a/arch/sh/include/asm/addrspace.h b/arch/sh/include/asm/addrspace.h index 268efd62ed21..446b3831c214 100644 --- a/arch/sh/include/asm/addrspace.h +++ b/arch/sh/include/asm/addrspace.h | |||
@@ -65,11 +65,5 @@ | |||
65 | #define P3_ADDR_MAX P4SEG | 65 | #define P3_ADDR_MAX P4SEG |
66 | #endif | 66 | #endif |
67 | 67 | ||
68 | #ifndef __ASSEMBLY__ | ||
69 | #ifdef CONFIG_PMB | ||
70 | extern int __in_29bit_mode(void); | ||
71 | #endif /* CONFIG_PMB */ | ||
72 | #endif /* __ASSEMBLY__ */ | ||
73 | |||
74 | #endif /* __KERNEL__ */ | 68 | #endif /* __KERNEL__ */ |
75 | #endif /* __ASM_SH_ADDRSPACE_H */ | 69 | #endif /* __ASM_SH_ADDRSPACE_H */ |
diff --git a/arch/sh/include/asm/mmu.h b/arch/sh/include/asm/mmu.h index e5e8f48830ef..ca7d91e8aa72 100644 --- a/arch/sh/include/asm/mmu.h +++ b/arch/sh/include/asm/mmu.h | |||
@@ -31,6 +31,7 @@ | |||
31 | 31 | ||
32 | #ifndef __ASSEMBLY__ | 32 | #ifndef __ASSEMBLY__ |
33 | #include <linux/errno.h> | 33 | #include <linux/errno.h> |
34 | #include <linux/threads.h> | ||
34 | 35 | ||
35 | /* Default "unsigned long" context */ | 36 | /* Default "unsigned long" context */ |
36 | typedef unsigned long mm_context_id_t[NR_CPUS]; | 37 | typedef unsigned long mm_context_id_t[NR_CPUS]; |
@@ -72,6 +73,7 @@ long pmb_remap(unsigned long virt, unsigned long phys, | |||
72 | unsigned long size, unsigned long flags); | 73 | unsigned long size, unsigned long flags); |
73 | void pmb_unmap(unsigned long addr); | 74 | void pmb_unmap(unsigned long addr); |
74 | int pmb_init(void); | 75 | int pmb_init(void); |
76 | bool __in_29bit_mode(void); | ||
75 | #else | 77 | #else |
76 | static inline long pmb_remap(unsigned long virt, unsigned long phys, | 78 | static inline long pmb_remap(unsigned long virt, unsigned long phys, |
77 | unsigned long size, unsigned long flags) | 79 | unsigned long size, unsigned long flags) |
@@ -87,8 +89,14 @@ static inline int pmb_init(void) | |||
87 | { | 89 | { |
88 | return -ENODEV; | 90 | return -ENODEV; |
89 | } | 91 | } |
90 | #endif /* CONFIG_PMB */ | ||
91 | 92 | ||
93 | #ifdef CONFIG_29BIT | ||
94 | #define __in_29bit_mode() (1) | ||
95 | #else | ||
96 | #define __in_29bit_mode() (0) | ||
97 | #endif | ||
98 | |||
99 | #endif /* CONFIG_PMB */ | ||
92 | #endif /* __ASSEMBLY__ */ | 100 | #endif /* __ASSEMBLY__ */ |
93 | 101 | ||
94 | #endif /* __MMU_H */ | 102 | #endif /* __MMU_H */ |