diff --git a/hw/core/machine.c b/hw/core/machine.c index f1a0f45f9c..84ebb8d247 100644 --- a/hw/core/machine.c +++ b/hw/core/machine.c @@ -24,7 +24,13 @@ #include "hw/pci/pci.h" #include "hw/mem/nvdimm.h" -GlobalProperty hw_compat_4_0_1[] = {}; +GlobalProperty hw_compat_4_0_1[] = { + { "VGA", "edid", "false" }, + { "secondary-vga", "edid", "false" }, + { "bochs-display", "edid", "false" }, + { "virtio-vga", "edid", "false" }, + { "virtio-gpu-pci", "edid", "false" }, +}; const size_t hw_compat_4_0_1_len = G_N_ELEMENTS(hw_compat_4_0_1); GlobalProperty hw_compat_4_0[] = {}; diff --git a/hw/display/bochs-display.c b/hw/display/bochs-display.c index 0a2a3e27c4..582133dd71 100644 --- a/hw/display/bochs-display.c +++ b/hw/display/bochs-display.c @@ -338,7 +338,7 @@ static void bochs_display_exit(PCIDevice *dev) static Property bochs_display_properties[] = { DEFINE_PROP_SIZE("vgamem", BochsDisplayState, vgamem, 16 * MiB), - DEFINE_PROP_BOOL("edid", BochsDisplayState, enable_edid, false), + DEFINE_PROP_BOOL("edid", BochsDisplayState, enable_edid, true), DEFINE_EDID_PROPERTIES(BochsDisplayState, edid_info), DEFINE_PROP_END_OF_LIST(), }; diff --git a/hw/display/vga-pci.c b/hw/display/vga-pci.c index c66d9ec7ee..dedac5d128 100644 --- a/hw/display/vga-pci.c +++ b/hw/display/vga-pci.c @@ -340,7 +340,7 @@ static Property vga_pci_properties[] = { DEFINE_PROP_BIT("qemu-extended-regs", PCIVGAState, flags, PCI_VGA_FLAG_ENABLE_QEXT, true), DEFINE_PROP_BIT("edid", - PCIVGAState, flags, PCI_VGA_FLAG_ENABLE_EDID, false), + PCIVGAState, flags, PCI_VGA_FLAG_ENABLE_EDID, true), DEFINE_EDID_PROPERTIES(PCIVGAState, edid_info), DEFINE_PROP_BOOL("global-vmstate", PCIVGAState, vga.global_vmstate, false), DEFINE_PROP_END_OF_LIST(), @@ -351,7 +351,7 @@ static Property secondary_pci_properties[] = { DEFINE_PROP_BIT("qemu-extended-regs", PCIVGAState, flags, PCI_VGA_FLAG_ENABLE_QEXT, true), DEFINE_PROP_BIT("edid", - PCIVGAState, flags, PCI_VGA_FLAG_ENABLE_EDID, false), + PCIVGAState, flags, PCI_VGA_FLAG_ENABLE_EDID, true), DEFINE_EDID_PROPERTIES(PCIVGAState, edid_info), DEFINE_PROP_END_OF_LIST(), }; diff --git a/include/hw/display/edid.h b/include/hw/display/edid.h index bacf170889..7948bd2c40 100644 --- a/include/hw/display/edid.h +++ b/include/hw/display/edid.h @@ -22,6 +22,8 @@ void qemu_edid_region_io(MemoryRegion *region, Object *owner, #define DEFINE_EDID_PROPERTIES(_state, _edid_info) \ DEFINE_PROP_UINT32("xres", _state, _edid_info.prefx, 0), \ - DEFINE_PROP_UINT32("yres", _state, _edid_info.prefy, 0) + DEFINE_PROP_UINT32("yres", _state, _edid_info.prefy, 0), \ + DEFINE_PROP_UINT32("xmax", _state, _edid_info.maxx, 0), \ + DEFINE_PROP_UINT32("ymax", _state, _edid_info.maxy, 0) #endif /* EDID_H */ diff --git a/include/hw/virtio/virtio-gpu.h b/include/hw/virtio/virtio-gpu.h index 8ecac1987a..6dd57f2025 100644 --- a/include/hw/virtio/virtio-gpu.h +++ b/include/hw/virtio/virtio-gpu.h @@ -125,7 +125,7 @@ typedef struct VirtIOGPUBaseClass { #define VIRTIO_GPU_BASE_PROPERTIES(_state, _conf) \ DEFINE_PROP_UINT32("max_outputs", _state, _conf.max_outputs, 1), \ DEFINE_PROP_BIT("edid", _state, _conf.flags, \ - VIRTIO_GPU_FLAG_EDID_ENABLED, false), \ + VIRTIO_GPU_FLAG_EDID_ENABLED, true), \ DEFINE_PROP_UINT32("xres", _state, _conf.xres, 1024), \ DEFINE_PROP_UINT32("yres", _state, _conf.yres, 768)