diff --git a/arm-l2x0-only-set-set_debug-on-pl310-r3p0-and-earlier.patch b/arm-l2x0-only-set-set_debug-on-pl310-r3p0-and-earlier.patch new file mode 100644 index 0000000..662ebe6 --- /dev/null +++ b/arm-l2x0-only-set-set_debug-on-pl310-r3p0-and-earlier.patch @@ -0,0 +1,31 @@ +From: Rob Herring + +PL310 errata work-arounds using .set_debug function are only needed on +r3p0 and earlier, so check the rev and only set .set_debug on older revs. + +Avoiding debug register accesses fixes aborts on non-secure platforms +like highbank. It is assumed that non-secure platforms needing these +work-arounds have already implemented .set_debug with secure monitor +calls. + +Signed-off-by: Rob Herring +--- + arch/arm/mm/cache-l2x0.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/arch/arm/mm/cache-l2x0.c b/arch/arm/mm/cache-l2x0.c +index 8a97e64..6cf2fd1 100644 +--- a/arch/arm/mm/cache-l2x0.c ++++ b/arch/arm/mm/cache-l2x0.c +@@ -334,7 +334,8 @@ void __init l2x0_init(void __iomem *base, u32 aux_val, u32 aux_mask) + /* Unmapped register. */ + sync_reg_offset = L2X0_DUMMY_REG; + #endif +- outer_cache.set_debug = pl310_set_debug; ++ if ((cache_id & L2X0_CACHE_ID_RTL_MASK) <= L2X0_CACHE_ID_RTL_R3P0) ++ outer_cache.set_debug = pl310_set_debug; + break; + case L2X0_CACHE_ID_PART_L210: + ways = (aux >> 13) & 0xf; +-- +1.7.10.4 diff --git a/config-armv7 b/config-armv7 index f143f3d..5d6d294 100644 --- a/config-armv7 +++ b/config-armv7 @@ -48,7 +48,7 @@ CONFIG_HIGHPTE=y # CONFIG_ARM_LPAE is not set # CONFIG_THUMB2_KERNEL is not set # CONFIG_XEN is not set -CONFIG_HVC_DCC=y +# CONFIG_HVC_DCC is not set # CONFIG_ARM_VIRT_EXT is not set @@ -144,6 +144,9 @@ CONFIG_SERIAL_AMBA_PL010_CONSOLE=y CONFIG_SERIAL_AMBA_PL011=y CONFIG_SERIAL_AMBA_PL011_CONSOLE=y +# disable VIRTIO console on because not doing real virt and it breaks vexpress on qemu +# CONFIG_VIRTIO_CONSOLE is not set + CONFIG_RTC_DRV_PL030=y CONFIG_RTC_DRV_PL031=y diff --git a/kernel.spec b/kernel.spec index 9fce006..0049b32 100644 --- a/kernel.spec +++ b/kernel.spec @@ -743,9 +743,12 @@ Patch20001: 0002-x86-EFI-Calculate-the-EFI-framebuffer-size-instead-o.patch # ARM Patch21000: arm-read_current_timer.patch -Patch21001: arm-fix-omapdrm.patch -Patch21003: arm-alignment-faults.patch +# http://lists.infradead.org/pipermail/linux-arm-kernel/2012-December/137164.html +Patch21001: arm-l2x0-only-set-set_debug-on-pl310-r3p0-and-earlier.patch +Patch21002: arm-alignment-faults.patch + # OMAP +Patch21003: arm-fix-omapdrm.patch # ARM tegra Patch21004: arm-tegra-nvec-kconfig.patch @@ -1343,6 +1346,8 @@ ApplyPatch vmbugon-warnon.patch # #ApplyPatch arm-read_current_timer.patch #ApplyPatch arm-fix-omapdrm.patch + +ApplyPatch arm-l2x0-only-set-set_debug-on-pl310-r3p0-and-earlier.patch ApplyPatch arm-tegra-nvec-kconfig.patch ApplyPatch arm-tegra-usb-no-reset-linux33.patch ApplyPatch arm-tegra-sdhci-module-fix.patch @@ -2347,6 +2352,10 @@ fi # ||----w | # || || %changelog +* Tue Jan 22 2013 Peter Robinson +- Apply ARM errata fix +- disable HVC_DCC and VIRTIO_CONSOLE on ARM + * Tue Jan 22 2013 Josh Boyer - Fix libata settings bug (rhbz 902523)