aboriginal

changeset 1610:c756b708583f 1.2.4

Make the arm board work under qemu 1.5.
author Rob Landley <rob@landley.net>
date Sun, 07 Jul 2013 22:03:18 -0500
parents 19a363f60409
children a1937853ee03
files sources/patches/linux-arm.patch
diffstat 1 files changed, 10 insertions(+), 3 deletions(-) [+]
line diff
     1.1 --- a/sources/patches/linux-arm.patch	Thu Jul 04 07:19:27 2013 -0500
     1.2 +++ b/sources/patches/linux-arm.patch	Sun Jul 07 22:03:18 2013 -0500
     1.3 @@ -90,14 +90,21 @@
     1.4   config ARCH_VERSATILE_PB
     1.5   	bool "Support Versatile Platform Baseboard for ARM926EJ-S"
     1.6   	default y
     1.7 -diff -ruN linux/arch/arm/mach-versatile/pci.c linux.bak/arch/arm/mach-versatile/pci.c
     1.8 ---- linux/arch/arm/mach-versatile/pci.c	2013-04-28 19:36:01.000000000 -0500
     1.9 -+++ linux.bak/arch/arm/mach-versatile/pci.c	2013-04-29 19:09:44.857097553 -0500
    1.10 -@@ -333,7 +333,7 @@
    1.11 +diff --git a/arch/arm/mach-versatile/pci.c b/arch/arm/mach-versatile/pci.c
    1.12 +index e92e5e0..807a5ad 100644
    1.13 +--- a/arch/arm/mach-versatile/pci.c
    1.14 ++++ b/arch/arm/mach-versatile/pci.c
    1.15 +@@ -333,7 +333,13 @@ static int __init versatile_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
    1.16   	 *  26     1     IRQ_SIC_PCI2
    1.17   	 *  27     1     IRQ_SIC_PCI3
    1.18   	 */
    1.19  -	irq = IRQ_SIC_PCI0 + ((slot - 24 + pin - 1) & 3);
    1.20 ++	// Hit QEMU 1.5.0 and later with a brick so it uses the IRQ we say.
    1.21 ++	dev->bus->ops->write(dev->bus, dev->devfn, PCI_INTERRUPT_LINE, 1, 27);
    1.22 ++
    1.23 ++	// The kernel has no clue where IRQs are, and its current assignments
    1.24 ++	// match neither the hardware nor historic QEMU. Use historic QEMU
    1.25 ++	// for compatability with old versions.
    1.26  +	irq = 59; //IRQ_SIC_PCI0 + ((slot - 24 + pin - 1) & 3);
    1.27   
    1.28   	return irq;