summaryrefslogtreecommitdiff
path: root/hw/sun4u.c
diff options
context:
space:
mode:
authorBlue Swirl <blauwirbel@gmail.com>2009-08-08 10:44:56 +0000
committerBlue Swirl <blauwirbel@gmail.com>2009-08-08 10:44:56 +0000
commit7589690c2af543edb3dc15fe6c64ade24890dc63 (patch)
treec2735a50d2ccd0b8b529b57a1492405991ff4b9a /hw/sun4u.c
parent7f1aec5f93382eef75920899f4065613aeaf02a2 (diff)
Sparc64: configure screen size from QEMU command line options
Use the FW_CFG interface to send user requested screen size and depth to OpenBIOS like 7f1aec5f93382eef75920899f4065613aeaf02a2 for ppc_oldworld. Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
Diffstat (limited to 'hw/sun4u.c')
-rw-r--r--hw/sun4u.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/hw/sun4u.c b/hw/sun4u.c
index 6f3f0c32e..cede477cc 100644
--- a/hw/sun4u.c
+++ b/hw/sun4u.c
@@ -55,6 +55,9 @@
#define NVRAM_SIZE 0x2000
#define MAX_IDE_BUS 2
#define BIOS_CFG_IOPORT 0x510
+#define FW_CFG_SPARC64_WIDTH (FW_CFG_ARCH_LOCAL + 0x00)
+#define FW_CFG_SPARC64_HEIGHT (FW_CFG_ARCH_LOCAL + 0x01)
+#define FW_CFG_SPARC64_DEPTH (FW_CFG_ARCH_LOCAL + 0x02)
#define MAX_PILS 16
@@ -652,6 +655,11 @@ static void sun4uv_init(ram_addr_t RAM_size,
fw_cfg_add_i32(fw_cfg, FW_CFG_INITRD_ADDR, INITRD_LOAD_ADDR);
fw_cfg_add_i32(fw_cfg, FW_CFG_INITRD_SIZE, initrd_size);
fw_cfg_add_i16(fw_cfg, FW_CFG_BOOT_DEVICE, boot_devices[0]);
+
+ fw_cfg_add_i16(fw_cfg, FW_CFG_SPARC64_WIDTH, graphic_width);
+ fw_cfg_add_i16(fw_cfg, FW_CFG_SPARC64_HEIGHT, graphic_height);
+ fw_cfg_add_i16(fw_cfg, FW_CFG_SPARC64_DEPTH, graphic_depth);
+
qemu_register_boot_set(fw_cfg_boot_set, fw_cfg);
}