diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-07-02 16:25:50 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-07-02 16:25:50 -0700 |
commit | 4d6f843a38fa26035598f1f35181aa5f328db897 (patch) | |
tree | 0a2fa0b492ae121dc937f08efd5ba6ef9d110db3 /arch/x86/platform/efi | |
parent | 55a0d3ff603a69ea4ec7677effd457f838390afc (diff) | |
parent | d3768d885c6ccbf8a137276843177d76c49033a7 (diff) | |
download | linux-4d6f843a38fa26035598f1f35181aa5f328db897.tar.bz2 |
Merge branch 'x86-efi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull x86 EFI changes from Ingo Molnar:
"Two fixes that should in principle increase robustness of our
interaction with the EFI firmware, and a cleanup"
* 'x86-efi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
x86, efi: retry ExitBootServices() on failure
efi: Convert runtime services function ptrs
UEFI: Don't pass boot services regions to SetVirtualAddressMap()
Diffstat (limited to 'arch/x86/platform/efi')
-rw-r--r-- | arch/x86/platform/efi/efi.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/x86/platform/efi/efi.c b/arch/x86/platform/efi/efi.c index d2fbcedcf6ea..b410b71bdcf7 100644 --- a/arch/x86/platform/efi/efi.c +++ b/arch/x86/platform/efi/efi.c @@ -929,6 +929,13 @@ void __init efi_enter_virtual_mode(void) va = efi_ioremap(md->phys_addr, size, md->type, md->attribute); + if (!(md->attribute & EFI_MEMORY_RUNTIME)) { + if (!va) + pr_err("ioremap of 0x%llX failed!\n", + (unsigned long long)md->phys_addr); + continue; + } + md->virt_addr = (u64) (unsigned long) va; if (!va) { |