![Rank: 8](images/default/star_level3.gif) ![Rank: 8](images/default/star_level3.gif)
- UID
- 1029342
- 性别
- 男
|
(三)CP15 的寄存器 C2
C2寄存器的别名:Translation tablebase (TTB) register
C2寄存器用来保存页表的基地址,即一级映射描述符表的基地址。其编码格如下所示:
(四)CP15 的寄存器 C3
CP15 中的寄存器 C3 定义了 ARM 处理器的 16 个域的访问权限。
31 0 | D15 | D14 | D13 | D12 | D11 | D10 | D9 | D8 | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
在 CP15的C3寄存器中,划分了 16个域,每个区域由两位构成,这两位说明了当前内存的检查权限:
00:当前级别下,该内存区域不允许被访问,任何的访问都会引起一个domain fault,这时 AP位无效
01:当前级别下,该内存区域的访问必须配合该内存区域的段描述符中AP位进行权检查
10:保留状态(我们最好不要填写该值,以免引起不能确定的问题)
11:当前级别下,对该内存区域的访问都不进行权限检查。 这时 AP位无效
所以只有当相应域的编码为01 时,才会根据 AP位 和协处理器CP15中的C1寄存器的R,S位进行权限检查
(五)CP15 的寄存器 C5
CP15 中的寄存器 C5 是失效状态寄存器,分为指令状态失效和数据状态失效。
MRC p15, 0, , c5, c0, 0 访问数据失效状态寄存器MRC p15, 0, , c5, c0, 1 访问指令状态失效寄存器编码格式如下所示:
31 9
| 8
| 7 4
| 3 0
| UNP/SBZP
| 0
| 域标识
| 状态标识
|
其中,域标识bit[7:4]表示存放引起存储访问失效的存储访问所属的域。 |
|