发布时间:2014-04-21 10:18:27
还是先来看一下Qemu用户态模拟时钟是从哪里开始初始化的。代码路径如下图所示,在main中调用init_timer_alarm开始。还是那句话,Qemu模拟时钟是软件的,不能像硬件时钟那样自己产生时钟计数,所以必须要求助于host的各种timer服务来提供实际时钟。Qemu在vl.c定义了一个全局数组alarm_timers[],里面定义了几.........【阅读全文】
发布时间:2014-04-21 10:17:39
http://blog.csdn.net/yearn520/article/details/6577988......【阅读全文】
发布时间:2014-04-21 10:17:32
IO thread初始化Qemu IO thread初始化函数位于main-loop.c:[cpp] view plaincopyint qemu_init_main_loop(void) { int ret; GSource *.........【阅读全文】
发布时间:2014-04-21 10:17:22
qemu-kvm一般会有4个线程,主线程是io thread,还有一个vcpu thread,一个signal thread。 对于io thread,可以从kvm_main_loop(qemu-kvm.c)开始看:两个pipe是比较重要的一点:1. 它调用qemu_eventfd创建一个event pipe,pipe read fd用qemu_set_fd _hadnler2注册一个read fd handler,也就是说如果fd rea.........【阅读全文】
发布时间:2014-04-21 10:17:14
Entry point: main(vl.c) | kvm_init(qemu-kvm.c) -> machine->init(pc_init_pci in ./hw/pc.c)-> main_loop(vl.c) |  .........【阅读全文】