Re: Revert commit 5dcd14ecd4 - breaks EFI boot with SLES11elilo.efi

From: Robin Holt
Date: Thu Feb 28 2013 - 16:09:17 EST


On Thu, Feb 28, 2013 at 01:05:27PM -0800, H. Peter Anvin wrote:
> On 02/28/2013 12:52 PM, Robin Holt wrote:
> > If I revert that commit (5dcd14ecd4), It completes boot fine. With that
> > commit applied, by ACPI tables (as well as much else) seems to be
> > completely messed up. The ACPI XSDT table is removed, all the SRAT
> > is gone. Much of the remaining ACPI table is messed up. Some of the
> > EFI memory map is whacked.
> >
> > If I change the following, things work:
> > diff --git a/arch/x86/include/asm/bootparam_utils.h b/arch/x86/include/asm/bootparam_utils.h
> > index 5b5e9cb..85337ab 100644
> > --- a/arch/x86/include/asm/bootparam_utils.h
> > +++ b/arch/x86/include/asm/bootparam_utils.h
> > @@ -19,9 +19,11 @@ static void sanitize_boot_params(struct boot_params *boot_params)
> > {
> > if (boot_params->sentinel) {
> > /*fields in boot_params are not valid, clear them */
> > +#if 0
> > memset(&boot_params->olpc_ofw_header, 0,
> > (char *)&boot_params->alt_mem_k -
> > (char *)&boot_params->olpc_ofw_header);
> > +#endif
> > memset(&boot_params->kbd_status, 0,
> > (char *)&boot_params->hdr -
> > (char *)&boot_params->kbd_status);
> >
>
> Sounds like ELILO needs to be fixed to pass the boot_params correctly.
>
> To support existing ELILO, it would be good to know exactly *which*
> fields ELILO pass in as garbage (because it does, that is why ->sentinel
> is nonzero) and use its bootloader ID to apply the proper brainwhack for
> the legacy versions.

Any idea how I can dump that information?

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