Revision 75c578dc memory.c
b/memory.c | ||
---|---|---|
838 | 838 |
static void memory_region_destructor_rom_device(MemoryRegion *mr) |
839 | 839 |
{ |
840 | 840 |
qemu_ram_free(mr->ram_addr & TARGET_PAGE_MASK); |
841 |
cpu_unregister_io_memory(mr->ram_addr & ~(TARGET_PAGE_MASK | IO_MEM_ROMD));
|
|
841 |
cpu_unregister_io_memory(mr->ram_addr & ~TARGET_PAGE_MASK);
|
|
842 | 842 |
} |
843 | 843 |
|
844 | 844 |
static bool memory_region_wrong_endianness(MemoryRegion *mr) |
... | ... | |
868 | 868 |
mr->ram = false; |
869 | 869 |
mr->readable = true; |
870 | 870 |
mr->readonly = false; |
871 |
mr->rom_device = false; |
|
871 | 872 |
mr->destructor = memory_region_destructor_none; |
872 | 873 |
mr->priority = 0; |
873 | 874 |
mr->may_overlap = false; |
... | ... | |
1039 | 1040 |
mr->ops = ops; |
1040 | 1041 |
mr->opaque = opaque; |
1041 | 1042 |
mr->terminates = true; |
1043 |
mr->rom_device = true; |
|
1042 | 1044 |
mr->destructor = memory_region_destructor_rom_device; |
1043 | 1045 |
mr->ram_addr = qemu_ram_alloc(size, mr); |
1044 | 1046 |
mr->ram_addr |= cpu_register_io_memory(mr); |
1045 |
mr->ram_addr |= IO_MEM_ROMD; |
|
1046 | 1047 |
} |
1047 | 1048 |
|
1048 | 1049 |
void memory_region_destroy(MemoryRegion *mr) |
Also available in: Unified diff