Apply ARM errata fix, disable HVC_DCC and VIRTIO_CONSOLE on ARM

This commit is contained in:
Peter Robinson 2013-01-22 20:20:54 +00:00
parent 56666ff9ae
commit 2ddf29a0b5
3 changed files with 46 additions and 3 deletions

View File

@ -0,0 +1,31 @@
From: Rob Herring <rob.herring at calxeda.com>
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 <rob.herring at calxeda.com>
---
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

View File

@ -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

View File

@ -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 <pbrobinson@fedoraproject.org>
- Apply ARM errata fix
- disable HVC_DCC and VIRTIO_CONSOLE on ARM
* Tue Jan 22 2013 Josh Boyer <jwboyer@redhat.com>
- Fix libata settings bug (rhbz 902523)