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

From: H. Peter Anvin
Date: Thu Feb 28 2013 - 16:05:55 EST


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.

-hpa

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