Abolish per-CPU RTAS args
Nathan Lynch
nathanl at austin.ibm.com
Sun Jun 27 19:05:19 EST 2004
David Gibson wrote:
> On Fri, Jun 25, 2004 at 04:25:34PM -0500, Joel Schopp wrote:
>>cpu 0x0: Vector: 700 (Program Check) at [c0000000005739f0]
>> pc: c00000000003ab1c: .rtas_stop_self+0x34/0x70
>> lr: c00000000003e25c: .cpu_die+0x30/0x3c
>> sp: c000000000573c70
>> msr: 8000000000021032
>> current = 0xc000000000605810
>> paca = 0xc000000000574000
>> pid = 0, comm = swapper
>>enter ? for help
>>0:mon> t
>>[c000000000573d00] c00000000003e25c .cpu_die+0x30/0x3c
>>[c000000000573d70] c000000000014ee8 .default_idle+0xe8/0xec
>>[c000000000573e00] c0000000000151d0 .cpu_idle+0x2c/0x44
>>[c000000000573e70] c00000000000c548 .rest_init+0x74/0x8c
>>[c000000000573ef0] c0000000005218a0 .start_kernel+0x224/0x284
>>[c000000000573f90] c00000000000c270 .__setup_cpu_power3+0x0/0x4
>>
>>Don't have time to investigate this much now, but it looks like the
>>rtas_stop_self didn't work so well. Will poke at it next week.
>
>
> Bother. I wonder if it's hitting the BUG_ON() in there - if you get a
> chance, can you see if there is a BUG message before it enters xmon?
I don't have a way to test this at the moment, but moving this part
(from setup.c):
+#if defined(CONFIG_HOTPLUG_CPU) && !defined(CONFIG_PPC_PMAC)
+ rtas_stop_self_args.token = rtas_token("stop-self");
+#endif /* CONFIG_HOTPLUG_CPU && !CONFIG_PPC_PMAC */
down a few lines to after finish_device_tree() has been called should
fix it. rtas_token() won't work until after finish_device_tree() has run.
Nathan
** Sent via the linuxppc64-dev mail list. See http://lists.linuxppc.org/
More information about the Linuxppc64-dev
mailing list