我已经下载了最新的qemu Windows版本,然后在线下运行
qemu-system-aarch64 -M virt,gic_version=3 -cpu cortex-a53 -smp 2 -nographic
-m 2048 -kernel mybaremetal.axf -s -S
模拟双核cortex-a53,我可以使用aarch64 gdb客户端连接到它,在mybaremetal.axf的条目中,我通过以下方式检查了异常执行级别:
mrs x1, CurrentEL
我总是在x1中获得值4,但是在ARM文档中预期值为0xc,它表示:在上电和复位时,处理器进入EL3
谁知道原因?答案 0 :(得分:2)
默认情况下,QEMU的Cortex-A53仿真仅模拟带有EL1的CPU,而不是EL2或EL3,因此(根据架构要求)我们在EL1中启动。如果你想要一个带有EL2或EL3的CPU,你需要在命令行上专门启用它,-machine virtualization = on启用EL2,-machine secure = on启用EL3。请注意,EL2支持是最新的,目前您需要从上游git master构建才能获得它(它将在即将发布的QEMU 2.9.0版本中)。