On 10/22/13 at 01:18pm, Borislav Petkov wrote:
On Mon, Oct 21, 2013 at 11:04:26PM +0800, Dave Young wrote:
You need this to map the runtime regions in the kexec kernel, right?
Please write that in the commit message.
Yes, will do
Ok, but but, why doesn't the normal code path in efi_enter_virtual_mode
work anymore? I mean, why do you need another function instead of doing
what you did previously:
if (!kexec)
phys_efi_set_virtual_address_map(...)
The path up to here does the mapping already anyway so you only need to
do the mapping in the kexec kernel and skip set set_virtual_map thing.
Hi,
The reason is that I only pass runtime regions from 1st kernel to kexec
kernel, your efi mapping function uses the region size to determin the
virtual address from top to down. Because the passed-in md ranges in kexec
kernel are different from ranges booting from firmware so the virtual address
will be different.
Even I pass the whole untouched ranges including BOOT_SERVICE there's still
chance the function for reserving boot regions overwrite the boot region
size to 0, and 1st kernel will leave it to be used as normal memory after efi
init.
I think we have talked about this issue previously.
Thanks
Dave
Thanks.
--
To unsubscribe from this list: send the line unsubscribe linux-efi in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html