On Thu, Jul 03, 2025 at 11:03:15PM -0400, Shaoqin Huang wrote: > Date: Thu, 3 Jul 2025 23:03:15 -0400 > From: Shaoqin Huang <shahu...@redhat.com> > Subject: [PATCH v9 2/2] hw/i386: Add the ramfb romfile compatibility > > ramfb is a sysbus device so it can only used for machine types where it > is explicitly enabled: > > # git grep machine_class_allow_dynamic_sysbus_dev.*TYPE_RAMFB_DEVICE > hw/arm/virt.c: machine_class_allow_dynamic_sysbus_dev(mc, > TYPE_RAMFB_DEVICE); > hw/i386/microvm.c: machine_class_allow_dynamic_sysbus_dev(mc, > TYPE_RAMFB_DEVICE); > hw/i386/pc_piix.c: machine_class_allow_dynamic_sysbus_dev(m, > TYPE_RAMFB_DEVICE); > hw/i386/pc_q35.c: machine_class_allow_dynamic_sysbus_dev(m, > TYPE_RAMFB_DEVICE); > hw/loongarch/virt.c: machine_class_allow_dynamic_sysbus_dev(mc, > TYPE_RAMFB_DEVICE); > hw/riscv/virt.c: machine_class_allow_dynamic_sysbus_dev(mc, > TYPE_RAMFB_DEVICE); > > So these six are the only machine types we have to worry about. > > The three x86 machine types (pc, q35, microvm) will actually use the rom > (when booting with seabios). > > For arm/riscv/loongarch virt we want to disable the rom. > > This patch sets ramfb romfile option to false by default, except for x86 > machines types (pc, q35, microvm) which need the rom file when booting > with seabios and machine types <= 10.0 (handling the case of arm virt, > for compat reasons). > > 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. > > Reviewed-by: Eric Auger <eric.au...@redhat.com> > Signed-off-by: Shaoqin Huang <shahu...@redhat.com> > --- > hw/core/machine.c | 2 ++ > hw/display/ramfb-standalone.c | 2 +- > hw/i386/microvm.c | 3 +++ > hw/i386/pc_piix.c | 10 ++++++++++ > hw/i386/pc_q35.c | 3 +++ > hw/vfio/pci.c | 2 +- > 6 files changed, 20 insertions(+), 2 deletions(-)
Reviewed-by: Zhao Liu <zhao1....@intel.com>