From 97db046678822baf9ec3cb9430ec47ed87d0c89e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herv=C3=A9=20Poussineau?= Date: Tue, 1 Apr 2014 23:19:15 +0200 Subject: [PATCH 1/3] prep: Remove PCI memory hack related to OpenHack'Ware MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Hervé Poussineau Signed-off-by: Andreas Färber --- hw/pci-host/prep.c | 4 +--- hw/ppc/prep.c | 9 --------- 2 files changed, 1 insertion(+), 12 deletions(-) diff --git a/hw/pci-host/prep.c b/hw/pci-host/prep.c index 40145408ef..ec6f186251 100644 --- a/hw/pci-host/prep.c +++ b/hw/pci-host/prep.c @@ -256,9 +256,7 @@ static void raven_pcihost_initfn(Object *obj) memory_region_init(&s->pci_io, obj, "pci-io", 0x3f800000); memory_region_init_io(&s->pci_io_non_contiguous, obj, &raven_io_ops, s, "pci-io-non-contiguous", 0x00800000); - /* Open Hack'Ware hack: real size should be only 0x3f000000 bytes */ - memory_region_init(&s->pci_memory, obj, "pci-memory", - 0x3f000000 + 0xc0000000ULL); + memory_region_init(&s->pci_memory, obj, "pci-memory", 0x3f000000); address_space_init(&s->pci_io_as, &s->pci_io, "raven-io"); /* CPU address space */ diff --git a/hw/ppc/prep.c b/hw/ppc/prep.c index 2383254f49..567f56e20c 100644 --- a/hw/ppc/prep.c +++ b/hw/ppc/prep.c @@ -382,7 +382,6 @@ static void ppc_prep_init(MachineState *machine) #endif int linux_boot, i, nb_nics1; MemoryRegion *ram = g_new(MemoryRegion, 1); - MemoryRegion *vga = g_new(MemoryRegion, 1); uint32_t kernel_base, initrd_base; long kernel_size, initrd_size; DeviceState *dev; @@ -508,14 +507,6 @@ static void ppc_prep_init(MachineState *machine) /* init basic PC hardware */ pci_vga_init(pci_bus); - /* Open Hack'Ware hack: PCI BAR#0 is programmed to 0xf0000000. - * While bios will access framebuffer at 0xf0000000, real physical - * address is 0xf0000000 + 0xc0000000 (PCI memory base). - * Alias the wrong memory accesses to the right place. - */ - memory_region_init_alias(vga, NULL, "vga-alias", pci_address_space(pci), - 0xf0000000, 0x1000000); - memory_region_add_subregion_overlap(sysmem, 0xf0000000, vga, 10); nb_nics1 = nb_nics; if (nb_nics1 > NE2000_NB_MAX) From 56de2e52693aac6ce2cfbf80a8be6ae75660f58c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herv=C3=A9=20Poussineau?= Date: Tue, 1 Apr 2014 23:19:16 +0200 Subject: [PATCH 2/3] prep: Remove CPU reset entry point hack related to OpenHack'Ware MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Hervé Poussineau Signed-off-by: Andreas Färber --- hw/ppc/prep.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/hw/ppc/prep.c b/hw/ppc/prep.c index 567f56e20c..aa8717d75d 100644 --- a/hw/ppc/prep.c +++ b/hw/ppc/prep.c @@ -346,9 +346,6 @@ static void ppc_prep_reset(void *opaque) PowerPCCPU *cpu = opaque; cpu_reset(CPU(cpu)); - - /* Reset address */ - cpu->env.nip = 0xfffffffc; } static const MemoryRegionPortio prep_portio_list[] = { From ee0f2601b911e53e27827cc105d194bb311e6224 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20F=C3=A4rber?= Date: Fri, 4 Jul 2014 17:35:32 +0200 Subject: [PATCH 3/3] prep: Update ppc_rom.bin MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This replaces QEMU-side workarounds for PCI BARs and CPU reset. Signed-off-by: Andreas Färber --- pc-bios/ppc_rom.bin | Bin 1048576 -> 1048576 bytes roms/openhackware | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/pc-bios/ppc_rom.bin b/pc-bios/ppc_rom.bin index e7f769328b33c67ab02426fc5f643cd11b5b101e..174a24744b73fb2824f9b1e7c0078f4499e1e724 100644 GIT binary patch delta 21673 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 diff --git a/roms/openhackware b/roms/openhackware index 1af7e55425..c559da7c8e 160000 --- a/roms/openhackware +++ b/roms/openhackware @@ -1 +1 @@ -Subproject commit 1af7e55425e58a6dcb5133b092fcf16f8c654fb9 +Subproject commit c559da7c8eec5e45ef1f67978827af6f0b9546f5