Re: [PATCH] i386-pda: Initialize the PDA early, before any C coderuns.

From: Andrew Morton
Date: Mon Sep 11 2006 - 19:00:28 EST


On Mon, 11 Sep 2006 15:52:49 -0700
Jeremy Fitzhardinge <jeremy@xxxxxxxx> 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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/