kvm启动虚拟机流程(7)
2013-05-25 22:34
274 查看
cpu执行初始化(内存映射初始化、io内存初始化)
cpu_exec_init_all();
块设备初始化
bdrv_init_with_whitelist();
blk_mig_init();
打开虚拟块设备
/* open the virtual block devices */
if (snapshot)
qemu_opts_foreach(qemu_find_opts("drive"), drive_enable_snapshot, NULL, 0);
if (qemu_opts_foreach(qemu_find_opts("drive"), drive_init_func, &machine->use_scsi, 1) != 0)
exit(1);
default_drive(default_cdrom, snapshot, machine->use_scsi,
IF_DEFAULT, 2, CDROM_OPTS);
default_drive(default_floppy, snapshot, machine->use_scsi,
IF_FLOPPY, 0, FD_OPTS);
default_drive(default_sdcard, snapshot, machine->use_scsi,
IF_SD, 0, SD_OPTS);
register_savevm_live(NULL, "ram", 0, 4, NULL, ram_save_live, NULL,
ram_load, NULL);
模块调用初始化(wdt_ib700_register_devices/ vmport_dev_register/ testdev_register_devices/ sga_register/ i440fx_register/ port92_register/ isa_qdev_register/ kvmclock_register_device/ kvm_tpr_opt_setup/ ivshmem_register_devices/ ioapic_register_devices/ pic_register/
pit_register/ pci_qdev_register/ debugcon_register_devices……
module_call_init(MODULE_INIT_DEVICE);
机器初始化(pc_init_pci-> pc_init1 PC硬件初始化)
machine->init(ram_size, boot_devices,
kernel_filename, kernel_cmdline, initrd_filename, cpu_model);
pc的cpu初始化
pc_cpus_init(cpu_model);
if (kvmclock_enabled) {
kvm时钟创建
kvmclock_create();
}
pci内存初始化
if (pci_enabled) {
pci_memory = g_new(MemoryRegion, 1);
memory_region_init(pci_memory, "pci", INT64_MAX);
rom_memory = pci_memory;
} else {
pci_memory = NULL;
rom_memory = system_memory;
}
cpu_exec_init_all();
块设备初始化
bdrv_init_with_whitelist();
blk_mig_init();
打开虚拟块设备
/* open the virtual block devices */
if (snapshot)
qemu_opts_foreach(qemu_find_opts("drive"), drive_enable_snapshot, NULL, 0);
if (qemu_opts_foreach(qemu_find_opts("drive"), drive_init_func, &machine->use_scsi, 1) != 0)
exit(1);
default_drive(default_cdrom, snapshot, machine->use_scsi,
IF_DEFAULT, 2, CDROM_OPTS);
default_drive(default_floppy, snapshot, machine->use_scsi,
IF_FLOPPY, 0, FD_OPTS);
default_drive(default_sdcard, snapshot, machine->use_scsi,
IF_SD, 0, SD_OPTS);
register_savevm_live(NULL, "ram", 0, 4, NULL, ram_save_live, NULL,
ram_load, NULL);
模块调用初始化(wdt_ib700_register_devices/ vmport_dev_register/ testdev_register_devices/ sga_register/ i440fx_register/ port92_register/ isa_qdev_register/ kvmclock_register_device/ kvm_tpr_opt_setup/ ivshmem_register_devices/ ioapic_register_devices/ pic_register/
pit_register/ pci_qdev_register/ debugcon_register_devices……
module_call_init(MODULE_INIT_DEVICE);
机器初始化(pc_init_pci-> pc_init1 PC硬件初始化)
machine->init(ram_size, boot_devices,
kernel_filename, kernel_cmdline, initrd_filename, cpu_model);
pc的cpu初始化
pc_cpus_init(cpu_model);
if (kvmclock_enabled) {
kvm时钟创建
kvmclock_create();
}
pci内存初始化
if (pci_enabled) {
pci_memory = g_new(MemoryRegion, 1);
memory_region_init(pci_memory, "pci", INT64_MAX);
rom_memory = pci_memory;
} else {
pci_memory = NULL;
rom_memory = system_memory;
}
相关文章推荐
- kvm启动虚拟机流程(10)
- kvm启动虚拟机流程(9)
- kvm启动虚拟机流程(8)
- kvm启动虚拟机流程(1)
- kvm启动虚拟机流程(3)
- kvm启动虚拟机流程(2)
- kvm启动虚拟机流程(6)
- kvm启动虚拟机流程(5)
- kvm启动虚拟机流程(4)
- 【OpenStack源码分析之六】从虚拟机启动流程看安全认证
- OpenStack启动虚拟机时Nova内部工作流程
- openstack:nova中“从镜像启动”创建虚拟机的流程
- kvm 启动虚拟机提示“Viewer was disconnected.”
- openstack:nova中“从镜像启动(创建一个新卷)”创建虚拟机的流程
- Mitaka版Openstack虚拟机启动流程
- OpenStack Nova启动一个虚拟机内部流程
- kvm创建虚拟机流程(3)
- kvm 虚拟机的启动
- openstack:nova中“从云硬盘启动”创建虚拟机的流程
- KVM直接启动虚拟机