Karena Linux BSP bawaan tidak mengaktifkan siaran pemeliharaan cache dan TLB (bit0 dari register ACTLR dibiarkan '0') dalam mode SMP, mungkin ada masalah koherensi cache.
Untuk deskripsi bit ini, lihat Bagian 1.7.3 Operasi pemeliharaan yang disiarkan dalam Manual Referensi Teknis ARM A9 MPCore[2]:
Semua prosesor yang bekerja dalam mode SMP pada domain koheren yang sama dapat mengirim dan menerima operasi Pemeliharaan TLB dan Cache. Manual Referensi Arsitektur ARM memberikan informasi terperinci tentang operasi siaran. Prosesor Cortex-A9 dalam klaster A9-MP menyiarkan operasi pemeliharaan yang dapat disiarkan ketika beroperasi dalam mode SMP (ACTLR. SMP=1) dan ketika operasi pemeliharaan penyiaran diaktifkan (ACTLR. FW=1). Prosesor Cortex-A9 dapat menerima dan menjalankan operasi pemeliharaan siaran saat beroperasi dalam mode SMP, ACTLR. SMP=1.
Disarankan untuk mengatur keduanya ACTLR. FW dan ACTLR. SMP ke 1. Kita dapat mengatur bit dengan memodifikasi kode Linux di proc-v7. File S seperti di bawah ini:
#ifdef CONFIG_SMP
ALT_SMP (mrc p15, 0, r0, c1, c0, 1)
ALT_UP(mov r0, #(1 << 6)) @ palsu untuk UP
tst r0, #(1 << 6) @ mode SMP/nAMP diaktifkan?
orreq r0, r0, #(1 << 6) @ Aktifkan mode SMP/nAMP
orreq r0, r0, r10 @ Aktifkan bit SMP khusus CPU
orr r0, r0, #(1) @Add baris ini mengaktifkan ACTLR[0]
mcreq p15, 0, r0, c1, c0, 1
#endif