On 12/19/2011 08:13 AM, Avi Kivity wrote:
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.
Other than the few style comments, the whole series looks reasonable to me.
Regards,
Anthony Liguori
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(-)