KVM(ARM)-初始化 (1)

Linux启动,如果需要支持KVM,则必须从EL2开始启动,即Kernel的入口在EL2执行,如下主要代码:
_head: - Kernel Image入口
b stext //跳转到stext
在stext中跳转到el2_setup

el2_setup 的逻辑:
1)看当前是否处于EL2,如果不是直接启动Linux Kernel (不支持KVM)
在这里插入图片描述
MSR 系统寄存器 +(寄存器)指令:Move general-purpose register to System Register allows the PE to write an AArch64 System register from a general-purpose register.
MSR 系统寄存器 + 立即数: Move immediate value to Special Register moves an immediate value to selected bits of the PSTATE.
MRS指令:Move System Register allows the PE to read an AArch64 System register into a general-purpose register.
//When the value of SPSel.SP is 0, SP_EL0 is used as the current stack pointer at all Exception levels.
//When the value of SPSel.SP is 1, each exception level use its corresponding SP_ELx
msr SPsel, #1 // We want to use SP_EL{1,2}
SCTLR_EL1, System Control Register (EL1)
E0E, bit [24] Endianness of data accesses at EL0.
EE, bit [25] Endianness of data accesses at EL1, and stage 1 translation table walks in the EL1&0 translation regime.

2)

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值