9. The System Control Register

ARMv8-A相关历史文章:

  • 1. Fundamentals of ARMv8-A
  • 2. Execute states
  • 3. Changing Exception Levels
  • 4. Changing Execution state
  • 5. Registers
  • 6. Processor state
  • 7. The Saved Process Status Register
  • 8. System Registers

系统寄存器(SCTLR)是用于控制标准内存、system facilities的寄存器,并提供状态信息。


9. The System Control Register_第1张图片

比特位代表的含义如下:


9. The System Control Register_第2张图片

9. The System Control Register_第3张图片

要访问SCTLR_ELn寄存器,使用如下方式:

MRS  , SCTLR_ELn        // Read SCTLR_ELn into Xt
MSR  SCTLR_ELn,         // Write Xt to SCTLR_ELn

比如:

MRS  X0,  SCTLR_EL1        // Read System Control Register configuration data
ORR  X0,  X0,  #(1 << 2)      // Set [C] bit (bit [2]) to enable data caching
ORR  X0,  X0,  #(1 << 12)    // Set [I] bit (bit [12]) to enable instruction caching
MSR  SCTLR_EL1,  X0        // Write System Control Register configuration data

注意:在任何一个Exception Level下,处理器中的Cache在数据cache和指令cache使能之前需要保持invalidated。

你可能感兴趣的:(9. The System Control Register)