diff options
author | Anthony Liguori <aliguori@us.ibm.com> | 2012-01-03 14:39:05 -0600 |
---|---|---|
committer | Anthony Liguori <aliguori@us.ibm.com> | 2012-01-03 14:39:05 -0600 |
commit | f3c6a169a39d188e98c17a0a0ebfa7f85e5aafdd (patch) | |
tree | 11e695213b30090174108824425014ddb5e76da2 /hw/loader.c | |
parent | 8d3bc5178fbc06cdd89c064ae8f44e77c503e91e (diff) | |
parent | 586c6230c012d1aced38e5a5614d15052ca4ae7a (diff) | |
download | qemu-f3c6a169a39d188e98c17a0a0ebfa7f85e5aafdd.zip qemu-f3c6a169a39d188e98c17a0a0ebfa7f85e5aafdd.tar.gz qemu-f3c6a169a39d188e98c17a0a0ebfa7f85e5aafdd.tar.bz2 |
Merge remote-tracking branch 'qemu-kvm/memory/page_desc' into staging
* qemu-kvm/memory/page_desc: (22 commits)
Remove cpu_get_physical_page_desc()
sparc: avoid cpu_get_physical_page_desc()
virtio-balloon: avoid cpu_get_physical_page_desc()
vhost: avoid cpu_get_physical_page_desc()
kvm: avoid cpu_get_physical_page_desc()
memory: remove CPUPhysMemoryClient
xen: convert to MemoryListener API
memory: temporarily add memory_region_get_ram_addr()
xen, vga: add API for registering the framebuffer
vhost: convert to MemoryListener API
kvm: convert to MemoryListener API
kvm: switch kvm slots to use host virtual address instead of ram_addr_t
memory: add API for observing updates to the physical memory map
memory: replace cpu_physical_sync_dirty_bitmap() with a memory API
framebuffer: drop use of cpu_physical_sync_dirty_bitmap()
loader: remove calls to cpu_get_physical_page_desc()
framebuffer: drop use of cpu_get_physical_page_desc()
memory: introduce memory_region_find()
memory: add memory_region_is_logging()
memory: add memory_region_is_rom()
...
Diffstat (limited to 'hw/loader.c')
-rw-r--r-- | hw/loader.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/hw/loader.c b/hw/loader.c index 9bbcddd..446b628 100644 --- a/hw/loader.c +++ b/hw/loader.c @@ -49,6 +49,8 @@ #include "uboot_image.h" #include "loader.h" #include "fw_cfg.h" +#include "memory.h" +#include "exec-memory.h" #include <zlib.h> @@ -674,7 +676,7 @@ static void rom_reset(void *unused) int rom_load_all(void) { target_phys_addr_t addr = 0; - int memtype; + MemoryRegionSection section; Rom *rom; QTAILQ_FOREACH(rom, &roms, next) { @@ -690,9 +692,8 @@ int rom_load_all(void) } addr = rom->addr; addr += rom->romsize; - memtype = cpu_get_physical_page_desc(rom->addr) & (3 << IO_MEM_SHIFT); - if (memtype == IO_MEM_ROM) - rom->isrom = 1; + section = memory_region_find(get_system_memory(), rom->addr, 1); + rom->isrom = section.size && memory_region_is_rom(section.mr); } qemu_register_reset(rom_reset, NULL); roms_loaded = 1; |