# HG changeset patch # User Rob Landley # Date 1363832037 18000 # Node ID 96fb8598a446fbef7870c312f5b1706e97a8b472 # Parent 7bf850767bb8fcbc0b3c0efdf60d66265cb3894d The ARM irq mapping is more broken than that: both the SCSI controller (slot 13, pin 1) and the ethernet controller (slot 12, pin 1) are both on irq 59 in qemu. Just hardwire it for now. diff -r 7bf850767bb8 -r 96fb8598a446 sources/patches/linux-arm.patch --- a/sources/patches/linux-arm.patch Thu Mar 14 23:12:25 2013 -0500 +++ b/sources/patches/linux-arm.patch Wed Mar 20 21:13:57 2013 -0500 @@ -91,32 +91,15 @@ bool "Support Versatile Platform Baseboard for ARM926EJ-S" default y diff --git a/arch/arm/mach-versatile/pci.c b/arch/arm/mach-versatile/pci.c -index 2f84f40..af54581 100644 +index 2f84f40..cd7c8ce 100644 --- a/arch/arm/mach-versatile/pci.c +++ b/arch/arm/mach-versatile/pci.c -@@ -23,6 +23,7 @@ - #include - - #include -+#include - #include - #include - -@@ -327,12 +328,12 @@ static int __init versatile_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) - int irq; - - /* slot, pin, irq -- * 24 1 27 -- * 25 1 28 -- * 26 1 29 -- * 27 1 30 -+ * 24 1 IRQ_SIC_PCI0 -+ * 25 1 IRQ_SIC_PCI1 -+ * 26 1 IRQ_SIC_PCI2 -+ * 27 1 IRQ_SIC_PCI3 +@@ -332,7 +332,7 @@ static int __init versatile_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) + * 26 1 29 + * 27 1 30 */ - irq = 27 + ((slot - 24 + pin - 1) & 3); -+ irq = IRQ_VIC_START + SIC_INT_PCI0 + ((slot + pin - 2) & 3); ++ irq = 59; //27 + ((slot - 24 + pin - 1) & 3); return irq; }