All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v9 0/2] ramfb: Add property to control if load the romfile
@ 2025-07-04  3:03 Shaoqin Huang
  2025-07-04  3:03 ` [PATCH v9 1/2] " Shaoqin Huang
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Shaoqin Huang @ 2025-07-04  3:03 UTC (permalink / raw)
  To: qemu-arm, Daniel P. Berrangé, Peter Maydell, Gerd Hoffmann,
	Eric Auger, Paolo Bonzini
  Cc: Zhao Liu, Shaoqin Huang, Alex Williamson, Cédric Le Goater,
	Eduardo Habkost, Marcel Apfelbaum, Michael S. Tsirkin,
	Philippe Mathieu-Daudé, qemu-devel, Richard Henderson,
	Sergio Lopez, Yanan Wang

Currently the ramfb device loads the vgabios-ramfb.bin unconditionally, but only
the x86 need the vgabios-ramfb.bin, this can cause that when use the
release package on arm64 it can't find the vgabios-ramfb.bin.

Because only seabios will use the vgabios-ramfb.bin, load the rom logic
is x86-specific. For other !x86 platforms, the edk2 ships an EFI driver
for ramfb, so they don't need to load the romfile.

So add a new property use-legacy-x86-rom in both ramfb and vfio_pci
device, because the vfio display also use the ramfb_setup() to load
the vgabios-ramfb.bin file.

After have this property, the machine type can set the compatibility to
not load the vgabios-ramfb.bin if the arch doesn't need it.

Then I set the use_legacy_x86_rom property to false by default, and only set it
to true on x86 since only x86 will need it.

At the same time, set the "use-legacy-x86-rom" property to true on those
historical versioned machine types in order to avoid the memory layout
being changed.

Changelog:
---------
v8 -> v9:
  - Improve the commit message.
v7 -> v8:
  - Set the property in microvm machine type.
v6 -> v7:
  - Set the property into hw_compat_10_0 instead of hw_compat_9_2.
v5 -> v6:
  - Set the property to true on those historical versioned machine types.
v4 -> v5:
  - Fix some typo error.
  - Set the property in piix machine type.
v3 -> v4:
  - Set the new property to false by default, only set it to true on x86.
v2 -> v3:
  - Fix the underscore error.
  - Add a new patch to set the property in arm compatibility.
v1 -> v2:
  - Change the property name.

v7: https://lore.kernel.org/all/20250702085616.2172722-1-shahuang@redhat.com/
v6: https://lore.kernel.org/all/20250701030549.2153331-1-shahuang@redhat.com/
v5: https://lore.kernel.org/all/20250626034526.2136585-1-shahuang@redhat.com/
v4: https://lore.kernel.org/all/20250617030521.2109305-1-shahuang@redhat.com/
v3: https://lore.kernel.org/all/20250609073408.2083831-1-shahuang@redhat.com/
v2: https://lore.kernel.org/all/20250606070234.2063451-1-shahuang@redhat.com/
v1: https://lore.kernel.org/all/20250605030351.2056571-1-shahuang@redhat.com/

Shaoqin Huang (2):
  ramfb: Add property to control if load the romfile
  hw/i386: Add the ramfb romfile compatibility

 hw/core/machine.c             |  2 ++
 hw/display/ramfb-standalone.c |  4 +++-
 hw/display/ramfb-stubs.c      |  2 +-
 hw/display/ramfb.c            |  6 ++++--
 hw/i386/microvm.c             |  3 +++
 hw/i386/pc_piix.c             | 10 ++++++++++
 hw/i386/pc_q35.c              |  3 +++
 hw/vfio/display.c             |  4 ++--
 hw/vfio/pci.c                 |  1 +
 hw/vfio/pci.h                 |  1 +
 include/hw/display/ramfb.h    |  2 +-
 11 files changed, 31 insertions(+), 7 deletions(-)

-- 
2.40.1


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2025-07-13 21:02 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-07-04  3:03 [PATCH v9 0/2] ramfb: Add property to control if load the romfile Shaoqin Huang
2025-07-04  3:03 ` [PATCH v9 1/2] " Shaoqin Huang
2025-07-10  9:11   ` Zhao Liu
2025-07-04  3:03 ` [PATCH v9 2/2] hw/i386: Add the ramfb romfile compatibility Shaoqin Huang
2025-07-10 10:07   ` Zhao Liu
2025-07-13 21:02   ` Michael S. Tsirkin
2025-07-09  2:18 ` [PATCH v9 0/2] ramfb: Add property to control if load the romfile Shaoqin Huang

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.