Messages in this thread | | | Date | Mon, 11 Sep 2006 16:03:01 -0700 | From | Andrew Morton <> | Subject | Re: [PATCH] i386-pda: Initialize the PDA early, before any C code runs. |
| |
On Mon, 11 Sep 2006 15:52:49 -0700 Jeremy Fitzhardinge <jeremy@goop.org> wrote:
> Initialize the PDA early, before any C code runs. > > This patch makes sure the PDA is usable in head.S, before any C code > is run. > > On the boot CPU, this is done by using a temporary boot_pda which is > initialized appropriately. It is replaced with a proper PDA when the > proper GDT is installed. > > For secondary CPUs, the GDT and PDA are pre-allocated and initialized. > head.S just needs to set %gs and load the GDT. > > In the process, this removes the need for early_smp_processor_id() and > early_current(). > > ... > > +/* Initial PDA used by boot CPU */ > +struct i386_pda boot_pda = { > + ._pda = &boot_pda, > + .cpu_number = 0, > + .pcurrent = &init_task, > +};
What is likely to happen if the boot CPU is not CPU #0? (iirc Voyager does that?)
- 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/
| |