ole*_*gst 2 arm qemu emulation
目前我正在尝试为armv7架构运行qemu-system-arm,为分页进行一些初始设置,然后启用MMU。
我使用 gdb 存根运行 qemu,然后使用 gdb 连接到它。
我一定是把翻译表/寄存器/等搞砸了,问题是当我在控制寄存器中设置MMU启用位时,gdb无法再从内存中获取数据:在执行mmu启用指令的ni命令之后不获取下一个命令,我无法访问内存。
有什么方法可以查看 Qemu 的 MMU 内部发生的情况吗?它从哪里获取翻译表,计算什么等等。
或者我应该用额外的调试输出重新编译它?
不,如果不亲自修改 QEMU 的源代码,就无法追踪这一点
所以我做了。对于 ARM 架构,相关代码可在target-arm/helper.c - get_phys_addr*函数中找到。