Re: [PATCH 0/2] efi: add support for cacheable efifb mappings

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 15 June 2018 at 14:37, Laszlo Ersek <lersek@xxxxxxxxxx> wrote:
> 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.
>
> What command line did you use? From my earlier testing (which obviously
> couldn't include your present patches):
>
> http://mid.mail-archive.com/0da06062-431e-385e-0b00-577f1daf3a1e@xxxxxxxxxx
>
> the important options are "-nodefaults" plus "-device ramfb". This makes
> sure that no hardware appears in the VM that the Linux guest could
> consider "video hardware" in its own right. So the only console
> possibility will be efifb, and no other (more specific / higher prio) fb
> driver will be able to eject it.
>

OK, so I was using the wrong -device, using just 'ramfb' works fine.

> I'll try to come back with test results too.
>

Thanks!


>>
>> 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(-)
>>
>
--
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



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux