Mercurial > hg > aboriginal
view sources/patches/linux-arm.patch @ 1598:3cbf1abde44a
Update to linux 3.9.
author | Rob Landley <rob@landley.net> |
---|---|
date | Mon, 29 Apr 2013 22:03:14 -0500 |
parents | 96fb8598a446 |
children | c756b708583f |
line wrap: on
line source
Make the "Arm Versatile" board even more versatile, for QEMU, which can stick weird processors into things that were never rmeant to receive them. In addition, fix breakage in 3.5 that adjusted versatile's interrupts to match the spec instead of matching what qemu supports. (It only _ever_ ran under qemu, nobody seems to have classic versatile hardware anymore, so...) diff --git a/arch/arm/mach-versatile/Kconfig b/arch/arm/mach-versatile/Kconfig index c1f38f6..fe5738c 100644 --- a/arch/arm/mach-versatile/Kconfig +++ b/arch/arm/mach-versatile/Kconfig @@ -4,7 +4,6 @@ menu "Versatile platform type" config ARCH_VERSATILE_PB bool "Support Versatile Platform Baseboard for ARM926EJ-S" default y - select CPU_ARM926T select MIGHT_HAVE_PCI help Include support for the ARM(R) Versatile Platform Baseboard @@ -12,7 +11,6 @@ config ARCH_VERSATILE_PB config MACH_VERSATILE_AB bool "Support Versatile Application Baseboard for ARM926EJ-S" - select CPU_ARM926T help Include support for the ARM(R) Versatile Application Baseboard for the ARM926EJ-S. diff --git a/arch/arm/mm/Kconfig b/arch/arm/mm/Kconfig index 101b968..70de9fd 100644 --- a/arch/arm/mm/Kconfig +++ b/arch/arm/mm/Kconfig @@ -71,7 +71,7 @@ config CPU_ARM9TDMI # ARM920T config CPU_ARM920T - bool "Support ARM920T processor" if ARCH_INTEGRATOR + bool "Support ARM920T processor" if ARCH_INTEGRATOR || ARCH_VERSATILE_PB || ARCH_VERSATILE_AB select CPU_32v4T select CPU_ABRT_EV4T select CPU_CACHE_V4WT @@ -89,7 +89,7 @@ config CPU_ARM920T # ARM922T config CPU_ARM922T - bool "Support ARM922T processor" if ARCH_INTEGRATOR + bool "Support ARM922T processor" if ARCH_INTEGRATOR || ARCH_VERSATILE_PB || ARCH_VERSATILE_AB select CPU_32v4T select CPU_ABRT_EV4T select CPU_CACHE_V4WT @@ -127,7 +127,7 @@ config CPU_ARM925T # ARM926T config CPU_ARM926T - bool "Support ARM926T processor" if ARCH_INTEGRATOR || MACH_REALVIEW_EB + bool "Support ARM926T processor" if ARCH_INTEGRATOR || MACH_REALVIEW_EB || ARCH_VERSATILE_PB || ARCH_VERSATILE_AB select CPU_32v5 select CPU_ABRT_EV5TJ select CPU_CACHE_VIVT @@ -135,6 +135,7 @@ config CPU_ARM926T select CPU_CP15_MMU select CPU_PABRT_LEGACY select CPU_TLB_V4WBI if MMU + select ARCH_SUPPORTS_BIG_ENDIAN help This is a variant of the ARM920. It has slightly different instruction sequences for cache and TLB operations. Curiously, @@ -354,7 +355,8 @@ config CPU_PJ4 # ARMv6 config CPU_V6 - bool "Support ARM V6 processor" if ARCH_INTEGRATOR || MACH_REALVIEW_EB || MACH_REALVIEW_PBX + bool "Support ARM V6 processor" if ARCH_INTEGRATOR || MACH_REALVIEW_EB || MACH_REALVIEW_PBX || ARCH_VERSATILE_PB || ARCH_VERSATILE_AB + select CPU_32v6 select CPU_ABRT_EV6 select CPU_CACHE_V6 diff -ruN linux/arch/arm/mach-versatile/Kconfig linux.new/arch/arm/mach-versatile/Kconfig --- linux/arch/arm/mach-versatile/Kconfig 2012-12-03 00:24:33.494770199 -0600 +++ linux.new/arch/arm/mach-versatile/Kconfig 2012-12-03 00:17:31.172705566 -0600 @@ -1,6 +1,12 @@ menu "Versatile platform type" depends on ARCH_VERSATILE +if ARCH_VERSATILE +config ARCH_SUPPORTS_BIG_ENDIAN + bool + default y +endif + config ARCH_VERSATILE_PB bool "Support Versatile Platform Baseboard for ARM926EJ-S" default y diff -ruN linux/arch/arm/mach-versatile/pci.c linux.bak/arch/arm/mach-versatile/pci.c --- linux/arch/arm/mach-versatile/pci.c 2013-04-28 19:36:01.000000000 -0500 +++ linux.bak/arch/arm/mach-versatile/pci.c 2013-04-29 19:09:44.857097553 -0500 @@ -333,7 +333,7 @@ * 26 1 IRQ_SIC_PCI2 * 27 1 IRQ_SIC_PCI3 */ - irq = IRQ_SIC_PCI0 + ((slot - 24 + pin - 1) & 3); + irq = 59; //IRQ_SIC_PCI0 + ((slot - 24 + pin - 1) & 3); return irq; }