* [PATCH 1/2] powerpc/mm: Assume first cpu is boot_cpuid not 0
@ 2010-08-31 23:24 Matthew McClintock
2010-08-31 23:24 ` [PATCH 2/2] powerpc/fsl_booke: Add support to boot from core other than 0 Matthew McClintock
2010-09-01 13:05 ` [linuxppc-release] [PATCH 1/2] powerpc/mm: Assume first cpu is boot_cpuid not 0 Timur Tabi
0 siblings, 2 replies; 6+ messages in thread
From: Matthew McClintock @ 2010-08-31 23:24 UTC (permalink / raw)
To: linuxppc-dev; +Cc: Matthew McClintock, kumar.gala
arch/powerpc/mm/mmu_context_nohash.c assumes the boot cpu
will always have smp_processor_id() == 0. This patch fixes
that assumption
Signed-off-by: Matthew McClintock <msm@freescale.com>
---
arch/powerpc/mm/mmu_context_nohash.c | 6 ++++--
1 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/arch/powerpc/mm/mmu_context_nohash.c b/arch/powerpc/mm/mmu_context_nohash.c
index 1f2d9ff..cf98c1e 100644
--- a/arch/powerpc/mm/mmu_context_nohash.c
+++ b/arch/powerpc/mm/mmu_context_nohash.c
@@ -334,7 +334,7 @@ static int __cpuinit mmu_context_cpu_notify(struct notifier_block *self,
/* We don't touch CPU 0 map, it's allocated at aboot and kept
* around forever
*/
- if (cpu == 0)
+ if (cpu == boot_cpuid)
return NOTIFY_OK;
switch (action) {
@@ -412,9 +412,11 @@ void __init mmu_context_init(void)
*/
context_map = alloc_bootmem(CTX_MAP_SIZE);
context_mm = alloc_bootmem(sizeof(void *) * (last_context + 1));
+#ifndef CONFIG_SMP
stale_map[0] = alloc_bootmem(CTX_MAP_SIZE);
+#else
+ stale_map[boot_cpuid] = alloc_bootmem(CTX_MAP_SIZE);
-#ifdef CONFIG_SMP
register_cpu_notifier(&mmu_context_cpu_nb);
#endif
--
1.6.6.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 2/2] powerpc/fsl_booke: Add support to boot from core other than 0
2010-08-31 23:24 [PATCH 1/2] powerpc/mm: Assume first cpu is boot_cpuid not 0 Matthew McClintock
@ 2010-08-31 23:24 ` Matthew McClintock
2010-10-07 6:10 ` Kumar Gala
2010-10-07 17:19 ` Kumar Gala
2010-09-01 13:05 ` [linuxppc-release] [PATCH 1/2] powerpc/mm: Assume first cpu is boot_cpuid not 0 Timur Tabi
1 sibling, 2 replies; 6+ messages in thread
From: Matthew McClintock @ 2010-08-31 23:24 UTC (permalink / raw)
To: linuxppc-dev; +Cc: Matthew McClintock, kumar.gala
First we check to see if we are the first core booting up. This
is accomplished by comparing the boot_cpuid with -1, if it is we
assume this is the first core coming up.
Secondly, we need to update the initial thread info structure
to reflect the actual cpu we are running on otherwise
smp_processor_id() and related functions will return the default
initialization value of the struct or 0.
Signed-off-by: Matthew McClintock <msm@freescale.com>
---
arch/powerpc/kernel/head_fsl_booke.S | 10 ++++++++--
arch/powerpc/kernel/setup_32.c | 2 +-
2 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/arch/powerpc/kernel/head_fsl_booke.S b/arch/powerpc/kernel/head_fsl_booke.S
index 258315a..5bbf593 100644
--- a/arch/powerpc/kernel/head_fsl_booke.S
+++ b/arch/powerpc/kernel/head_fsl_booke.S
@@ -152,8 +152,11 @@ _ENTRY(__early_start)
/* Check to see if we're the second processor, and jump
* to the secondary_start code if so
*/
- mfspr r24,SPRN_PIR
- cmpwi r24,0
+ lis r24, boot_cpuid@h
+ ori r24, r24, boot_cpuid@l
+ lwz r24, 0(r24)
+ cmpwi r24, -1
+ mfspr r24,SPRN_PIR
bne __secondary_start
#endif
@@ -175,6 +178,9 @@ _ENTRY(__early_start)
li r0,0
stwu r0,THREAD_SIZE-STACK_FRAME_OVERHEAD(r1)
+ rlwinm r22,r1,0,0,31-THREAD_SHIFT /* current thread_info */
+ stw r24, TI_CPU(r22)
+
bl early_init
#ifdef CONFIG_RELOCATABLE
diff --git a/arch/powerpc/kernel/setup_32.c b/arch/powerpc/kernel/setup_32.c
index 8f58986..4be3ef4 100644
--- a/arch/powerpc/kernel/setup_32.c
+++ b/arch/powerpc/kernel/setup_32.c
@@ -46,7 +46,7 @@
extern void bootx_init(unsigned long r4, unsigned long phys);
-int boot_cpuid;
+int boot_cpuid = -1;
EXPORT_SYMBOL_GPL(boot_cpuid);
int boot_cpuid_phys;
--
1.6.6.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [linuxppc-release] [PATCH 1/2] powerpc/mm: Assume first cpu is boot_cpuid not 0
2010-08-31 23:24 [PATCH 1/2] powerpc/mm: Assume first cpu is boot_cpuid not 0 Matthew McClintock
2010-08-31 23:24 ` [PATCH 2/2] powerpc/fsl_booke: Add support to boot from core other than 0 Matthew McClintock
@ 2010-09-01 13:05 ` Timur Tabi
2010-09-01 13:12 ` Kumar Gala
1 sibling, 1 reply; 6+ messages in thread
From: Timur Tabi @ 2010-09-01 13:05 UTC (permalink / raw)
To: Matthew McClintock; +Cc: linuxppc-dev
Matthew McClintock wrote:
> +#ifndef CONFIG_SMP
> stale_map[0] = alloc_bootmem(CTX_MAP_SIZE);
> +#else
> + stale_map[boot_cpuid] = alloc_bootmem(CTX_MAP_SIZE);
So you're saying that even on a non-SMP kernel, boot_cpuid might not be zero?
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [linuxppc-release] [PATCH 1/2] powerpc/mm: Assume first cpu is boot_cpuid not 0
2010-09-01 13:05 ` [linuxppc-release] [PATCH 1/2] powerpc/mm: Assume first cpu is boot_cpuid not 0 Timur Tabi
@ 2010-09-01 13:12 ` Kumar Gala
0 siblings, 0 replies; 6+ messages in thread
From: Kumar Gala @ 2010-09-01 13:12 UTC (permalink / raw)
To: Timur Tabi; +Cc: Matthew McClintock, linuxppc-dev
On Sep 1, 2010, at 8:05 AM, Timur Tabi wrote:
> Matthew McClintock wrote:
>> +#ifndef CONFIG_SMP
>> stale_map[0] =3D alloc_bootmem(CTX_MAP_SIZE);
>> +#else
>> + stale_map[boot_cpuid] =3D alloc_bootmem(CTX_MAP_SIZE);
>=20
> So you're saying that even on a non-SMP kernel, boot_cpuid might not =
be zero?
That is correct, we have that situation on AMP kernel boots on 8572, =
p2020, etc.
- k=
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 2/2] powerpc/fsl_booke: Add support to boot from core other than 0
2010-08-31 23:24 ` [PATCH 2/2] powerpc/fsl_booke: Add support to boot from core other than 0 Matthew McClintock
@ 2010-10-07 6:10 ` Kumar Gala
2010-10-07 17:19 ` Kumar Gala
1 sibling, 0 replies; 6+ messages in thread
From: Kumar Gala @ 2010-10-07 6:10 UTC (permalink / raw)
To: Matthew McClintock; +Cc: linuxppc-dev
On Aug 31, 2010, at 6:24 PM, Matthew McClintock wrote:
> First we check to see if we are the first core booting up. This
> is accomplished by comparing the boot_cpuid with -1, if it is we
> assume this is the first core coming up.
>
> Secondly, we need to update the initial thread info structure
> to reflect the actual cpu we are running on otherwise
> smp_processor_id() and related functions will return the default
> initialization value of the struct or 0.
>
> Signed-off-by: Matthew McClintock <msm@freescale.com>
> ---
> arch/powerpc/kernel/head_fsl_booke.S | 10 ++++++++--
> arch/powerpc/kernel/setup_32.c | 2 +-
> 2 files changed, 9 insertions(+), 3 deletions(-)
Are we sticking with this or not?
- k
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 2/2] powerpc/fsl_booke: Add support to boot from core other than 0
2010-08-31 23:24 ` [PATCH 2/2] powerpc/fsl_booke: Add support to boot from core other than 0 Matthew McClintock
2010-10-07 6:10 ` Kumar Gala
@ 2010-10-07 17:19 ` Kumar Gala
1 sibling, 0 replies; 6+ messages in thread
From: Kumar Gala @ 2010-10-07 17:19 UTC (permalink / raw)
To: Matthew McClintock; +Cc: linuxppc-dev
On Aug 31, 2010, at 6:24 PM, Matthew McClintock wrote:
> First we check to see if we are the first core booting up. This
> is accomplished by comparing the boot_cpuid with -1, if it is we
> assume this is the first core coming up.
>
> Secondly, we need to update the initial thread info structure
> to reflect the actual cpu we are running on otherwise
> smp_processor_id() and related functions will return the default
> initialization value of the struct or 0.
>
> Signed-off-by: Matthew McClintock <msm@freescale.com>
> ---
> arch/powerpc/kernel/head_fsl_booke.S | 10 ++++++++--
> arch/powerpc/kernel/setup_32.c | 2 +-
> 2 files changed, 9 insertions(+), 3 deletions(-)
applied
- k
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2010-10-07 17:19 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-08-31 23:24 [PATCH 1/2] powerpc/mm: Assume first cpu is boot_cpuid not 0 Matthew McClintock
2010-08-31 23:24 ` [PATCH 2/2] powerpc/fsl_booke: Add support to boot from core other than 0 Matthew McClintock
2010-10-07 6:10 ` Kumar Gala
2010-10-07 17:19 ` Kumar Gala
2010-09-01 13:05 ` [linuxppc-release] [PATCH 1/2] powerpc/mm: Assume first cpu is boot_cpuid not 0 Timur Tabi
2010-09-01 13:12 ` Kumar Gala
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).