kvm启动虚拟机流程(10)
2013-05-25 22:35
239 查看
建立信号处理
os_setup_signal_handling();
#ifdef CONFIG_VNC
vnc显示初始化
/* init remote displays */
if (vnc_display) {
vnc_display_init(ds);
if (vnc_display_open(ds, vnc_display) < 0)
exit(1);
if (show_vnc_port) {
printf("VNC server running on `%s'\n", vnc_display_local_addr(ds));
}
}
#endif
显示配置
/* display setup */
dpy_resize(ds);
dcl = ds->listeners;
while (dcl != NULL) {
if (dcl->dpy_refresh != NULL) {
ds->gui_timer = qemu_new_timer_ms(rt_clock, gui_update, ds);
qemu_mod_timer(ds->gui_timer, qemu_get_clock_ms(rt_clock));
break;
}
dcl = dcl->next;
}
文本控制台设定显示
text_consoles_set_display(ds);
初始化虚拟机设定完成
qdev_machine_creation_done();
只读内存加载
if (rom_load_all() != 0) {
fprintf(stderr, "rom loading failed\n");
exit(1);
}
寄存器重置
qemu_register_reset(qbus_reset_all_fn, sysbus_get_default());
qemu_run_machine_init_done_notifiers();
qemu系统重置
qemu_system_reset(VMRESET_SILENT);
} else if (autostart) {
虚拟机启动
vm_start();
}
操作系统设定路标
os_setup_post();
恢复所有vcpu
resume_all_vcpus();
进入主循环
main_loop();
关闭块设备
bdrv_close_all();
暂停所有vcpu
pause_all_vcpus();
清理网络
net_cleanup();
寄存器释放
res_free();
os_setup_signal_handling();
#ifdef CONFIG_VNC
vnc显示初始化
/* init remote displays */
if (vnc_display) {
vnc_display_init(ds);
if (vnc_display_open(ds, vnc_display) < 0)
exit(1);
if (show_vnc_port) {
printf("VNC server running on `%s'\n", vnc_display_local_addr(ds));
}
}
#endif
显示配置
/* display setup */
dpy_resize(ds);
dcl = ds->listeners;
while (dcl != NULL) {
if (dcl->dpy_refresh != NULL) {
ds->gui_timer = qemu_new_timer_ms(rt_clock, gui_update, ds);
qemu_mod_timer(ds->gui_timer, qemu_get_clock_ms(rt_clock));
break;
}
dcl = dcl->next;
}
文本控制台设定显示
text_consoles_set_display(ds);
初始化虚拟机设定完成
qdev_machine_creation_done();
只读内存加载
if (rom_load_all() != 0) {
fprintf(stderr, "rom loading failed\n");
exit(1);
}
寄存器重置
qemu_register_reset(qbus_reset_all_fn, sysbus_get_default());
qemu_run_machine_init_done_notifiers();
qemu系统重置
qemu_system_reset(VMRESET_SILENT);
} else if (autostart) {
虚拟机启动
vm_start();
}
操作系统设定路标
os_setup_post();
恢复所有vcpu
resume_all_vcpus();
进入主循环
main_loop();
关闭块设备
bdrv_close_all();
暂停所有vcpu
pause_all_vcpus();
清理网络
net_cleanup();
寄存器释放
res_free();
相关文章推荐
- kvm启动虚拟机流程(4)
- kvm启动虚拟机流程(1)
- kvm启动虚拟机流程(3)
- kvm启动虚拟机流程(7)
- kvm启动虚拟机流程(2)
- kvm启动虚拟机流程(9)
- kvm启动虚拟机流程(6)
- kvm启动虚拟机流程(8)
- kvm启动虚拟机流程(5)
- Mitaka版Openstack虚拟机启动流程
- openstack:nova中“从镜像启动(创建一个新卷)”创建虚拟机的流程
- OpenStack Nova启动一个虚拟机内部流程
- Kvm启动ubuntu虚拟机无法联网
- KVM创建虚拟机后指定启动脚本
- openstack:nova中“从云硬盘启动”创建虚拟机的流程
- kvm 虚拟机启动命令汇总
- Kernel启动流程源码解析 10 init_IRQ
- phonemefeature mr4 虚拟机 MVM模式 启动主流程
- Fedora10里VirtualBox 2.1.4无法启动虚拟机的解决方法
- Windows里的虚拟机迁移到KVM无法启动是何原因?