kvm中到底是怎麼模擬的cpu和記憶體?
收到了大量的
這裡有乙個裸的呼叫kvm介面的例項,超讚:
使用kvm的api來實現emulator demo,同樣贊:
開啟tracepoint,這是研究kvm的好方法:
qemu-system-x86-10102 [001] d... 13485.390144: kvm_entry: vcpu 0qemu-system-x86-10102 [001] .n..13485.393300: kvm_exit: reason external_interruptrip 0x4009b2 info 0 800000ef
qemu-system-x86-10102 [001] d... 13485.393301: kvm_fpu: unload
qemu-system-x86-10102 [001] .... 13485.401393: kvm_ple_window: vcpu 0: ple_window 4096 (shrink 4096)
qemu-system-x86-10102 [001] .... 13485.401398: kvm_fpu: load
qemu-system-x86-10102 [001] .... 13485.401399: kvm_apic_accept_irq: apicid 0 vec 239 (fixed|edge)
qemu-system-x86-10102 [001] .... 13485.401400: kvm_inj_virq: irq 239
qemu-system-x86-10102 [001] d... 13485.401401: kvm_entry: vcpu 0
qemu-system-x86-10102 [001] .... 13485.401419: kvm_eoi: apicid 0 vector 239
qemu-system-x86-10102 [001] .... 13485.401419: kvm_pv_eoi: apicid 0 vector 239
qemu-system-x86-10102 [001] .... 13485.401420: kvm_exit: reason msr_write rip 0xffffffff81064508 info 0 0
qemu-system-x86-10102 [001] .... 13485.401421: kvm_apic: apic_write apic_tmict = 0xafd2
qemu-system-x86-10102 [001] .... 13485.401422: kvm_msr: msr_write 838 = 0xafd2
qemu-system-x86-10102 [001] d... 13485.401422: kvm_entry: vcpu 0
qemu-system-x86-10102 [001] ....13485.402142: kvm_exit: reason external_interruptrip 0x4009b2 info 0 800000ef
qemu-system-x86-10102 [001] .... 13485.402142: kvm_apic_accept_irq: apicid 0 vec 239 (fixed|edge)
qemu-system-x86-10102 [001] .... 13485.402143: kvm_inj_virq: irq 239
qemu-system-x86-10102 [001] d... 13485.402143: kvm_entry: vcpu 0
qemu-system-x86-10102 [001] .... 13485.402146: kvm_eoi: apicid 0 vector 239
qemu-system-x86-10102 [001] .... 13485.402146: kvm_pv_eoi: apicid 0 vector 239
qemu-system-x86-10102 [001] .... 13485.402146: kvm_exit: reason msr_write rip 0xffffffff81064508 info 0 0
qemu-system-x86-10102 [001] .... 13485.402146: kvm_apic: apic_write apic_tmict = 0x3cee0
qemu-system-x86-10102 [001] .... 13485.402146: kvm_msr: msr_write 838 = 0x3cee0
qemu-system-x86-10102 [001] d... 13485.402147: kvm_entry: vcpu 0
qemu-system-x86-10102 [001] .n..13485.403339: kvm_exit: reason external_interruptrip 0x4009b2 info 0 800000ef
qemu-system-x86-10102 [001] d... 13485.403341: kvm_fpu: unload
qemu-system-x86-10102 [001] .... 13485.403521: kvm_ple_window: vcpu 0: ple_window 4096 (shrink 4096)
qemu-system-x86-10102 [001] .... 13485.403523: kvm_fpu: load
qemu-system-x86-10102 [001] d... 13485.403523: kvm_entry: vcpu 0
qemu-system-x86-10102 [001] .n..13485.404571: kvm_exit: reason external_interruptrip 0x4009b2 info 0 800000ef
qemu-system-x86-10102 [001] d... 13485.404573: kvm_fpu: unload
qemu-system-x86-10102 [001] .... 13485.406671: kvm_ple_window: vcpu 0: ple_window 4096 (shrink 4096)
qemu-system-x86-10102 [001] .... 13485.406676: kvm_fpu: load
qemu-system-x86-10102 [001] .... 13485.406677: kvm_apic_accept_irq: apicid 0 vec 239 (fixed|edge)
qemu-system-x86-10102 [001] .... 13485.406679: kvm_inj_virq: irq 239
qemu-system-x86-10102 [001] d... 13485.406680: kvm_entry: vcpu 0
qemu-system-x86-10102 [001] .... 13485.406702: kvm_eoi: apicid 0 vector 239
qemu-system-x86-10102 [001] .... 13485.406703: kvm_pv_eoi: apicid 0 vector 239
qemu-system-x86-10102 [001] ....13485.406704: kvm_exit: reason msr_writerip 0xffffffff81064508 info 0 0
qemu-system-x86-10102 [001] .... 13485.406706: kvm_apic: apic_write apic_tmict = 0x34720
qemu-sys
神秘的kvm,伺服器端直接執行在,guest按理說也是要有中斷的:
39839 __apic_accept_irq ([kvm])3aa20 kvm_apic_local_deliver ([kvm])
3ac7d kvm_inject_apic_timer_irqs ([kvm])
3824ekvm_inject_pending_timer_irqs([kvm])
1ebfe kvm_arch_vcpu_ioctl_run ([kvm])
610d kvm_vcpu_ioctl ([kvm])
4200ff do_vfs_ioctl ([kernel.kallsyms])
420369 sys_ioctl ([kernel.kallsyms])
a244f2 entry_syscall_64_fastpath ([kernel.kallsyms])
關鍵函式是
kvm是如何模擬時鐘中斷的?
kvm_create_pit create_pit_timer
kvm_create_
有專門的一章,是討論中斷的虛擬化;
還要個超有意思的函式是:kvm_msr事件,
XQuery 我們完成了嗎?
原文 xquery are we done yet 我注意到,現今xquery,xpath2.0和xslt2.0已經被完全記錄在案了。儘管,我所選擇的範圍並不支援xquery,但我卻是它的乙個忠實粉絲。祝賀大家,是你們的努力使得這一切發生。我真的在思考,對於xml標準來說,是否是時候讓其封存不用,正...
XQuery 我們完成了嗎?
原文 xquery are we done yet 我注意到,現今xquery,xpath2.0和xslt2.0已經被完全記錄在案了。儘管,我所選擇的範圍並不支援xquery,但我卻是它的乙個忠實粉絲。祝賀大家,是你們的努力使得這一切發生。我真的在思考,對於xml標準來說,是否是時候讓其封存不用,正...
XQuery 我們完成了嗎?
原文 xquery are we done yet 我注意到,現今xquery,xpath2.0和xslt2.0已經被完全記錄在案了。儘管,我所選擇的範圍並不支援xquery,但我卻是它的乙個忠實粉絲。祝賀大家,是你們的努力使得這一切發生。我真的在思考,對於xml標準來說,是否是時候讓其封存不用,正...