diff options
author | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2008-12-18 14:13:24 -0500 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2008-12-20 22:21:15 -0500 |
commit | 5e696617c425eb97bd943d781f3941fb1e8f0e5b (patch) | |
tree | 82138fbda2e28fbe8d0e5821f218cb160230ce27 /arch/powerpc/platforms | |
parent | 6d2170be4561293a6aa821c773687bd3f18e8206 (diff) |
powerpc/mm: Split mmu_context handling
This splits the mmu_context handling between 32-bit hash based
processors, 64-bit hash based processors and everybody else. This is
preliminary work for adding SMP support for BookE processors.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Acked-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/powerpc/platforms')
-rw-r--r-- | arch/powerpc/platforms/Kconfig.cputype | 10 | ||||
-rw-r--r-- | arch/powerpc/platforms/powermac/cpufreq_32.c | 2 |
2 files changed, 10 insertions, 2 deletions
diff --git a/arch/powerpc/platforms/Kconfig.cputype b/arch/powerpc/platforms/Kconfig.cputype index 548efa55c8fe..db61dafb924d 100644 --- a/arch/powerpc/platforms/Kconfig.cputype +++ b/arch/powerpc/platforms/Kconfig.cputype | |||
@@ -195,13 +195,21 @@ config SPE | |||
195 | 195 | ||
196 | config PPC_STD_MMU | 196 | config PPC_STD_MMU |
197 | bool | 197 | bool |
198 | depends on 6xx || POWER3 || POWER4 || PPC64 | 198 | depends on 6xx || PPC64 |
199 | default y | 199 | default y |
200 | 200 | ||
201 | config PPC_STD_MMU_32 | 201 | config PPC_STD_MMU_32 |
202 | def_bool y | 202 | def_bool y |
203 | depends on PPC_STD_MMU && PPC32 | 203 | depends on PPC_STD_MMU && PPC32 |
204 | 204 | ||
205 | config PPC_STD_MMU_64 | ||
206 | def_bool y | ||
207 | depends on PPC_STD_MMU && PPC64 | ||
208 | |||
209 | config PPC_MMU_NOHASH | ||
210 | def_bool y | ||
211 | depends on !PPC_STD_MMU | ||
212 | |||
205 | config PPC_MM_SLICES | 213 | config PPC_MM_SLICES |
206 | bool | 214 | bool |
207 | default y if HUGETLB_PAGE || PPC_64K_PAGES | 215 | default y if HUGETLB_PAGE || PPC_64K_PAGES |
diff --git a/arch/powerpc/platforms/powermac/cpufreq_32.c b/arch/powerpc/platforms/powermac/cpufreq_32.c index 792d3ce8112e..65c585b8b00d 100644 --- a/arch/powerpc/platforms/powermac/cpufreq_32.c +++ b/arch/powerpc/platforms/powermac/cpufreq_32.c | |||
@@ -310,7 +310,7 @@ static int pmu_set_cpu_speed(int low_speed) | |||
310 | _set_L3CR(save_l3cr); | 310 | _set_L3CR(save_l3cr); |
311 | 311 | ||
312 | /* Restore userland MMU context */ | 312 | /* Restore userland MMU context */ |
313 | set_context(current->active_mm->context.id, current->active_mm->pgd); | 313 | switch_mmu_context(NULL, current->active_mm); |
314 | 314 | ||
315 | #ifdef DEBUG_FREQ | 315 | #ifdef DEBUG_FREQ |
316 | printk(KERN_DEBUG "HID1, after: %x\n", mfspr(SPRN_HID1)); | 316 | printk(KERN_DEBUG "HID1, after: %x\n", mfspr(SPRN_HID1)); |