qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] PPC: Use interrupts for escc


From: Alexander Graf
Subject: Re: [Qemu-devel] [PATCH] PPC: Use interrupts for escc
Date: Sat, 19 Dec 2009 23:08:27 +0100


Am 19.12.2009 um 22:58 schrieb Andreas Färber <address@hidden>:

Am 18.12.2009 um 23:37 schrieb Alexander Graf:

When using the escc with Linux, we need interrupts. So instead of creating
a dummy device, let's just map them to the openpic we have anyways.

This makes Linux on PPC64 with console=ttyPZ0 work.

With these patches and OpenBIOS r646, booting 'install64' on the following Debian CDs worked for me:

debian-40r4a-powerpc-netinst.iso
debian-503-powerpc-netinst.iso

Nice, interesting!


By default however you get the following error:

invalid/unsupported opcode: 1e - 12 - 1b (782106e4) 00000000014080e4 1
invalid/unsupported opcode: 00 - 00 - 00 (00000000) 0000000000008734 0

which translates to: qemu-system-ppc64 is using a 32-bit CPU by default. '-cpu ppc64' (970FX according to OpenBIOS) worked, while '-cpu 970' was not recognized by OpenBIOS.

Yes, I only test whatever I do with -cpu 970fx.


If you change only the CPU to 'ppc64', it will be rejected:
qemu: hardware error: Bus model not supported on OldWorld Mac machine

That's why Alex mentioned '-M mac99' elsewhere, I guess. Can't we change the defaults? I believe the G5 was the first 64-bit Mac and is considered New World, so Old World shouldn't even be selectable IMO.

I agree. Please send a patch, CC me and I'll ack it.


`install64 console=ttyPZ0` only gets me to the penguin and appears to hang...

Well, on older kernels this was console=ttyS0.

`install64` gets me through to the installer screen on Linux/amd64 host. There are merely some FATALs visible while trying to load drivers for therm_* and windfarm_* devices ("No such device").

Yesh, ADB shouldn't work either so you don't get input devices :-(.

Alex


Andreas

Obviously, this change needs to be reflected in openbios. Patch for that
follows this one. Please update the binary then.

Signed-off-by: Alexander Graf <address@hidden>
---
hw/ppc_newworld.c |    6 +-----
1 files changed, 1 insertions(+), 5 deletions(-)

diff --git a/hw/ppc_newworld.c b/hw/ppc_newworld.c
index b29a7bc..a09f096 100644
--- a/hw/ppc_newworld.c
+++ b/hw/ppc_newworld.c
@@ -108,7 +108,6 @@ static void ppc_core99_init (ram_addr_t ram_size,
   MacIONVRAMState *nvr;
   int nvram_mem_index;
   int vga_bios_size, bios_size;
-    qemu_irq *dummy_irq;
int pic_mem_index, dbdma_mem_index, cuda_mem_index, escc_mem_index;
   int ppc_boot_device;
   DriveInfo *hd[MAX_IDE_BUS * MAX_IDE_DEVS];
@@ -318,10 +317,7 @@ static void ppc_core99_init (ram_addr_t ram_size,
   /* init basic PC hardware */
   pci_vga_init(pci_bus, vga_bios_offset, vga_bios_size);

-    /* XXX: suppress that */
-    dummy_irq = i8259_init(NULL);
-
- escc_mem_index = escc_init(0x80013000, dummy_irq[4], dummy_irq [5],
+    escc_mem_index = escc_init(0x80013000, pic[0x25], pic[0x24],
serial_hds[0], serial_hds[1], ESCC_CLOCK, 4);

   for(i = 0; i < nb_nics; i++)
--
1.6.0.2








reply via email to

[Prev in Thread] Current Thread [Next in Thread]