• Daniel Kiper's avatar
    efi: Use early_mem*() instead of early_io*() · abc93f8e
    Daniel Kiper authored
    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: default avatarDaniel Kiper <daniel.kiper@oracle.com>
    Cc: Leif Lindholm <leif.lindholm@linaro.org>
    Cc: Mark Salter <msalter@redhat.com>
    Signed-off-by: default avatarMatt Fleming <matt.fleming@intel.com>
    abc93f8e
efi.c 10.3 KB