[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 13/22] ppc: add qemu_vga.ndrv ROM to fw_cfg interface
From: |
David Gibson |
Subject: |
[Qemu-devel] [PULL 13/22] ppc: add qemu_vga.ndrv ROM to fw_cfg interface for NewWorld Macs |
Date: |
Wed, 10 May 2017 17:01:06 +1000 |
From: Mark Cave-Ayland <address@hidden>
Signed-off-by: Mark Cave-Ayland <address@hidden>
Signed-off-by: David Gibson <address@hidden>
---
hw/ppc/mac_newworld.c | 18 +++++++++++++++++-
1 file changed, 17 insertions(+), 1 deletion(-)
diff --git a/hw/ppc/mac_newworld.c b/hw/ppc/mac_newworld.c
index 68aaedc..bae1c0a 100644
--- a/hw/ppc/mac_newworld.c
+++ b/hw/ppc/mac_newworld.c
@@ -80,6 +80,8 @@
#define CLOCKFREQ (266UL * 1000UL * 1000UL)
#define BUSFREQ (100UL * 1000UL * 1000UL)
+#define NDRV_VGA_FILENAME "qemu_vga.ndrv"
+
/* UniN device */
static void unin_write(void *opaque, hwaddr addr, uint64_t value,
unsigned size)
@@ -160,7 +162,8 @@ static void ppc_core99_init(MachineState *machine)
MACIOIDEState *macio_ide;
BusState *adb_bus;
MacIONVRAMState *nvr;
- int bios_size;
+ int bios_size, ndrv_size;
+ uint8_t *ndrv_file;
MemoryRegion *pic_mem, *escc_mem;
MemoryRegion *escc_bar = g_new(MemoryRegion, 1);
int ppc_boot_device;
@@ -494,6 +497,19 @@ static void ppc_core99_init(MachineState *machine)
fw_cfg_add_i32(fw_cfg, FW_CFG_PPC_BUSFREQ, BUSFREQ);
fw_cfg_add_i32(fw_cfg, FW_CFG_PPC_NVRAM_ADDR, nvram_addr);
+ /* MacOS NDRV VGA driver */
+ filename = qemu_find_file(QEMU_FILE_TYPE_BIOS, NDRV_VGA_FILENAME);
+ if (filename) {
+ ndrv_size = get_image_size(filename);
+ if (ndrv_size != -1) {
+ ndrv_file = g_malloc(ndrv_size);
+ ndrv_size = load_image(filename, ndrv_file);
+
+ fw_cfg_add_file(fw_cfg, "ndrv/qemu_vga.ndrv", ndrv_file,
ndrv_size);
+ }
+ g_free(filename);
+ }
+
qemu_register_boot_set(fw_cfg_boot_set, fw_cfg);
}
--
2.9.3
- [Qemu-devel] [PULL 04/22] target/ppc: Generate fence operations, (continued)
- [Qemu-devel] [PULL 04/22] target/ppc: Generate fence operations, David Gibson, 2017/05/10
- [Qemu-devel] [PULL 09/22] ppc/xics: preserve P and Q bits for KVM IRQs, David Gibson, 2017/05/10
- [Qemu-devel] [PULL 10/22] Add QemuMacDrivers as submodule, David Gibson, 2017/05/10
- [Qemu-devel] [PULL 12/22] ppc: add qemu_vga.ndrv ROM to fw_cfg interface for OldWorld Macs, David Gibson, 2017/05/10
- [Qemu-devel] [PULL 07/22] target/ppc: do not reset reserve_addr in exec_enter, David Gibson, 2017/05/10
- [Qemu-devel] [PULL 02/22] target/ppc: Emulate LL/SC using cmpxchg helpers, David Gibson, 2017/05/10
- [Qemu-devel] [PULL 18/22] target/ppc: Enable RADIX mmu mode for pseries TCG guest, David Gibson, 2017/05/10
- [Qemu-devel] [PULL 16/22] target/ppc: Change tlbie invalid fields for POWER9 support, David Gibson, 2017/05/10
- [Qemu-devel] [PULL 22/22] pnv: Fix build failures on some host platforms, David Gibson, 2017/05/10
- [Qemu-devel] [PULL 11/22] Add QemuMacDrivers qemu_vga.ndrv revision d4e7d7a built as submodule, David Gibson, 2017/05/10
- [Qemu-devel] [PULL 13/22] ppc: add qemu_vga.ndrv ROM to fw_cfg interface for NewWorld Macs,
David Gibson <=
- [Qemu-devel] [PULL 14/22] target/ppc: Set UPRT and GTSE on all cpus in H_REGISTER_PROCESS_TABLE, David Gibson, 2017/05/10
- [Qemu-devel] [PULL 15/22] target/ppc: Update tlbie to check privilege level based on GTSE, David Gibson, 2017/05/10
- [Qemu-devel] [PULL 01/22] ppc/pnv: restrict BMC object to the BMC simulator, David Gibson, 2017/05/10
- [Qemu-devel] [PULL 19/22] ppc: xics: fix compilation with CentOS 6, David Gibson, 2017/05/10
- [Qemu-devel] [PULL 21/22] target/ppc: Allow workarounds for POWER9 DD1, David Gibson, 2017/05/10
- [Qemu-devel] [PULL 17/22] target/ppc: Implement ISA V3.00 radix page fault handler, David Gibson, 2017/05/10
- [Qemu-devel] [PULL 20/22] spapr: Don't accidentally advertise HTM support on POWER9, David Gibson, 2017/05/10
- Re: [Qemu-devel] [PULL 00/22] ppc-for-2.10 queue 20170510, no-reply, 2017/05/10