kvm_main.c中的init函数首先会调用,kvm_arch_init(opaque);
- kvm_arch_init
这时会调用与architecture相关的对应的初始化函数,
我们只关心x86平台,所以看对应的arch/x86/kvm/x86.c中的实现:
1 | int kvm_arch_init(void *opaque) |
kvm_irqfd_init()
zalloc_cpu_mask_var()
kvm_arch_hardware_setup()
会调用与architecture相关的hardware setup函数,
这里我们看arch/x86/kvm/x86.c
1 | int kvm_arch_hardware_setup(void) |