x86: EFI: Back efi_ioremap with init_memory_mapping instead of FIX_MAP
authorHuang Ying <ying.huang@intel.com>
Wed, 4 Mar 2009 02:58:33 +0000 (10:58 +0800)
committerIngo Molnar <mingo@elte.hu>
Wed, 4 Mar 2009 18:20:16 +0000 (19:20 +0100)
commitdd39ecf522ba86c70809715af46e6557f6491131
treea7028e98fcc310cc2dba14d0a218d47a69db8eba
parentff0c0874905fb312ca1491bbdac2653b0b48c20b
x86: EFI: Back efi_ioremap with init_memory_mapping instead of FIX_MAP

Impact: Fix boot failure on EFI system with large runtime memory range

Brian Maly reported that some EFI system with large runtime memory
range can not boot. Because the FIX_MAP used to map runtime memory
range is smaller than run time memory range.

This patch fixes this issue by re-implement efi_ioremap() with
init_memory_mapping().

Reported-and-tested-by: Brian Maly <bmaly@redhat.com>
Signed-off-by: Huang Ying <ying.huang@intel.com>
Cc: Brian Maly <bmaly@redhat.com>
Cc: Yinghai Lu <yinghai@kernel.org>
LKML-Reference: <1236135513.6204.306.camel@yhuang-dev.sh.intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/include/asm/efi.h
arch/x86/include/asm/fixmap_64.h
arch/x86/kernel/efi.c
arch/x86/kernel/efi_64.c