Re: [PATCH 10/10] hw/display/vga-pci: Do not expose the 'global-vmstate' property

2026-03-05 Thread Thomas Huth

On 05/03/2026 10.25, Peter Maydell wrote:

On Thu, 5 Mar 2026 at 09:17, Thomas Huth  wrote:


... and we can't remove the remaining global_vmstate stuff since it's still
used by vga-isa.c and vga-mmio.c ...


Unfortunate in hindsight that we didn't tie this to versioning
for all uses.

TYPE_VGA_MMIO is used only be the MIPS Jazz board, which is not
versioned, so we can break migration compat there and switch it
to not-global.

But TYPE_ISA_VGA and TYPE_CIRRUS_ISA_VGA are both pluggable
ISA devices -- since you can plug those into a versioned PC
machine, I assume we can't break migration compat there ?


I guess so, yes.

Shall we maybe start setting global_vmstate = false for the latest machine 
types, so that we can at least remove this kludge in a couple of years?


 Thomas




Re: [PATCH 10/10] hw/display/vga-pci: Do not expose the 'global-vmstate' property

2026-03-05 Thread Peter Maydell
On Thu, 5 Mar 2026 at 09:17, Thomas Huth  wrote:
>
> ... and we can't remove the remaining global_vmstate stuff since it's still
> used by vga-isa.c and vga-mmio.c ...

Unfortunate in hindsight that we didn't tie this to versioning
for all uses.

TYPE_VGA_MMIO is used only be the MIPS Jazz board, which is not
versioned, so we can break migration compat there and switch it
to not-global.

But TYPE_ISA_VGA and TYPE_CIRRUS_ISA_VGA are both pluggable
ISA devices -- since you can plug those into a versioned PC
machine, I assume we can't break migration compat there ?

thanks
-- PMM



Re: [PATCH 10/10] hw/display/vga-pci: Do not expose the 'global-vmstate' property

2026-03-05 Thread Thomas Huth

On 02/05/2025 01.01, Philippe Mathieu-Daudé wrote:

The "global-vmstate" property is 'false' by default, and was only
set to 'true' in the hw_compat_2_12[] array. We removed all machines
using that array. Stop exposing that property on the PCI devices.

Signed-off-by: Philippe Mathieu-Daudé 
---
  hw/display/cirrus_vga.c | 2 --
  hw/display/qxl.c| 1 -
  hw/display/vga-pci.c| 1 -
  hw/display/vmware_vga.c | 2 --
  4 files changed, 6 deletions(-)

diff --git a/hw/display/cirrus_vga.c b/hw/display/cirrus_vga.c
index ef08694626d..f9f704ab440 100644
--- a/hw/display/cirrus_vga.c
+++ b/hw/display/cirrus_vga.c
@@ -2987,8 +2987,6 @@ static const Property pci_vga_cirrus_properties[] = {
 cirrus_vga.vga.vram_size_mb, 4),
  DEFINE_PROP_BOOL("blitter", struct PCICirrusVGAState,
   cirrus_vga.enable_blitter, true),
-DEFINE_PROP_BOOL("global-vmstate", struct PCICirrusVGAState,
- cirrus_vga.vga.global_vmstate, false),
  };
  
  static void cirrus_vga_class_init(ObjectClass *klass, const void *data)

diff --git a/hw/display/qxl.c b/hw/display/qxl.c
index 18f482ca7f7..32329a499d7 100644
--- a/hw/display/qxl.c
+++ b/hw/display/qxl.c
@@ -2495,7 +2495,6 @@ static const Property qxl_properties[] = {
  DEFINE_PROP_UINT16("max_outputs", PCIQXLDevice, max_outputs, 0),
  DEFINE_PROP_UINT32("xres", PCIQXLDevice, xres, 0),
  DEFINE_PROP_UINT32("yres", PCIQXLDevice, yres, 0),
-DEFINE_PROP_BOOL("global-vmstate", PCIQXLDevice, vga.global_vmstate, 
false),
  };
  
  static void qxl_pci_class_init(ObjectClass *klass, const void *data)

diff --git a/hw/display/vga-pci.c b/hw/display/vga-pci.c
index b81f7fd2d0f..562cf526db4 100644
--- a/hw/display/vga-pci.c
+++ b/hw/display/vga-pci.c
@@ -338,7 +338,6 @@ static const Property vga_pci_properties[] = {
  DEFINE_PROP_BIT("edid",
  PCIVGAState, flags, PCI_VGA_FLAG_ENABLE_EDID, true),
  DEFINE_EDID_PROPERTIES(PCIVGAState, edid_info),
-DEFINE_PROP_BOOL("global-vmstate", PCIVGAState, vga.global_vmstate, false),
  };
  
  static const Property secondary_pci_properties[] = {

diff --git a/hw/display/vmware_vga.c b/hw/display/vmware_vga.c
index 544bb65320b..c43026bd9c5 100644
--- a/hw/display/vmware_vga.c
+++ b/hw/display/vmware_vga.c
@@ -1335,8 +1335,6 @@ static void pci_vmsvga_realize(PCIDevice *dev, Error 
**errp)
  static const Property vga_vmware_properties[] = {
  DEFINE_PROP_UINT32("vgamem_mb", struct pci_vmsvga_state_s,
 chip.vga.vram_size_mb, 16),
-DEFINE_PROP_BOOL("global-vmstate", struct pci_vmsvga_state_s,
- chip.vga.global_vmstate, false),
  };
  
  static void vmsvga_class_init(ObjectClass *klass, const void *data)


... and we can't remove the remaining global_vmstate stuff since it's still 
used by vga-isa.c and vga-mmio.c ...


Reviewed-by: Thomas Huth