On Thu, 26 Jun, at 04:33:44PM, Vivek Goyal wrote: > This patch does two thigns. It passes EFI run time mappings to second > kernel in bootparams efi_info. Second kernel parse this info and create > new mappings in second kernel. That means mappings in first and second > kernel will be same. This paves the way to enable EFI in kexec kernel. > > This patch also prepares and passes EFI setup data through bootparams. > This contains bunch of information about various tables and their > addresses. > > These information gathering and passing has been written along the lines > of what current kexec-tools is doing to make kexec work with UEFI. > > Signed-off-by: Vivek Goyal <vgoyal at redhat.com> > CC: linux-efi at vger.kernel.org > --- > arch/x86/kernel/kexec-bzimage64.c | 146 ++++++++++++++++++++++++++++++++++--- > drivers/firmware/efi/runtime-map.c | 21 ++++++ > include/linux/efi.h | 19 +++++ > 3 files changed, 174 insertions(+), 12 deletions(-) [...] > diff --git a/drivers/firmware/efi/runtime-map.c b/drivers/firmware/efi/runtime-map.c > index 97cdd16..40f2213 100644 > --- a/drivers/firmware/efi/runtime-map.c > +++ b/drivers/firmware/efi/runtime-map.c > @@ -138,6 +138,27 @@ add_sysfs_runtime_map_entry(struct kobject *kobj, int nr) > return entry; > } > > +int get_efi_runtime_map_size(void) > +{ > + return nr_efi_runtime_map * efi_memdesc_size; > +} > + > +int get_efi_runtime_map_desc_size(void) > +{ > + return efi_memdesc_size; > +} > + > +int efi_runtime_map_copy(void *buf, size_t bufsz) > +{ > + size_t sz = get_efi_runtime_map_size(); > + > + if (sz > bufsz) > + sz = bufsz; > + > + memcpy(buf, efi_runtime_map, sz); > + return 0; > +} Could we prefix these with efi_, e.g. efi_get_runtime_map_size() ? -- Matt Fleming, Intel Open Source Technology Center