On Sat, Dec 17, 2016 at 06:57:21PM +0800, Dave Young wrote: > Ccing efi people. > > On 12/16/16 at 02:33pm, Jean Delvare wrote: > > On Fri, 16 Dec 2016 14:18:58 +0200, Andy Shevchenko wrote: > > > On Fri, 2016-12-16 at 10:32 +0800, Dave Young wrote: > > > > On 12/15/16 at 12:28pm, Jean Delvare wrote: > > > > > I am no kexec expert but this confuses me. Shouldn't the second > > > > > kernel have access to the EFI systab as the first kernel does? It > > > > > includes many more pointers than just ACPI and DMI tables, and it > > > > > would seem inconvenient to have to pass all these addresses > > > > > individually explicitly. > > > > > > > > Yes, in modern linux kernel, kexec has the support for EFI, I think it > > > > should work naturally at least in x86_64. > > > > > > Thanks for this good news! > > > > > > Unfortunately Intel Galileo is 32-bit platform. > > > > If it was done for X86_64 then maybe it can be generalized to X86? > > For X86_64, we have a new way for efi runtime memmory mapping, in i386 > code it still use old ioremap way. It is impossible to use same way as > the X86_64 since the virtual address space is limited. > > But maybe for 32bit, kexec kernel can run in physical mode, but I'm not > sure, I would suggest Andy to do a test first with efi=noruntime for > kexec 2nd kernel. Guys, it was quite a long no hear from you. As I told you the proposed work around didn't help. Today I found that Microsoft Surface 3 also affected by this. Can we apply these patches for now until you will find better solution? P.S. I may resend them rebased on recent vanilla. -- With Best Regards, Andy Shevchenko