aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLaurent Vivier <laurent@vivier.eu>2009-08-08 10:19:24 +0000
committerBlue Swirl <blauwirbel@gmail.com>2009-08-08 10:19:24 +0000
commit7f1aec5f93382eef75920899f4065613aeaf02a2 (patch)
treea21ade7302c716bd5f7de7a21b05580ac87ea355
parent8194f35a0c71a3bf169459bf715bea53b7bbc904 (diff)
ppc_oldworld: configure screen size from qemu command line options
This patch uses the FW_CFG interface to send user requested screen size and depth to openbios. Signed-off-by: Laurent Vivier <laurent@vivier.eu> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
-rw-r--r--hw/ppc.h3
-rw-r--r--hw/ppc_oldworld.c5
2 files changed, 8 insertions, 0 deletions
diff --git a/hw/ppc.h b/hw/ppc.h
index 2ec46803db..4084482e5b 100644
--- a/hw/ppc.h
+++ b/hw/ppc.h
@@ -42,3 +42,6 @@ enum {
ARCH_HEATHROW,
};
+#define FW_CFG_PPC_WIDTH (FW_CFG_ARCH_LOCAL + 0x00)
+#define FW_CFG_PPC_HEIGHT (FW_CFG_ARCH_LOCAL + 0x01)
+#define FW_CFG_PPC_DEPTH (FW_CFG_ARCH_LOCAL + 0x02)
diff --git a/hw/ppc_oldworld.c b/hw/ppc_oldworld.c
index 06e014195e..549ba0cde7 100644
--- a/hw/ppc_oldworld.c
+++ b/hw/ppc_oldworld.c
@@ -381,6 +381,11 @@ static void ppc_heathrow_init (ram_addr_t ram_size,
fw_cfg_add_i32(fw_cfg, FW_CFG_INITRD_ADDR, initrd_base);
fw_cfg_add_i32(fw_cfg, FW_CFG_INITRD_SIZE, initrd_size);
fw_cfg_add_i16(fw_cfg, FW_CFG_BOOT_DEVICE, ppc_boot_device);
+
+ 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);
+
qemu_register_boot_set(fw_cfg_boot_set, fw_cfg);
}