1. 执行主流程简单分析
在该模式下,qemu除了模拟cpu执行,还要管理、模拟外围设备,因此系统模式模拟比用户模式模拟多出很多需要我们关心的地方,比如,机器管理,设备管理,总线模拟,中断模拟,mmu模拟,以及它们是如何协同工作的等等。本节主要简单分析下qemu系统模式的执行主流程。如下图所示:
上图主要描述整个模拟器执行过程的大体框架,由图可知,main_loop是模拟器运行时的主循环,cpu_exec_all()函数是用来执行cpu指令,main_loop_wait是用来执行外围设备模拟代码,当然这些并不是完全绝对的,比如cpu在对io设备的地址空间进行load/store操作时,就会调用io设备读写handler。
那cpu_exec_al