]> git.baikalelectronics.ru Git - kernel.git/commit
efi: Use early_mem*() instead of early_io*()
authorDaniel Kiper <daniel.kiper@oracle.com>
Mon, 30 Jun 2014 17:52:56 +0000 (19:52 +0200)
committerMatt Fleming <matt.fleming@intel.com>
Fri, 18 Jul 2014 20:23:54 +0000 (21:23 +0100)
commit699ce1d36f0d4d9f0b09e280db0570a5237ab974
treee12ae6d90ab8682dea7dc61980f0d086e9af66a0
parent203bebb40dbb8d8299b164c878a0f471dd600b94
efi: Use early_mem*() instead of early_io*()

Use early_mem*() instead of early_io*() because all mapped EFI regions
are memory (usually RAM but they could also be ROM, EPROM, EEPROM, flash,
etc.) not I/O regions. Additionally, I/O family calls do not work correctly
under Xen in our case. early_ioremap() skips the PFN to MFN conversion
when building the PTE. Using it for memory will attempt to map the wrong
machine frame. However, all artificial EFI structures created under Xen
live in dom0 memory and should be mapped/unmapped using early_mem*() family
calls which map domain memory.

Signed-off-by: Daniel Kiper <daniel.kiper@oracle.com>
Cc: Leif Lindholm <leif.lindholm@linaro.org>
Cc: Mark Salter <msalter@redhat.com>
Signed-off-by: Matt Fleming <matt.fleming@intel.com>
arch/x86/platform/efi/efi.c
drivers/firmware/efi/efi.c