On Thu, Sep 12, 2013 at 03:34:15PM +0800, Dave Young wrote: > I'm playing with skipping SetVirtualAddressMap in kexec kernel, for > same kernel the test result is ok for me both for kexec and kdump. > Takao Indoh sent a patch with this approatch, but his V2 switched to > use physical mapping. During my test, additional data of config table Physical mapping won't work because of some very brilliant Apple UEFI implementations, as I came to realize. My previous version did that :) > elems need to be saved besides of fw_vendor, runtime and tables or > dereference taglep->guid will panic. > > Also kexec userspace need to fill efi_info in bootparams and pass the > previous saved efi data to 2nd kernel. Hmm, yes, we need to tell the kexec kernel the EFI regions. > I'm worrying just skiping enter virt mode have risk though it's an > easy solution. Your 1:1 mapping approatch looks better. I look forward > to test your new patchset. Yeah, we had a discussion at the SUSE Labs conf about whether we could really skip SetVirtualAddressMap in the first kernel and do it in the kexec kernel but the first kernel might want to call runtime services for whatever reason and for that we need the runtime services. So we opted for the stable VA mappings. > Are you also working on kexec userspace part? Already have a patch? Why userspace part - I'm thinking the kexec'ed kernel would simply add the mappings made by SetVirtualAddressMap without calling it. And it will know which mappings go to which virtual addresses because we start at the -4G virtual address and go downwards and the mappings will have the same addresses per UEFI implementation. It'll make more sense when you see the code, I hope :) Thanks. -- Regards/Gruss, Boris.