visible impact on the overall performance or power consumption of the
processor.
++ ++++++ +config ARM_ERRATA_751472
++ ++++++ + bool "ARM errata: Interrupted ICIALLUIS may prevent completion of broadcasted operation"
++ ++++++ + depends on CPU_V7 && SMP
++ ++++++ + help
++ ++++++ + This option enables the workaround for the 751472 Cortex-A9 (prior
++ ++++++ + to r3p0) erratum. An interrupted ICIALLUIS operation may prevent the
++ ++++++ + completion of a following broadcasted operation if the second
++ ++++++ + operation is received by a CPU before the ICIALLUIS has completed,
++ ++++++ + potentially leading to corrupted entries in the cache or TLB.
++ ++++++ +
++ ++++++ +config ARM_ERRATA_753970
++ ++++++ + bool "ARM errata: cache sync operation may be faulty"
++ ++++++ + depends on CACHE_PL310
++ ++++++ + help
++ ++++++ + This option enables the workaround for the 753970 PL310 (r3p0) erratum.
++ ++++++ +
++ ++++++ + Under some condition the effect of cache sync operation on
++ ++++++ + the store buffer still remains when the operation completes.
++ ++++++ + This means that the store buffer is always asked to drain and
++ ++++++ + this prevents it from merging any further writes. The workaround
++ ++++++ + is to replace the normal offset of cache sync operation (0x730)
++ ++++++ + by another offset targeting an unmapped PL310 register 0x740.
++ ++++++ + This has the same effect as the cache sync operation: store buffer
++ ++++++ + drain and waiting for all buffers empty.
++ ++++++ +
++ +++++++++config ARM_ERRATA_754322
++ +++++++++ bool "ARM errata: possible faulty MMU translations following an ASID switch"
++ +++++++++ depends on CPU_V7
++ +++++++++ help
++ +++++++++ This option enables the workaround for the 754322 Cortex-A9 (r2p*,
++ +++++++++ r3p*) erratum. A speculative memory access may cause a page table walk
++ +++++++++ which starts prior to an ASID switch but completes afterwards. This
++ +++++++++ can populate the micro-TLB with a stale entry which may be hit with
++ +++++++++ the new ASID. This workaround places two dsb instructions in the mm
++ +++++++++ switching code so that no page table walks can cross the ASID switch.
++ +++++++++
++ +++++++++config ARM_ERRATA_754327
++ +++++++++ bool "ARM errata: no automatic Store Buffer drain"
++ +++++++++ depends on CPU_V7 && SMP
++ +++++++++ help
++ +++++++++ This option enables the workaround for the 754327 Cortex-A9 (prior to
++ +++++++++ r2p0) erratum. The Store Buffer does not have any automatic draining
++ +++++++++ mechanism and therefore a livelock may occur if an external agent
++ +++++++++ continuously polls a memory location waiting to observe an update.
++ +++++++++ This workaround defines cpu_relax() as smp_mb(), preventing correctly
++ +++++++++ written polling loops from denying visibility of updates to memory.
++ +++++++++
endmenu
source "arch/arm/common/Kconfig"