diff options
author | Michael Neuling <mikey@neuling.org> | 2007-12-06 01:24:48 -0500 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2007-12-10 21:45:56 -0500 |
commit | 584f8b71a2e8abdaeb4b6f4fddaf542b61392453 (patch) | |
tree | c14f26334e3a3524046f0790f96564a4a4f22d92 /arch/powerpc/platforms/pasemi | |
parent | 44ef339073f67d4abcc62ae52a5fbc069d7a4d29 (diff) |
[POWERPC] Use SLB size from the device tree
Currently we hardwire the number of SLBs to 64, but PAPR says we
should use the ibm,slb-size property to obtain the number of SLB
entries. This uses this property instead of assuming 64. If no
property is found, we assume 64 entries as before.
This soft patches the SLB handler, so it shouldn't change performance
at all.
Signed-off-by: Michael Neuling <mikey@neuling.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/powerpc/platforms/pasemi')
-rw-r--r-- | arch/powerpc/platforms/pasemi/setup.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/powerpc/platforms/pasemi/setup.c b/arch/powerpc/platforms/pasemi/setup.c index 5748194a667f..6d7d068ceba0 100644 --- a/arch/powerpc/platforms/pasemi/setup.c +++ b/arch/powerpc/platforms/pasemi/setup.c | |||
@@ -36,6 +36,7 @@ | |||
36 | #include <asm/mpic.h> | 36 | #include <asm/mpic.h> |
37 | #include <asm/smp.h> | 37 | #include <asm/smp.h> |
38 | #include <asm/time.h> | 38 | #include <asm/time.h> |
39 | #include <asm/mmu.h> | ||
39 | 40 | ||
40 | #include <pcmcia/ss.h> | 41 | #include <pcmcia/ss.h> |
41 | #include <pcmcia/cistpl.h> | 42 | #include <pcmcia/cistpl.h> |
@@ -302,7 +303,7 @@ static int pas_machine_check_handler(struct pt_regs *regs) | |||
302 | int i; | 303 | int i; |
303 | 304 | ||
304 | printk(KERN_ERR "slb contents:\n"); | 305 | printk(KERN_ERR "slb contents:\n"); |
305 | for (i = 0; i < SLB_NUM_ENTRIES; i++) { | 306 | for (i = 0; i < mmu_slb_size; i++) { |
306 | asm volatile("slbmfee %0,%1" : "=r" (e) : "r" (i)); | 307 | asm volatile("slbmfee %0,%1" : "=r" (e) : "r" (i)); |
307 | asm volatile("slbmfev %0,%1" : "=r" (v) : "r" (i)); | 308 | asm volatile("slbmfev %0,%1" : "=r" (v) : "r" (i)); |
308 | printk(KERN_ERR "%02d %016lx %016lx\n", i, e, v); | 309 | printk(KERN_ERR "%02d %016lx %016lx\n", i, e, v); |