kexec regression since 4.9 caused by efi
Omar Sandoval
osandov at osandov.com
Thu Mar 9 01:54:08 PST 2017
On Thu, Mar 09, 2017 at 02:38:06PM +0800, Dave Young wrote:
> Add efi/kexec list.
>
> On 03/08/17 at 12:16pm, Omar Sandoval wrote:
[snip]
> I have no more clue yet from your provided log, but the runtime value is
> odd to me. It is set in below code:
>
> arch/x86/platform/efi/efi.c: efi_systab_init()
> efi_systab.runtime = data ?
> (void *)(unsigned long)data->runtime :
> (void *)(unsigne long)systab64->runtime;
>
> Here data is the setup_data passed by kexec-tools from normal kernel to
> kexec kernel, efi_setup_data structure is like below:
> struct efi_setup_data {
> u64 fw_vendor;
> u64 runtime;
> u64 tables;
> u64 smbios;
> u64 reserved[8];
> };
>
> kexec-tools get the runtime address from /sys/firmware/efi/runtime
>
> So can you do some debuggin on your side, eg. see the sysfs runtime
> value is correct or not. And add some printk in efi init path etc.
The attached patch fixes this for me.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-efi-adjust-virt_addr-when-splitting-descriptors-in-e.patch
Type: text/x-diff
Size: 2223 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/kexec/attachments/20170309/3dfd0b3f/attachment.bin>
More information about the kexec
mailing list