문서 ID: 000087175 콘텐츠 형태: 문제 해결 마지막 검토일: 2017-08-10

Linux OS를 실행하는 SoC 설계에서 캐시 일관성 문제가 표시되는 이유는 무엇입니까?

환경

  • 인텔® Quartus® Prime Standard Edition
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT
    설명

    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

     

    관련 제품

    이 문서는 다음 항목에 적용됩니다. 2 제품

    Cyclone® V FPGA 및 SoC FPGA
    인텔® Arria® 10 FPGA 및 SoC FPGA

    이 페이지의 콘텐츠는 원본 영어 콘텐츠에 대한 사람 번역 및 컴퓨터 번역의 조합으로 완성되었습니다. 이 콘텐츠는 편의와 일반적인 정보 제공을 위해서만 제공되었으며, 완전하거나 정확한 것으로 간주되어선 안 됩니다. 이 페이지의 영어 버전과 번역 간 모순이 있는 경우, 영어 버전이 우선적으로 적용됩니다. 이 페이지의 영어 버전을 확인하십시오.