From e10ccbd31a7ff7e73c76533ebdd417ceac4508d1 Mon Sep 17 00:00:00 2001 From: Borislav Petkov Date: Fri, 1 Mar 2013 17:07:44 +0100 Subject: [PATCH] --- yaml --- r: 369919 b: refs/heads/master c: 15b9c359f288b09003cb70f7ed204affc0c6614d h: refs/heads/master i: 369917: 54cbec2f343853bdef5bed220222a49e4647740b 369915: 323240b70c2074902229653c1fd3bb16a2a478c5 369911: ece87141d036c4f11726d04d7925d0b77d0deac0 369903: c510b4c8f8bad8c5fc06f462871fa1a5b0a6f9d3 369887: d9cb189059dae2b9d769d7c074069dd433eb3ece 369855: 8c080dada9ac451ef1a25943e676534b715c9424 369791: cfd36485e2a1786aaa6e83cc79fadf86d4e954ab 369663: d89d10728077823fa46afd52e56ac1bad1ee069e v: v3 --- [refs] | 2 +- trunk/arch/x86/platform/efi/efi.c | 19 ++++++++++--------- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/[refs] b/[refs] index 13be9f003e9e..ebb02dad842f 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 073093819d6d9f363060d3f7584ca1ff987081c4 +refs/heads/master: 15b9c359f288b09003cb70f7ed204affc0c6614d diff --git a/trunk/arch/x86/platform/efi/efi.c b/trunk/arch/x86/platform/efi/efi.c index e075e474245b..430cd784a0de 100644 --- a/trunk/arch/x86/platform/efi/efi.c +++ b/trunk/arch/x86/platform/efi/efi.c @@ -350,24 +350,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;