SMP 모드에서 캐시 및 TLB 유지 관리 브로드캐스트(BIT0의 레지스터 ACTLR이 '0'으로 남음)를 활성화하지 못하는 기본 Linux BSP로 인해 캐시 일관성 문제가 나타날 수 있습니다.
이 비트에 대한 설명은 ARM A9 MPCore 기술 참조 설명서에서 브로드캐스트되는 섹션 1.7.3 유지 관리 작업[2]을 참조하십시오.
동일한 일관된 도메인에서 SMP 모드에서 작업하는 모든 프로세서는 TLB 및 캐시 유지 관리 작업을 보내고 받을 수 있습니다. ARM 아키텍처 참조 매뉴얼은 브로드캐스트 작업에 대한 자세한 정보를 제공합니다. A9-MP 클러스터의 Cortex-A9 프로세서는 SMP 모드(ACTLR)에서 작동할 때 브로드캐스트 가능한 유지 관리 작업을 브로드캐스트합니다. SMP=1) 및 유지 관리 작업 브로드캐스트가 활성화된 경우(ACTLR. FW=1). Cortex-A9 프로세서는 SMP 모드인 ACTLR에서 작동할 때 브로드캐스트 유지 관리 작업을 수신하고 실행할 수 있습니다. SMP=1.
ACTLR을 모두 설정하는 것이 좋습니다. FW 및 ACTLR. SMP에서 1까지. proc-v7에서 Linux 코드를 수정하여 비트를 설정할 수 있습니다. 아래와 같은 S 파일:
#ifdef CONFIG_SMP
ALT_SMP(mrc p15, 0, r0, c1, c0, 1)
ALT_UP(mov r0, #(1 << 6)) @ UP용 가짜
tst r0, #(1 << 6) @ SMP/nAMP 모드가 활성화되었습니까?
orreq r0, r0, #(1 << 6) @ SMP/nAMP 모드 활성화
orreq r0, r0, r10 @ CPU별 SMP 비트 활성화
orr r0, r0, #(1) @ 이 줄 추가를 통해 ACTLR[0]
mcreq p15, 0, r0, c1, c0, 1
#endif