Hi,

> > If those machine types need to set it to true. I think they can set it
> > after they have this property.
> nope it does not work like that. In case we really need to take care of
> this, this must be handled by compats.

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 disable the rom.

Everything else doesn't matter much because ramfb can not be used in the
first place, you'll get an error like this when trying:

  # qemu-default -M isapc -device ramfb
  qemu-system-x86_64: -device ramfb: Parameter 'driver' expects a dynamic 
sysbus device type for the machine

HTH & take care,
  Gerd


Reply via email to