On 06/15/18 12:48, Ard Biesheuvel wrote: > KVM guests on ARM have special requirements when it comes to mapping > framebuffers: given that the host [emulating the framebuffer] uses > cacheable accesses to read from the framebuffer region, the guest > should uses cacheable accesses as well, or coherency is lost, i.e., > the host does not see what the guest writes. > > Modifying PCI drivers to take this into account just for KVM on ARM is > unreasonable, given that mapping BARs cacheable and still expecting > side effects does not make any sense. However, doing the same for > regions of system memory does make sense, since a framebuffer in DRAM > could be accessed via DMA by a coherent master, and so it makes sense > to take the memory attributes described by the UEFI memory map into > account if it covers the efifb region. > > Patch #2 implements this. Patch #1 is a preparatory patch that makes > efi_mem_desc_lookup() usable for us in #2. > > Question is how to best test this. I tried Gerd's ramfb patches against > QEMU with a recent ArmVirtQemu build but I am having trouble getting my > console to use the EFI framebuffer. > > Ard Biesheuvel (2): > efi: drop type and attribute checks in efi_mem_desc_lookup() > fbdev/efifb: honour UEFI memory map attributes when mapping the fb > > arch/x86/platform/efi/quirks.c | 3 +- > drivers/firmware/efi/efi.c | 8 +-- > drivers/firmware/efi/esrt.c | 5 +- > drivers/video/fbdev/efifb.c | 52 ++++++++++++++++---- > 4 files changed, 49 insertions(+), 19 deletions(-) > I reproduced the issue using the latest stock F28 kernel in the KVM guest, on my Mustang A3 host. Then I built this set on top of v4.17-12074-g4c5e8fc62d6a, using the F28 kernel config. I didn't pass any parameters to efifb. The series works perfectly for me. Tested-by: Laszlo Ersek <lersek@xxxxxxxxxx> Thanks! Laszlo -- To unsubscribe from this list: send the line "unsubscribe linux-efi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html