On 2/27/22 15:40, Alexander Graf wrote:
QEMU implements multiple ways to expose graphics output to the virt
machine, but most of them are incompatible with hardware virtualization.

The one that does work reliably is ramfb. It's a very simple mechanism
in which the guest reserves a memory region for the frame buffer and then
notifies the host about its location and properties. The host then just
displays the contents of the frame buffer on screen.

This patch set adds support to drive the ramfb device in our QEMU arm
targets. Theoretically, it should work as is with any of the other
architectures as well though.

With this driver, we have a very simple, KVM compatible way to expose
GOP via UEFI to payloads and thus enable development and testing of
graphical OS functionality with QEMU's -M virt.

Alexander Graf (4):
   qfw: Add WRITE definition
   ramfb: Add driver for ramfb display
   qfw: Spawn ramfb device if its file is present
   qemu-arm*: Enable ramfb by default

Please, enable the device on RISC-V too.

Best regards

Heinrich


  arch/arm/Kconfig                    |   4 ++
  board/emulation/qemu-arm/qemu-arm.c |  14 ++++
  drivers/misc/qfw.c                  |  23 ++++++
  drivers/video/Kconfig               |   8 +++
  drivers/video/MAINTAINERS           |   4 ++
  drivers/video/Makefile              |   1 +
  drivers/video/ramfb.c               | 104 ++++++++++++++++++++++++++++
  include/configs/qemu-arm.h          |   9 +++
  include/qfw.h                       |   1 +
  9 files changed, 168 insertions(+)
  create mode 100644 drivers/video/MAINTAINERS
  create mode 100644 drivers/video/ramfb.c


Reply via email to