2013-03-01 16:07:58

by Borislav Petkov

[permalink] [raw]
Subject: [PATCH] x86, efi: Make efi_memblock_x86_reserve_range more readable

From: Borislav Petkov <[email protected]>

So basically this function copies EFI memmap stuff from boot_params into
the EFI memmap descriptor and reserves memory for it. Make it much more
readable.

Signed-off-by: Borislav Petkov <[email protected]>
---
arch/x86/platform/efi/efi.c | 19 ++++++++++---------
1 file changed, 10 insertions(+), 9 deletions(-)

diff --git a/arch/x86/platform/efi/efi.c b/arch/x86/platform/efi/efi.c
index 5f2ecaf3f9d8..fff986da6239 100644
--- a/arch/x86/platform/efi/efi.c
+++ b/arch/x86/platform/efi/efi.c
@@ -351,24 +351,25 @@ static void __init do_add_efi_memmap(void)

int __init efi_memblock_x86_reserve_range(void)
{
+ struct efi_info *e = &boot_params.efi_info;
unsigned long pmap;

#ifdef CONFIG_X86_32
/* Can't handle data above 4GB at this time */
- if (boot_params.efi_info.efi_memmap_hi) {
+ if (e->efi_memmap_hi) {
pr_err("Memory map is above 4GB, disabling EFI.\n");
return -EINVAL;
}
- pmap = boot_params.efi_info.efi_memmap;
+ pmap = e->efi_memmap;
#else
- pmap = (boot_params.efi_info.efi_memmap |
- ((__u64)boot_params.efi_info.efi_memmap_hi<<32));
+ pmap = (e->efi_memmap | ((__u64)e->efi_memmap_hi << 32));
#endif
- memmap.phys_map = (void *)pmap;
- memmap.nr_map = boot_params.efi_info.efi_memmap_size /
- boot_params.efi_info.efi_memdesc_size;
- memmap.desc_version = boot_params.efi_info.efi_memdesc_version;
- memmap.desc_size = boot_params.efi_info.efi_memdesc_size;
+ memmap.phys_map = (void *)pmap;
+ memmap.nr_map = e->efi_memmap_size /
+ e->efi_memdesc_size;
+ memmap.desc_size = e->efi_memdesc_size;
+ memmap.desc_version = e->efi_memdesc_version;
+
memblock_reserve(pmap, memmap.nr_map * memmap.desc_size);

return 0;
--
1.8.1.3.535.ga923c31


2013-03-01 20:49:25

by Matt Fleming

[permalink] [raw]
Subject: Re: [PATCH] x86, efi: Make efi_memblock_x86_reserve_range more readable

On Fri, 2013-03-01 at 17:07 +0100, Borislav Petkov wrote:
> From: Borislav Petkov <[email protected]>
>
> So basically this function copies EFI memmap stuff from boot_params into
> the EFI memmap descriptor and reserves memory for it. Make it much more
> readable.
>
> Signed-off-by: Borislav Petkov <[email protected]>
> ---
> arch/x86/platform/efi/efi.c | 19 ++++++++++---------
> 1 file changed, 10 insertions(+), 9 deletions(-)

Thanks, applied!