Commit af2f0774cc for qemu.org
commit af2f0774cc43fc3055f8e90a50163095d3cdf998
Author: Philippe Mathieu-Daudé <philmd@linaro.org>
Date: Wed Feb 11 16:00:15 2026 +0100
hw/ppc: Set graphic display dimensions generically
If a dimension is not set, have the machine init code set
the default values.
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20260216213121.47122-8-philmd@linaro.org>
diff --git a/hw/ppc/mac_newworld.c b/hw/ppc/mac_newworld.c
index 7275563a15..3680d96ed3 100644
--- a/hw/ppc/mac_newworld.c
+++ b/hw/ppc/mac_newworld.c
@@ -432,6 +432,15 @@ static void ppc_core99_init(MachineState *machine)
pci_vga_init(pci_bus);
+ if (!graphic_width) {
+ graphic_width = 800;
+ }
+ if (!graphic_height) {
+ graphic_height = 600;
+ }
+ if (!graphic_depth) {
+ graphic_depth = 32;
+ }
if (graphic_depth != 15 && graphic_depth != 32 && graphic_depth != 8) {
graphic_depth = 15;
}
diff --git a/hw/ppc/mac_oldworld.c b/hw/ppc/mac_oldworld.c
index e679d33898..24d9f2e3d5 100644
--- a/hw/ppc/mac_oldworld.c
+++ b/hw/ppc/mac_oldworld.c
@@ -288,6 +288,15 @@ static void ppc_heathrow_init(MachineState *machine)
pci_create_simple(pci_bus, -1, "pci-ohci");
}
+ if (!graphic_width) {
+ graphic_width = 800;
+ }
+ if (!graphic_height) {
+ graphic_height = 600;
+ }
+ if (!graphic_depth) {
+ graphic_depth = 32;
+ }
if (graphic_depth != 15 && graphic_depth != 32 && graphic_depth != 8) {
graphic_depth = 15;
}
diff --git a/hw/ppc/prep.c b/hw/ppc/prep.c
index c4efd1d390..e973b34099 100644
--- a/hw/ppc/prep.c
+++ b/hw/ppc/prep.c
@@ -412,6 +412,15 @@ static void ibm_40p_init(MachineState *machine)
fw_cfg_add_i64(fw_cfg, FW_CFG_RAM_SIZE, (uint64_t)machine->ram_size);
fw_cfg_add_i16(fw_cfg, FW_CFG_MACHINE_ID, ARCH_PREP);
+ if (!graphic_width) {
+ graphic_width = 800;
+ }
+ if (!graphic_height) {
+ graphic_height = 600;
+ }
+ if (!graphic_depth) {
+ graphic_depth = 32;
+ }
fw_cfg_add_i16(fw_cfg, FW_CFG_PPC_WIDTH, graphic_width);
fw_cfg_add_i16(fw_cfg, FW_CFG_PPC_HEIGHT, graphic_height);
fw_cfg_add_i16(fw_cfg, FW_CFG_PPC_DEPTH, graphic_depth);
diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
index 274f38785f..0ab39dfea6 100644
--- a/hw/ppc/spapr.c
+++ b/hw/ppc/spapr.c
@@ -1177,6 +1177,15 @@ static void spapr_dt_chosen(SpaprMachineState *spapr, void *fdt, bool reset)
if (machine->boot_config.has_menu && machine->boot_config.menu) {
_FDT((fdt_setprop_cell(fdt, chosen, "qemu,boot-menu", true)));
}
+ if (!graphic_width) {
+ graphic_width = 800;
+ }
+ if (!graphic_height) {
+ graphic_height = 600;
+ }
+ if (!graphic_depth) {
+ graphic_depth = 32;
+ }
_FDT(fdt_setprop_cell(fdt, chosen, "qemu,graphic-width", graphic_width));
_FDT(fdt_setprop_cell(fdt, chosen, "qemu,graphic-height", graphic_height));
_FDT(fdt_setprop_cell(fdt, chosen, "qemu,graphic-depth", graphic_depth));
diff --git a/system/globals-target.c b/system/globals-target.c
index 17a27a0621..ffa6c308b5 100644
--- a/system/globals-target.c
+++ b/system/globals-target.c
@@ -9,12 +9,6 @@
#include "qemu/osdep.h"
#include "system/system.h"
-#if defined(TARGET_SPARC) || defined(TARGET_M68K)
int graphic_width;
int graphic_height;
int graphic_depth;
-#else
-int graphic_width = 800;
-int graphic_height = 600;
-int graphic_depth = 32;
-#endif