目录
1. 基本数据结构
AddressSpace
MemoryRegion
AddressSpace 域 MR 关系
2. 内存初始化
pc_init1
cpu_exec_init_all
io_mem_init: 创建IO的MR
memory_map_init: address_space_memory和system_memory是内存地址空间,system_io和address_space_io是IO地址空间
pc_init1:
pc_memory_init:
pc_system_firmware_init
bochs_bios_init:加载配置BIOS数据项
3. 分配虚拟机RAM
memory_region_allocate_system_memory 为虚拟机分配内存
allocate_system_memory_nonnuma
memory_region_init_ram_nomigrate
memory_region_init_ram_shared_nomigrate
qemu_ram_alloc
qemu_ram_alloc_internal
ram_block_add:分配内存,phys_mem_alloc 指针指向 qemu_anon_ram_alloc
qemu_anon_ram_alloc:通过mmap真正的分配内存
qemu_ram_mmap