我已经下载了最新的 qemu Windows 版本,然后在下面运行
qemu-system-aarch64 -M virt,gic_version=3 -cpu cortex-a53 -smp 2 -nographic
-m 2048 -kernel mybaremetal.axf -s -S
Run Code Online (Sandbox Code Playgroud)
为了模拟双核 cortex-a53,我可以使用 aarch64 gdb 客户端连接到它,在 mybaremetal.axf 的入口处,我通过以下方式检查了执行的异常级别:
mrs x1, CurrentEL
Run Code Online (Sandbox Code Playgroud)
我总是在 x1 中得到值 4,但这里预期值 0xc,如 ARM 文档中所示,它说:在加电和复位时,处理器进入 EL3
有人知道原因吗?
对于 64 位除法,使用/和 有do_div什么区别?只是为了提高性能?它是否依赖于架构?