페이지 테이블 엔트리 속성

pt6

 

pt7

 

pt8

pt9

 

PRRR & NMRR

        /*
         * Memory region attributes with SCTLR.TRE=1
         *
         *   n = TEX[0],C,B
         *   TR = PRRR[2n+1:2n]         - memory type
         *   IR = NMRR[2n+1:2n]         - inner cacheable property
         *   OR = NMRR[2n+17:2n+16]     - outer cacheable property
         *
         *                      n       TR      IR      OR
         *   UNCACHED           000     00
         *   BUFFERABLE         001     10      00      00
         *   WRITETHROUGH       010     10      10      10
         *   WRITEBACK          011     10      11      11
         *   reserved           110
         *   WRITEALLOC         111     10      01      01
         *   DEV_SHARED         100     01
         *   DEV_NONSHARED      100     01
         *   DEV_WC             001     10
         *   DEV_CACHED         011     10
         *
         * Other attributes:
         *
         *   DS0 = PRRR[16] = 0         - device shareable property
         *   DS1 = PRRR[17] = 1         - device shareable property
         *   NS0 = PRRR[18] = 0         - normal shareable property
         *   NS1 = PRRR[19] = 1         - normal shareable property
         *   NOS = PRRR[24+n] = 1       - not outer shareable
         */
.equ    PRRR,   0xff0a81a8
.equ    NMRR,   0x40e040e0
  • PRRR
    • <n>에서 n은 메모리 속성의 TEX[0], C, B에 해당한다.
    • NOS<n>: 0=Outer Shareable, 1=Inner Shareable
    • NS1: S=1 for Normal Memory. 0=not shareable, 1=shareable
    • NS0: S=0 for Normal Memory. 0=not shareable, 1=shareable
    • DS1: S=1 for Device Memory. 0=not shareable, 1=shareable
    • DS0: S=0 for Device Memory. 0=not shareable, 1=shareable
    • TR<n>: 메모리 속성을 위한 주 TEX 매핑
      • 00=strongly-ordered, 01=device, 10=normal memory, 11=reserved

prrr

TEX[0], C, B        Shareable		    Memory Property
================== =================== ====================
0     0     0		 Outer Shareable	 Strongly-ordered
0     0     1		Outer Shareable		Normal Memory
0     1     0		Outer Shareable		Normal Memory
0     1     1		Outer Shareable		Normal Memory
1     0     0		Outer Shareable		Device
1     0     1		Outer Shareable		Strongly-ordered
1     1     0		Outer Shareable		Strongly-ordered
1     1     1		Outer Shareable		Normal Memory

 

 

  • NMRR
    • <n>에서 n은 메모리 속성의 TEX[0], C, B에 해당한다.
    • OR<n>: Outer Cacheable 속성
      • 00=Non-cacheable, 01=WB, WA, 10=WT, no WA, 11=WB, no WA
    • IR<n>: Inner Cacheable 속성
      • 00=Non-cacheable, 01=WB, WA, 10=WT, no WA, 11=WB, no WA

nmrr

TEX[0], C, B        Outer Cache		    Inner Cache
================== =================== ====================
0     0     0		 Non-Cacheable		 Non-Cacheable   
0     0     1		Non-Cacheable		Non-Cacheable   
0     1     0		WT, no WA			WT, no WA
0     1     1		WB, no WA			WB, no WA
1     0     0		Non-Cacheable		Non-Cacheable   
1     0     1		Non-Cacheable		Non-Cacheable   
1     1     0		Non-Cacheable		Non-Cacheable   
1     1     1		WB, WA				WB, WA

 

참고

댓글 남기기