qemu-ppc
[Top][All Lists]
Advanced

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

Re: Is the ppc440 "bamboo" board in QEMU still of any use?


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




reply via email to

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