Skip to content

Commit 368ccec

Browse files
sreRussell King (Oracle)
authored andcommitted
ARM: 9281/1: improve Cortex A8/A9 errata help text
Document that !ARCH_MULTIPLATFORM is necessary because accessing the the errata workaround registers may not work in non-secure mode and mention that these erratas should be applied by the bootloader instead. Reviewed-by: AngeloGioacchino Del Regno <[email protected]> Reviewed-by: Arnd Bergmann <[email protected]> Signed-off-by: Sebastian Reichel <[email protected]> Signed-off-by: Russell King (Oracle) <[email protected]>
1 parent 1b929c0 commit 368ccec

File tree

1 file changed

+21
-5
lines changed

1 file changed

+21
-5
lines changed

arch/arm/Kconfig

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -661,7 +661,9 @@ config ARM_ERRATA_458693
661661
hazard might then cause a processor deadlock. The workaround enables
662662
the L1 caching of the NEON accesses and disables the PLD instruction
663663
in the ACTLR register. Note that setting specific bits in the ACTLR
664-
register may not be available in non-secure mode.
664+
register may not be available in non-secure mode and thus is not
665+
available on a multiplatform kernel. This should be applied by the
666+
bootloader instead.
665667

666668
config ARM_ERRATA_460075
667669
bool "ARM errata: Data written to the L2 cache can be overwritten with stale data"
@@ -674,7 +676,9 @@ config ARM_ERRATA_460075
674676
and overwritten with stale memory contents from external memory. The
675677
workaround disables the write-allocate mode for the L2 cache via the
676678
ACTLR register. Note that setting specific bits in the ACTLR register
677-
may not be available in non-secure mode.
679+
may not be available in non-secure mode and thus is not available on
680+
a multiplatform kernel. This should be applied by the bootloader
681+
instead.
678682

679683
config ARM_ERRATA_742230
680684
bool "ARM errata: DMB operation may be faulty"
@@ -687,7 +691,10 @@ config ARM_ERRATA_742230
687691
ordering of the two writes. This workaround sets a specific bit in
688692
the diagnostic register of the Cortex-A9 which causes the DMB
689693
instruction to behave as a DSB, ensuring the correct behaviour of
690-
the two writes.
694+
the two writes. Note that setting specific bits in the diagnostics
695+
register may not be available in non-secure mode and thus is not
696+
available on a multiplatform kernel. This should be applied by the
697+
bootloader instead.
691698

692699
config ARM_ERRATA_742231
693700
bool "ARM errata: Incorrect hazard handling in the SCU may lead to data corruption"
@@ -702,7 +709,10 @@ config ARM_ERRATA_742231
702709
replaced from one of the CPUs at the same time as another CPU is
703710
accessing it. This workaround sets specific bits in the diagnostic
704711
register of the Cortex-A9 which reduces the linefill issuing
705-
capabilities of the processor.
712+
capabilities of the processor. Note that setting specific bits in the
713+
diagnostics register may not be available in non-secure mode and thus
714+
is not available on a multiplatform kernel. This should be applied by
715+
the bootloader instead.
706716

707717
config ARM_ERRATA_643719
708718
bool "ARM errata: LoUIS bit field in CLIDR register is incorrect"
@@ -739,7 +749,9 @@ config ARM_ERRATA_743622
739749
register of the Cortex-A9 which disables the Store Buffer
740750
optimisation, preventing the defect from occurring. This has no
741751
visible impact on the overall performance or power consumption of the
742-
processor.
752+
processor. Note that setting specific bits in the diagnostics register
753+
may not be available in non-secure mode and thus is not available on a
754+
multiplatform kernel. This should be applied by the bootloader instead.
743755

744756
config ARM_ERRATA_751472
745757
bool "ARM errata: Interrupted ICIALLUIS may prevent completion of broadcasted operation"
@@ -751,6 +763,10 @@ config ARM_ERRATA_751472
751763
completion of a following broadcasted operation if the second
752764
operation is received by a CPU before the ICIALLUIS has completed,
753765
potentially leading to corrupted entries in the cache or TLB.
766+
Note that setting specific bits in the diagnostics register may
767+
not be available in non-secure mode and thus is not available on
768+
a multiplatform kernel. This should be applied by the bootloader
769+
instead.
754770

755771
config ARM_ERRATA_754322
756772
bool "ARM errata: possible faulty MMU translations following an ASID switch"

0 commit comments

Comments
 (0)