* [PATCH] powerpc: iSeries needs slb_initialize to be called
@ 2006-04-01 16:18 Stephen Rothwell
2006-04-01 16:45 ` Stephen Rothwell
0 siblings, 1 reply; 2+ messages in thread
From: Stephen Rothwell @ 2006-04-01 16:18 UTC (permalink / raw)
To: paulus; +Cc: ppc-dev
[-- Attachment #1: Type: text/plain, Size: 1775 bytes --]
Since the "ppc64: support 64k pages" patch
(3c726f8dee6f55e96475574e9f645327e461884c) went in, systems that have SLBs
(like Power4 iSeries) needed to have slb_initialize called to set up some
variables for the SLB miss handler. This was not being called on the boot
processor on iSeries, so on single cpu iSeries machines, we would get
apparent memory curruption as soon as we entered user mode.
This patch fixes that by calling slb_initialize on the boot cpu if the
processor has an SLB.
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
arch/powerpc/kernel/setup_64.c | 10 ++++------
1 files changed, 4 insertions(+), 6 deletions(-)
Please check I haven't missed anything, as I don't really understand the
SLB miss handler.
This has been booted on a 2 cpu Power4 iSeries partition with and without
maxcpus=1. This needs to go into 2.6.17 and probably into 2.6.16.x
git bisect rocks! :-)
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/
b116f2eae79ee837fa5e5e55bf1d59329ecd7c93
diff --git a/arch/powerpc/kernel/setup_64.c b/arch/powerpc/kernel/setup_64.c
index f96c49b..abd758f 100644
--- a/arch/powerpc/kernel/setup_64.c
+++ b/arch/powerpc/kernel/setup_64.c
@@ -256,12 +256,10 @@ void __init early_setup(unsigned long dt
/*
* Initialize stab / SLB management except on iSeries
*/
- if (!firmware_has_feature(FW_FEATURE_ISERIES)) {
- if (cpu_has_feature(CPU_FTR_SLB))
- slb_initialize();
- else
- stab_initialize(lpaca->stab_real);
- }
+ if (cpu_has_feature(CPU_FTR_SLB))
+ slb_initialize();
+ else if (!firmware_has_feature(FW_FEATURE_ISERIES))
+ stab_initialize(lpaca->stab_real);
DBG(" <- early_setup()\n");
}
--
1.2.4
[-- Attachment #2: Type: application/pgp-signature, Size: 191 bytes --]
^ permalink raw reply related [flat|nested] 2+ messages in thread* [PATCH] powerpc: iSeries needs slb_initialize to be called
2006-04-01 16:18 [PATCH] powerpc: iSeries needs slb_initialize to be called Stephen Rothwell
@ 2006-04-01 16:45 ` Stephen Rothwell
0 siblings, 0 replies; 2+ messages in thread
From: Stephen Rothwell @ 2006-04-01 16:45 UTC (permalink / raw)
To: paulus; +Cc: linuxppc-dev
Since the powerpc 64k pages patch went in, systems that have SLBs
(like Power4 iSeries) needed to have slb_initialize called to set up
some variables for the SLB miss handler. This was not being called
on the boot processor on iSeries, so on single cpu iSeries machines,
we would get apparent memory curruption as soon as we entered user mode.
This patch fixes that by calling slb_initialize on the boot cpu if the
processor has an SLB.
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
arch/powerpc/kernel/setup_64.c | 10 ++++------
1 files changed, 4 insertions(+), 6 deletions(-)
The previous version was against 2.6.16, this one is against the current
powerpc tree.
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
032013b4b9e7617e88ad1da8d8515bfd9f8ab012
diff --git a/arch/powerpc/kernel/setup_64.c b/arch/powerpc/kernel/setup_64.c
index 59aa92c..13e91c4 100644
--- a/arch/powerpc/kernel/setup_64.c
+++ b/arch/powerpc/kernel/setup_64.c
@@ -215,12 +215,10 @@ void __init early_setup(unsigned long dt
/*
* Initialize stab / SLB management except on iSeries
*/
- if (!firmware_has_feature(FW_FEATURE_ISERIES)) {
- if (cpu_has_feature(CPU_FTR_SLB))
- slb_initialize();
- else
- stab_initialize(get_paca()->stab_real);
- }
+ if (cpu_has_feature(CPU_FTR_SLB))
+ slb_initialize();
+ else if (!firmware_has_feature(FW_FEATURE_ISERIES))
+ stab_initialize(get_paca()->stab_real);
DBG(" <- early_setup()\n");
}
--
1.2.4
^ permalink raw reply related [flat|nested] 2+ messages in thread
end of thread, other threads:[~2006-04-01 16:45 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-04-01 16:18 [PATCH] powerpc: iSeries needs slb_initialize to be called Stephen Rothwell
2006-04-01 16:45 ` Stephen Rothwell
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox