aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sh/include/asm
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2010-01-20 02:40:48 -0500
committerPaul Mundt <lethal@linux-sh.org>2010-01-20 02:40:48 -0500
commit2efa53b269ec1e9289a108e1506f53f6f1de440b (patch)
treea5825e18be1044b2472cba5776e1ef47377f9834 /arch/sh/include/asm
parent5f240718b475dcddee86b138b624f24c681dbb29 (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.h6
-rw-r--r--arch/sh/include/asm/mmu.h10
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
70extern 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 */
36typedef unsigned long mm_context_id_t[NR_CPUS]; 37typedef 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);
73void pmb_unmap(unsigned long addr); 74void pmb_unmap(unsigned long addr);
74int pmb_init(void); 75int pmb_init(void);
76bool __in_29bit_mode(void);
75#else 77#else
76static inline long pmb_remap(unsigned long virt, unsigned long phys, 78static 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 */