|
From: | Thomas Huth |
Subject: | Re: Is the ppc440 "bamboo" board in QEMU still of any use? |
Date: | Thu, 14 Oct 2021 17:37:21 +0200 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.14.0 |
On 14/10/2021 17.26, Philippe Mathieu-Daudé wrote:
On 10/14/21 13:29, Cédric Le Goater wrote:On 10/14/21 12:34, Christophe Leroy wrote:I have the following change in QEMU to be able to run the bamboo, found it some time ago via google (can't remember where): diff --git a/hw/ppc/ppc4xx_pci.c b/hw/ppc/ppc4xx_pci.c index 8147ba6f94..600e89e791 100644 --- a/hw/ppc/ppc4xx_pci.c +++ b/hw/ppc/ppc4xx_pci.c @@ -246,7 +246,7 @@ static int ppc4xx_pci_map_irq(PCIDevice *pci_dev, int irq_num) trace_ppc4xx_pci_map_irq(pci_dev->devfn, irq_num, slot); - return slot - 1; + return slot ? slot - 1 : slot; } static void ppc4xx_pci_set_irq(void *opaque, int irq_num, int level)could you try to use : static inline int ppce500_pci_map_irq_slot(int devno, int irq_num) { return (devno + irq_num) % 4; }Is this pci_swizzle()?
It's pci_swizzle, but I don't think that we should take irq_num into account here. The comment right in front of the function says:
On Bamboo, all pins from each slot are tied to a single board IRQ Similar comment in pc-bios/bamboo.dts: Bamboo has all 4 IRQ pins tied together per slot So the return value should only depend on the slot number. Not sure how to properly fix this yet, though. Thomas PS: Found a working pre-compiled kernel for bamboo: http://landley.net/aboriginal/downloads/binaries/system-image-powerpc-440fp.tar.gz
[Prev in Thread] | Current Thread | [Next in Thread] |