Ze względu na domyślny Linux BSP, który nie włącza pamięci podręcznej i nadawania konserwacji TLB (bit0 rejestru ACTLR pozostaje "0") w trybie SMP, może występować problem spójności pamięci podręcznej.
Opis tego bitu można znaleźć w sekcji 1.7.3 Operacje konserwacyjne nadawanie w ARM A9 MPCore Technical Reference Manual[2]:
Wszystkie procesory pracujące w trybie SMP w tej samej spójnej domenie mogą wysyłać i odbierać operacje TLB i konserwacji pamięci podręcznej. Instrukcja obsługi architektury ARM zawiera szczegółowe informacje na temat operacji transmisji. Procesor Cortex-A9 w klastrze A9-MP nadaje operację konserwacji nadawania, gdy działa w trybie SMP (ACTLR. SMP=1) oraz po włączeniu operacji konserwacji nadawania (ACTLR. FW=1). Procesor Cortex-A9 może odbierać i wykonywać operacje konserwacyjne transmisji, gdy pracuje w trybie SMP, ACTLR. SMP=1.
Zalecane jest ustawienie zarówno ACTLR. FW i ACTLR. SMP do 1. Możemy ustawić ten bit poprzez modyfikację kodu Linux w proc-v7. Pliki S jak poniżej:
#ifdef CONFIG_SMP
ALT_SMP(mrc p15, 0, r0, c1, c0, 1)
ALT_UP(mov r0, #(1 << 6)) @ sfałszowane dla UP
tst r0, #(1 << 6) @ włączony tryb SMP/nAMP?
orreq r0, r0, #(1 << 6) @ Włącz tryb SMP/nAMP
orreq r0, r0, r10 @ Włącz bity SMP specyficzne dla procesora
orr r0, r0, #(1) @Add tej linii włącz ACTLR[0]
mcreq p15, 0, r0, c1, c0, 1
#endif