ARM v8有E0-3 4种exception leve,其中EL0: applications, EL1: OS kernel, EL2: Hypervisor, EL3: Secure monitor。switch_el是一个宏,取得当前的exception level,然后跳转到相应的处理块。 currentEL: +---+---+---+ | res0 | EL |res0| +---+---+---+ EL: 00 -> EL0, 01->EL1,02-...
这就是32位的时候EL与mode之间的对应关系。32位的时候mode和PL之间实际上有这清晰的对应关系,所以EL与PL之间的对应关系这里就不再多说了。
switch_el x1, 3f, 2f, 1f (8) bl hang 3: mrs x0, sctlr_el3 b 0f 2: mrs x0, sctlr_el2 b 0f 1: mrs x0, sctlr_el1 0: tbz w0, #2, 5f (9) tbz w0, #12, 4f (10) ic iallu isb sy 4: ldp x0, x1, [sp, #16] bl __asm_flush_dcache_range bl __asm_flush_l...
Switch to new thesaurus Noun 1. arm - a human limb; technically the part of the superior limb between the shoulder and the elbow but commonly used to refer to the whole superior limb human, human being, man - any living or extinct member of the family Hominidae characterized by superior...
* Switch to NS state to write Non secure ICC_SRE_EL1 and * ICC_SRE_EL2 registers. */ write_scr_el3(scr_el3 | SCR_NS_BIT); isb(); write_icc_sre_el2(read_icc_sre_el2() | icc_sre_el3); write_icc_sre_el1(ICC_SRE_SRE_BIT); ...
Disabled */ adr x0, vectors //将中断向量的地址给到x0,中断向量文件的位置在 arch/arm/cpu/armv8/exceptions.S switch_el x1, 3f, 2...switch_el定义为:读取CurrentEL状态寄存器的值,如果等于0xc则跳到el3_label,0x8则跳到el2_label,0x4则跳到el1_label,此处为根据中断等级跳到响应的位置智能...
有些系统寄存器经常访问,如果每次都trap会影响性能,所以arm提供了相应的virtual寄存器,比如VPIDR_EL2,是MIDR_EL1的virtual版;VMPIDR_EL2是VPIDR_EL1的virtual版。 HFGRTR_EL2, Hypervisor Fine-Grained Read Trap Register,这是一个非常重要的寄存器,负责控制guest在读系统寄存器的时候的行为,是否trap。
下图划分成不同EL,分别描述BL1、BL2、BL31、BL32、BL33启动流程,以及PSCI、SP处理流程。 1. 冷启动(Cold boot)流程及阶段划分 ATF冷启动实现分为5个步骤: BL1 - AP Trusted ROM,一般为BootRom。 BL2 - Trusted Boot Firmware,一般为Trusted Bootloader。
当cpu正在Non-secure EL0/1/2运行时,来了G0中断,中断被标记为FIQ,直接target到EL3 当cpu正在secure EL0/1/2运行时,来了G0中断,中断被标记为FIQ,中断target到了EL0/1/2,在该程序的fiq_offset会调用smc将cpu切回到EL3,到了EL3之后,中断不会被taken, 会继续返回到Non-secure EL0/1/2,然后cpu interface重...
Secure Monitor library code such as world switching, EL1 context management and interrupt routing. When a Secure-EL1 Payload (SP) is present, for example a Secure OS, the AArch64 EL3 Runtime Software must be integrated with a dispatcher component (SPD) to customize the interaction with the...