Documentation - Arm Developer Arm Virtual Hardware Debuggers Development Boards SoC Design and Simulation Support PRODUCT RESOURCES Arm IP Explorer TTBR0_EL1: Translation Table Base Register 0 (EL1) TTBR0_EL2: Translation Table Base Register 0 (EL2) TTBR0_EL3: Translation Table Base Register 0 (EL3) TTBR1_EL1: Translation Table Base Register 1 (EL1) TTBR1_EL2
ARMv8-A Address translation - ARM architecture family TCR_EL1 defines the exact number of most significant bits that are checked TCR_EL1 contains the size fields T0SZ[5:0] and T1SZ[5:0] The integer in the field gives the number of the most significant bits that must be either all 0s or all 1s There are specified
Documentation - Arm Developer Arm Virtual Hardware Debuggers Development Boards SoC Design and Simulation Support PRODUCT RESOURCES Arm IP Explorer TTBR0_EL1, Translation Table Base Register 0, EL1 Base Register 0, EL1 TTBR0_EL2, Translation Table Base Register 0, EL2 TTBR0_EL3, Translation Table Base Register 0, EL3 TTBR1_EL1, Translation Table Base
Documentation - Arm Developer An ASID for the translation table base address The TCR_EL1 A1 field selects either TTBR0_EL1 ASID or TTBR1_EL1 ASID If the implementation has only 8 bits of ASID, then the upper 8 bits of this field are RES0 The reset behaviour of this field is: On a Warm reset, this field resets to an architecturally UNKNOWN value
ARM Cortex-A 系列ARMv8-A程序员指南:第12章 内存管理单元 - 知乎 换句话说,做上下文切换时我们不需要刷新tlb。 在aarch64中,这个asid值可以指定为8位或16位的值,由tcr_el1 as位控制。当前的asid值在ttbr0_el1或ttbr1_el1。tcr_el1控制哪一个ttbr持有asid,但它通常是ttbr0_el1,因为这对应于应用程序空间。 --注意
Quick and Dirty AArch64 MMU setup - dannasman. github. io If they are all set to zero ttbr0_el1 is used, if they are all set to one ttbr1_el1 is used If the bits hold ones and zeros a translation fault is generated This plays well with our kernel and user space separation ttbr0_el1 holds the translation table for the user space and ttbr1_el1 for the kernel space
Documentation - Arm Developer An ASID for the translation table base address The TCR_EL1 A1 field selects either TTBR0_EL1 ASID or TTBR1_EL1 ASID If the implementation has only 8 bits of ASID, then the upper 8 bits of this field are RES0 The reset behavior of this field is: On a Warm reset, this field resets to an architecturally UNKNOWN value
Documentation - Arm Developer ICV_NMIAR1_EL1: Interrupt Controller Virtual Non-maskable Interrupt Acknowledge Register 1 TTBR0_EL1: Translation Table Base Register 0 (EL1) TTBR0_EL2: Translation Table Base Register 0 (EL2) TTBR0_EL3: Translation Table Base Register 0 (EL3) TTBR1_EL1: Translation Table Base Register 1 (EL1) TTBR1_EL2: Translation Table Base Register 1
Documentation – Arm Developer The TCR_EL1 A1 field selects either TTBR0_EL1 ASID or TTBR1_EL1 ASID BADDR, [47:2] Translation table base address RES0, [1] res0: Reserved CnP, [0] Common not Private Supports selective sharing of TLB entries across multiple cores The value is: 0: CnP is not supported 1: CnP is supported Configurations