发布时间:2014-01-27 15:08:17
Posted Interrupt 允许APIC中断直接注入到guest而不需要VM-Exit- 需要给guest传递中断的时候,如果vcpu正在运行,那么更新posted-intrrupt请求位图,并向vcpu发送通知,vcpu自动处理该中断,不需要软件干预- 如果vcpu没有在运行或者已经有通知事件pending,那么什么都不做,中断会在下次VM-Entry的时.........【阅读全文】
发布时间:2014-01-26 14:54:03
一个操作系统要跑起来,必须有time tick,它就像是身体的脉搏。普通情况下,OS time tick由PIT(i8254)或APIC Timer设备提供—PIT定期(1ms in Linux)产生一个timer interrupt,作为global tick,APIC Timer产生一个local tick。在虚拟化情况下,必须为guest OS模拟一个PIT和APIC Timer。 模拟的PIT和APIC Ti.........【阅读全文】
发布时间:2014-01-26 14:51: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,也就是.........【阅读全文】