Re: [PATCH v2 07/20] x86, ACPI: Make acpi_initrd_override_find workwith 32bit flat mode

From: Tejun Heo
Date: Thu Apr 04 2013 - 14:36:08 EST


Hello,

On Sat, Mar 09, 2013 at 10:44:34PM -0800, Yinghai Lu wrote:
> For finding with 32bit, it would be easy to access initrd in 32bit
> flat mode, as we don't need to set page table.
>
> That is from head_32.S, and microcode updating already use this trick.
>
> Need to change acpi_initrd_override_find to use phys to access global
> variables.
>
> Pass is_phys in the function, as we can not use address to decide if it
> is phys or virtual address on 32 bit. Boot loader could load initrd above
> max_low_pfn.
>
> Don't call printk as it uses global variables, so delay print later
> during copying.
>
> Change table_sigs to use stack instead, otherwise it is too messy to change
> string array to phys and still keep offset calculating correct.
> That size is about 36x4 bytes, and it is small to settle in stack.
>
> Also remove "continue" in MARCO to make code more readable.

It'd be nice if the error message can be stored somewhere and then
printed out after the system is in proper address mode if that isn't
too complex to achieve. If it gets too messy, no need to bother.

Thanks.

--
tejun
--
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/