ARMv8系统寄存器-0

- System registers

In AArch64, system configuration is controlled through system registers, and accessed using MSR and MRS instructions. This contrasts with ARMv7-A, where such registers were typically accessed through coprocessor 15 (CP15) operations. The name of a register tells you the lowest

Exception level that it can be accessed from.

For example:

  • TTBR0_EL1 is accessible from EL1, EL2, and EL3.
  • TTBR0_EL2 is accessible from EL2 and EL3.

Registers that have the suffix _ELn have a separate, banked copy in some or all of the levels,though usually not EL0. Few system registers are accessible from EL0, although the Cache Type Register (CTR_EL0) is an example of one that can be accessible.

Code to access system registers takes the following form:

复制代码
	MRS x0, TTBR0_EL1 // Move TTBR0_EL1 into x0
	MSR TTBR0_EL1, x0 // Move x0 into TTBR0_EL1

Previous versions of the ARM architecture have used coprocessors for system configuration.However, AArch64 does not include support for coprocessors. Table 4-5 lists only the system registers mentioned in this book.

For a complete list, see Appendix J of the ARM Architecture Reference Manual - ARMv8, for ARMv8-A architecture profile.

The table shows the Exception levels that have separate copies of each register. For example,separate Auxiliary Control Registers (ACTLRs) exist as ACTLR_EL1, ACTLR_EL2 and ACTLR_EL3.

相关推荐
代码游侠6 天前
STM32开发——基础外设
linux·运维·arm开发·stm32·单片机·嵌入式硬件·学习
代码游侠7 天前
Linux驱动复习——驱动
linux·运维·arm开发·笔记·学习
古译汉书7 天前
【IoT死磕系列】Day 6:工业控制底层大动脉—CAN总线
linux·网络·arm开发·单片机·物联网·tcp/ip
姜太公钓鲸2337 天前
STM32是ST公司基于ARM Cortex-M内核开发的32位微控制器。上述文字中的内核是什么意思?作用是什么?
arm开发·stm32·嵌入式硬件
日更嵌入式的打工仔7 天前
FIQ 与 IRQ
arm开发·笔记
The️8 天前
STM32-FreeRTOS操作系统-软件定时器
arm开发·stm32·单片机·嵌入式硬件·mcu·c#
szxinmai主板定制专家8 天前
RK3588 8个USB工控解决方案,适用于机器视觉,工业互联等
arm开发·人工智能·fpga开发
我在人间贩卖青春8 天前
ARM编程模型
arm开发·arm工作模式
安全二次方security²8 天前
【CVE-2025-0647】ARM CPU漏洞安全通告
arm开发·安全·cve-2025-0647·tlbi·cpp rctx 指令·c1-ultra·虚拟化漏洞
道亦无名9 天前
armBitRevIndexTable1024
arm开发