@@ -344,14 +344,16 @@ comment "CPU Core family selection"
344
344
config ARCH_MULTI_V4
345
345
bool "ARMv4 based platforms (FA526, StrongARM)"
346
346
depends on !ARCH_MULTI_V6_V7
347
- depends on !LD_IS_LLD
347
+ # https://github.com/llvm/llvm-project/issues/50764
348
+ depends on !LD_IS_LLD || LLD_VERSION >= 160000
348
349
select ARCH_MULTI_V4_V5
349
350
select CPU_FA526 if !(CPU_SA110 || CPU_SA1100)
350
351
351
352
config ARCH_MULTI_V4T
352
353
bool "ARMv4T based platforms (ARM720T, ARM920T, ...)"
353
354
depends on !ARCH_MULTI_V6_V7
354
- depends on !LD_IS_LLD
355
+ # https://github.com/llvm/llvm-project/issues/50764
356
+ depends on !LD_IS_LLD || LLD_VERSION >= 160000
355
357
select ARCH_MULTI_V4_V5
356
358
select CPU_ARM920T if !(CPU_ARM7TDMI || CPU_ARM720T || \
357
359
CPU_ARM740T || CPU_ARM9TDMI || CPU_ARM922T || \
@@ -656,7 +658,9 @@ config ARM_ERRATA_458693
656
658
hazard might then cause a processor deadlock. The workaround enables
657
659
the L1 caching of the NEON accesses and disables the PLD instruction
658
660
in the ACTLR register. Note that setting specific bits in the ACTLR
659
- register may not be available in non-secure mode.
661
+ register may not be available in non-secure mode and thus is not
662
+ available on a multiplatform kernel. This should be applied by the
663
+ bootloader instead.
660
664
661
665
config ARM_ERRATA_460075
662
666
bool "ARM errata: Data written to the L2 cache can be overwritten with stale data"
@@ -669,7 +673,9 @@ config ARM_ERRATA_460075
669
673
and overwritten with stale memory contents from external memory. The
670
674
workaround disables the write-allocate mode for the L2 cache via the
671
675
ACTLR register. Note that setting specific bits in the ACTLR register
672
- may not be available in non-secure mode.
676
+ may not be available in non-secure mode and thus is not available on
677
+ a multiplatform kernel. This should be applied by the bootloader
678
+ instead.
673
679
674
680
config ARM_ERRATA_742230
675
681
bool "ARM errata: DMB operation may be faulty"
@@ -682,7 +688,10 @@ config ARM_ERRATA_742230
682
688
ordering of the two writes. This workaround sets a specific bit in
683
689
the diagnostic register of the Cortex-A9 which causes the DMB
684
690
instruction to behave as a DSB, ensuring the correct behaviour of
685
- the two writes.
691
+ the two writes. Note that setting specific bits in the diagnostics
692
+ register may not be available in non-secure mode and thus is not
693
+ available on a multiplatform kernel. This should be applied by the
694
+ bootloader instead.
686
695
687
696
config ARM_ERRATA_742231
688
697
bool "ARM errata: Incorrect hazard handling in the SCU may lead to data corruption"
@@ -697,7 +706,10 @@ config ARM_ERRATA_742231
697
706
replaced from one of the CPUs at the same time as another CPU is
698
707
accessing it. This workaround sets specific bits in the diagnostic
699
708
register of the Cortex-A9 which reduces the linefill issuing
700
- capabilities of the processor.
709
+ capabilities of the processor. Note that setting specific bits in the
710
+ diagnostics register may not be available in non-secure mode and thus
711
+ is not available on a multiplatform kernel. This should be applied by
712
+ the bootloader instead.
701
713
702
714
config ARM_ERRATA_643719
703
715
bool "ARM errata: LoUIS bit field in CLIDR register is incorrect"
@@ -734,7 +746,9 @@ config ARM_ERRATA_743622
734
746
register of the Cortex-A9 which disables the Store Buffer
735
747
optimisation, preventing the defect from occurring. This has no
736
748
visible impact on the overall performance or power consumption of the
737
- processor.
749
+ processor. Note that setting specific bits in the diagnostics register
750
+ may not be available in non-secure mode and thus is not available on a
751
+ multiplatform kernel. This should be applied by the bootloader instead.
738
752
739
753
config ARM_ERRATA_751472
740
754
bool "ARM errata: Interrupted ICIALLUIS may prevent completion of broadcasted operation"
@@ -746,6 +760,10 @@ config ARM_ERRATA_751472
746
760
completion of a following broadcasted operation if the second
747
761
operation is received by a CPU before the ICIALLUIS has completed,
748
762
potentially leading to corrupted entries in the cache or TLB.
763
+ Note that setting specific bits in the diagnostics register may
764
+ not be available in non-secure mode and thus is not available on
765
+ a multiplatform kernel. This should be applied by the bootloader
766
+ instead.
749
767
750
768
config ARM_ERRATA_754322
751
769
bool "ARM errata: possible faulty MMU translations following an ASID switch"
0 commit comments