• Ian Campbell's avatar
    arndale: Apply Cortex-A15 errata #773022 and #774769 · e392b923
    Ian Campbell authored
    We run 4 Arndale boards in our automated test framework, they have
    been running quite happily for quite some time using a Debian Wheezy
    userspace.
    
    However when upgrading to a Debian Jessie we started seeing frequent
    segmentation faults from gcc when building the kernel, to the extent
    that it is unable to successfully build the kernel twice in a row, and
    often fails on the first attempt.
    
    Searching around I found https://bugs.launchpad.net/arndale/+bug/1081417
    which pointed towards http://www.spinics.net/lists/kvm-arm/msg03723.html
    
    
    and CPU Errata 773022 and 774769.
    
    This errata needs to be applied to all processors in an SMP system,
    meaning that the usual strategy of applying them in
    arch/arm/cpu/armv7/start.S is not appropriate (since that applies to
    the boot processor only). Instead we apply these errata in the secure
    monitor which is code that is traversed by all processors as they are
    brought up.
    
    The net affect on Arndale is that ACTLR changes from 0x40 to
    0x2000042. I ran 17 kernel compile iterations overnight with no
    segfaults.
    
    Runtime testing was done on our v2014.10 based branch and forward
    ported (with only minimal and trivial contextual conflicts) to current
    master, where it has been build tested only.
    
    I suppose in theory these errata apply to any Exynos5250 based boards,
    but Arndale is the only one I have access to and I have therefore
    chosen to be conservative and only apply it there.
    
    Also, reorder CONFIG_ARM_ERRATA_794072 in README to make the list
    numerically sorted.
    
    Signed-off-by: default avatarIan Campbell <ian.campbell@citrix.com>
    e392b923