Re: [PATCH v4 07/12] efi: passing kexec necessary efi data via setup_data

Dave Young
2013-12-06T01:31:44Z

On 12/05/13 at 09:52pm, Borislav Petkov wrote:
> On Thu, Dec 05, 2013 at 08:56:02AM -0700, Toshi Kani wrote:
> > The smbios in efi_setup_data is necessary for kexec to pass the physical
> > address of the SMBIOS table from the 1st kernel to the 2nd kernel.
> >
> > The kernel boot sequence proceeds in the following order. Step 2
> > requires efi.smbios to be the physical address. However, Dave found
> > that EFI system table has a virtual address of SMBIOS in step 1. Hence,
> > he sets it back to the physical address with the smbios in
> > efi_setup_data. (When it is still the physical address, it simply sets
> > the same value.)
> >
> > 1. efi_init() - Set efi.smbios from EFI system table
> > 2. dmi_scan_machine() - Temporary map efi.smbios to access SMBIOS table
> > 3. efi_enter_virtual_mode() - Map EFI ranges
>
> Thanks Toshi, it is all clear now.
>
> @Dave: you might want to put Toshi's explanation in the commit message
> of your patch so that we know *why* the change is needed.

Ok, will do.

Thanks
Dave