[PATCH v5 10/14] efi: only print saved efi runtime maps instead of all memmap ranges for kexec

Borislav Petkov bp at alien8.de
Mon Dec 16 06:33:24 EST 2013


On Mon, Dec 16, 2013 at 10:00:10AM +0800, Dave Young wrote:
> > > -	print_efi_memmap();
> > > +	if (efi_setup) {
> > > +		int s;
> > > +		struct efi_setup_data *data;
> > > +
> > > +		s = sizeof(*data) + nr_efi_runtime_map * sizeof(data->map[0]);
> > > +		data = early_memremap(efi_setup, s);
> > > +		if (!data)
> > > +			return;
> > > +		print_efi_memmap(data->map, nr_efi_runtime_map,
> > > +				 sizeof(data->map[0]));
> > > +		early_memunmap(data, s);
> > 
> > Well, if you call print_efi_memmap() in parse_efi_setup() you can save
> > yourself that map/unmaping no?
> 
> In parse_efi_setup, I need map twice as well:

Well, your v6 has a something completely different:

void __init parse_efi_setup(u64 phys_addr)
{
        efi_setup = phys_addr;
}

There's no mapping at all anymore. So please redo your reply against v6.

> Another where what I print in this patch is same position what
> non-kexec kernel does, it looks better that print them only if earlier
> init is ok.

-ENOPARSE.

All I'm saying is, if you're going to memremap/memunmap efi_setup,
then do it once in efi_setup_init() as you do already and call
print_efi_memmap from there - no need to do work twice for no reason.

-- 
Regards/Gruss,
    Boris.

Sent from a fat crate under my desk. Formatting is fine.
--



More information about the kexec mailing list