物理メモリの実体は、ポインタが exec.c にあって、CPUWriteMemoryFunc *io_mem_write[IO_MEM_NB_ENTRIES][4];CPUReadMemoryFunc *io_mem_read[IO_MEM_NB_ENTRIES][4];void *io_mem_opaque[IO_MEM_NB_ENTRIES];
int phys_ram_size;
uint8_t *phys_ram_base;
vl.c で確保される。
/* init the memory */phys_ram_size = ram_size + vga_ram_size + MAX_BIOS_SIZE;phys_ram_base = qemu_vmalloc(phys_ram_size);
qemu_vmalloc(size) は osdep.c で定義されており、Windows の場合は VirtualAlloc(NULL, size, MEM_COMMIT, PAGE_READWRITE) が使われる。
0 件のコメント:
コメントを投稿