diff options
Diffstat (limited to 'arch/mips/kernel/cpu-probe.c')
-rw-r--r-- | arch/mips/kernel/cpu-probe.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/arch/mips/kernel/cpu-probe.c b/arch/mips/kernel/cpu-probe.c index f7faa3fb79b2..71620e19827a 100644 --- a/arch/mips/kernel/cpu-probe.c +++ b/arch/mips/kernel/cpu-probe.c | |||
@@ -25,6 +25,8 @@ | |||
25 | #include <asm/system.h> | 25 | #include <asm/system.h> |
26 | #include <asm/watch.h> | 26 | #include <asm/watch.h> |
27 | #include <asm/spram.h> | 27 | #include <asm/spram.h> |
28 | #include <asm/uaccess.h> | ||
29 | |||
28 | /* | 30 | /* |
29 | * Not all of the MIPS CPUs have the "wait" instruction available. Moreover, | 31 | * Not all of the MIPS CPUs have the "wait" instruction available. Moreover, |
30 | * the implementation of the "wait" feature differs between CPU families. This | 32 | * the implementation of the "wait" feature differs between CPU families. This |
@@ -987,6 +989,12 @@ static inline void cpu_probe_ingenic(struct cpuinfo_mips *c, unsigned int cpu) | |||
987 | } | 989 | } |
988 | } | 990 | } |
989 | 991 | ||
992 | #ifdef CONFIG_64BIT | ||
993 | /* For use by uaccess.h */ | ||
994 | u64 __ua_limit; | ||
995 | EXPORT_SYMBOL(__ua_limit); | ||
996 | #endif | ||
997 | |||
990 | const char *__cpu_name[NR_CPUS]; | 998 | const char *__cpu_name[NR_CPUS]; |
991 | const char *__elf_platform; | 999 | const char *__elf_platform; |
992 | 1000 | ||
@@ -1064,6 +1072,11 @@ __cpuinit void cpu_probe(void) | |||
1064 | c->srsets = 1; | 1072 | c->srsets = 1; |
1065 | 1073 | ||
1066 | cpu_probe_vmbits(c); | 1074 | cpu_probe_vmbits(c); |
1075 | |||
1076 | #ifdef CONFIG_64BIT | ||
1077 | if (cpu == 0) | ||
1078 | __ua_limit = ~((1ull << cpu_vmbits) - 1); | ||
1079 | #endif | ||
1067 | } | 1080 | } |
1068 | 1081 | ||
1069 | __cpuinit void cpu_report(void) | 1082 | __cpuinit void cpu_report(void) |