1: armv8_switch_to_el2_m x4, x5, x6 ENDPROC(armv8_switch_to_el2) ENTRY(armv8_switch_to_el1) switch_el x6, 0f, 1f, 0f 0: /* x4 is kernel entry point. When running in EL1 * now, jump to the address saved in x4. */ br x4 1: armv8_switch_to_el1_m x4, x5, x6...
// 加载函数switch_to_el1_from_el2的地址,设置从EL3返回时的地址,这样调用eret即可跳转至此函数继续执行 adr x3, switch_to_el1_from_el2 msr elr_el3, x3 eret switch_to_el1_from_el2: /* 使能el1与el0对el物理计数器reg,定时器reg的访问 */ mrs x0, cnthctl_el2 orr x0, x0, #3 msr ...
(3)同样的使用switch_el来跳转到对应级别的路径上去执行,在进行系统寄存器设置时,因为在这之前已经由SYS_RESET_SCTRL或者board自己保证处理器处于小端,mmu关,i-cache和d-cache处于关闭状态了,所以这里直接进行对应级别系统寄存器设置,首先是跳转到对应表设置对应级别的异常向量表。接着会有如下三种情况: 当处于EL3时,...
有些系统寄存器经常访问,如果每次都trap会影响性能,所以arm提供了相应的virtual寄存器,比如VPIDR_EL2,是MIDR_EL1的virtual版;VMPIDR_EL2是VPIDR_EL1的virtual版。 HFGRTR_EL2, Hypervisor Fine-Grained Read Trap Register,这是一个非常重要的寄存器,负责控制guest在读系统寄存器的时候的行为,是否trap。 ARM DDI ...
登录后复制switch(irqnr) { 登录后复制casePENDING_G1S_INTID: 登录后复制returnINTR_TYPE_S_EL1; 登录后复制casePENDING_G1NS_INTID: 登录后复制returnINTR_TYPE_NS; 登录后复制caseGIC_SPURIOUS_INTERRUPT: 登录后复制returnINTR_TYPE_INVAL; 登录后复制default: ...
eretswitch_to_el1_from_el2:/* 使能el1与el0对el物理计数器reg,定时器reg的访问 */mrsx0, cnthctl_el2orrx0, x0,#3msrcnthctl_el2, x0msrcntvoff_el2, xzr/* Enable AArch64 in EL1. */// hcr_el2.rw = 1 设置在el1时使用aarch64 (否则为aarch32)movx1, #(1<<31)// hcr_el...
Disabled */ adr x0, vectors //将中断向量的地址给到x0,中断向量文件的位置在 arch/arm/cpu/armv8/exceptions.S switch_el x1, 3f, 2f.../px30_comm.h #endif // These are defined in the linker script. Arch/arm/cpu/armv8/u-boot.lds .globl刘帅嵌入式系统-STRBT用户模式的字节数据写入指令 ...
* On return, the CPU will be ready for the MMU to be turned on and * the TCR will have been set. */ bl __cpu_setup // 为打开MMU做准备 b __primary_switch //启动MMU,最后跳转到start_kernel(内核C语言部分) SYM_CODE_END(primary_entry) ...
Launch Eclipse for DS-5, select a Workspace, then switch to the DS-5 Debug perspective, using the Open Perspective control in the top right-hand corner of the window. Select Run > Debug Configurations… to open the Debug Configurations dialog. In the left-hand column of the Debug Configurat...
@@ -64,3 +64,82 @@ Alternately you can use this command to switch from QSPI to SD - JTAG support - QSPI emulator support - TDM riser support QDS Default Switch Settings (1: ON; 0: OFF) --- For 16b IFC-NOR SW1 0001 0010 SW2 x110 1111 For QSPI Boot SW1 0011 0001 SW2 0110 ...