From 7f1aec5f93382eef75920899f4065613aeaf02a2 Mon Sep 17 00:00:00 2001
From: Laurent Vivier <laurent@vivier.eu>
Date: Sat, 8 Aug 2009 10:19:24 +0000
Subject: [PATCH] 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>
---
 hw/ppc.h          | 3 +++
 hw/ppc_oldworld.c | 5 +++++
 2 files changed, 8 insertions(+)

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);
 }
 
-- 
2.42.0