cpu_get_physical_page_desc() exposes the internals of the memory core to callers; as such it prevents the refactoring planned there. This patchset converts all callers memory API equivalents and removes the function.
The conversion leaves a lot of potential for further cleanups; the MemoryListener API (which replaces CPUPhysMemoryClient) guarantees matched range_add and range_del calls, so the need to handle splitting is removed. This is left for later. Please review and test, especially the vhost and Xen parts, which I only build tested. Also available from: git://git.kernel.org/pub/scm/virt/kvm/qemu-kvm.git memory/page_desc Avi Kivity (23): memory: introduce memory_region_find() sysbus: add sysbus_address_space() memory: add memory_region_is_ram() framebuffer: drop use of cpu_get_physical_page_desc() memory: add memory_region_is_rom() loader: remove calls to cpu_get_physical_page_desc() framebuffer: drop use of cpu_physical_sync_dirty_bitmap() memory: replace cpu_physical_sync_dirty_bitmap() with a memory API memory: add API for observing updates to the physical memory map memory: add memory_region_is_logging() kvm: switch kvm slots to use host virtual address instead of ram_addr_t fixup: listener fixes kvm: convert to MemoryListener API vhost: convert to MemoryListener API xen, vga: add API for registering the framebuffer memory: temporarily add memory_region_get_ram_addr() xen: convert to MemoryListener API memory: remove CPUPhysMemoryClient kvm: avoid cpu_get_physical_page_desc() vhost: avoid cpu_get_physical_page_desc() virtio-balloon: avoid cpu_get_physical_page_desc() sparc: avoid cpu_get_physical_page_desc() Remove cpu_get_physical_page_desc() arch_init.c | 6 +- cpu-all.h | 9 -- cpu-common.h | 24 ------ exec.c | 175 +--------------------------------------- hw/framebuffer.c | 32 +++---- hw/framebuffer.h | 3 + hw/loader.c | 9 +- hw/milkymist-vgafb.c | 2 +- hw/omap_lcdc.c | 4 +- hw/pl110.c | 2 +- hw/pxa2xx_lcd.c | 10 ++- hw/sysbus.c | 5 + hw/sysbus.h | 1 + hw/vga.c | 2 + hw/vhost.c | 167 ++++++++++++++++++++++++++++++--------- hw/vhost.h | 5 +- hw/virtio-balloon.c | 14 +++- hw/xen.h | 3 + kvm-all.c | 151 +++++++++++++++++++++-------------- kvm.h | 4 +- memory.c | 193 ++++++++++++++++++++++++++++++++++++++++++--- memory.h | 127 +++++++++++++++++++++++++++++ target-i386/kvm.c | 7 +- target-sparc/mmu_helper.c | 5 +- trace-events | 2 +- xen-all.c | 143 ++++++++++++++++++++------------- xen-stub.c | 4 + 27 files changed, 695 insertions(+), 414 deletions(-) -- 1.7.7.1 -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html