Messages in this thread | | | Date | Tue, 12 Sep 2006 07:57:35 +0200 | From | Ingo Molnar <> | Subject | Re: [PATCH] i386-pda: Initialize the PDA early, before any C code runs. |
| |
* Jeremy Fitzhardinge <jeremy@goop.org> wrote:
> Jeremy Fitzhardinge wrote: > >Not sure, but I think this replicates the behaviour of the original > >code (ie, INIT_THREAD_INFO initializes cpu to 0, so smp_processor_id > >will return 0). Hm, Voyager will probably need a little patch to > >update the the PDA cpu_number properly in smp_setup_processor_id(). > > Something like this, perhaps: > > Subject: set the boot CPU number in the boot_pda > > Signed-off-by: Jeremy Fitzhardinge <jeremy@xensource.com>
> +++ b/arch/i386/mach-voyager/voyager_smp.c Mon Sep 11 16:34:09 2006
> smp_setup_processor_id(void) > { > current_thread_info()->cpu = hard_smp_processor_id(); > -} > + write_pda(cpu_number, hard_smp_processor_id()); > +}
yeah. On all other x86 SMP platforms we use the logical APIC ID 0 for the boot CPU. (the physical ID might be different, but that doesnt matter)
NOTE: you'll also need to patch smp_voyager.c:find_smp_config(), where it sets current_thread_info()->cpu to boot_cpu_id.
Ingo - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |