[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAE9FiQU3FBwEiC86N1RC8=aMdN09EbUmRcsWP0yof7bmxBhPew@mail.gmail.com>
Date: Thu, 28 Feb 2013 15:02:25 -0800
From: Yinghai Lu <yinghai@...nel.org>
To: "H. Peter Anvin" <hpa@...or.com>
Cc: Robin Holt <holt@....com>, hpa@....com,
linux-kernel@...r.kernel.org
Subject: Re: Revert commit 5dcd14ecd4 - breaks EFI boot with SLES11 elilo.efi
On Thu, Feb 28, 2013 at 1:12 PM, H. Peter Anvin <hpa@...or.com> wrote:
> On 02/28/2013 01:09 PM, Robin Holt wrote:
>>>
>>> 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?
>>
>
> Look at the source code and look at what fields it actually initializes.
> Give us that list, and then we can work around elilo braindamage in the
> kernel.
>
> Then make it follow the boot spec:
>
>> In 32-bit boot protocol, the first step in loading a Linux kernel
>> should be to setup the boot parameters (struct boot_params,
>> traditionally known as "zero page"). The memory for struct boot_params
>> should be allocated and initialized to all zero. Then the setup header
>> from offset 0x01f1 of kernel image on should be loaded into struct
>> boot_params and examined. The end of setup header can be calculated as
>> follow:
>>
>> 0x0202 + byte value at offset 0x0201
>
> ... so we don't have to.
Good, kexec is not only one.
ELILO has one.
5 ELILO
We need switch/case to have different fields set for it.
Thanks
Yinghai
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists