2013年9月22日 星期日

Arm MCR command explain

MCR p15,0,<Rd>,<CRn>,<CRm>,<Opcode_2>
<CRm>和<Opcode_2>兩者組合決定對協處理器寄存器進行所需要的操作,如果沒有指定則<CRm>為C0,<Opcode_2>為0, 否則導致不可預知的結果.

表列 Register 7 - Cache control
                                                CRm,  Opcode_2
Flush I                                      0101b, 0000b
Flush D                                    0110b, 0000b
Flush I+D                                 0111b, 0000b

Flush D single Virtual address    0110b, 0001b
Clean D entry  Virtual address   1010b,  0001b
Drain(清空) write buffer              1010b, 0100b

Ex:
mcr p15, 0, r0, c7, c5, 0
1.將 r0 內容存放 c7
2.查表 CRm = 5 , Opcode_2 = 0, 執行 Flush I

Ref:
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0290g/Babebdcb.html

沒有留言:

張貼留言