[repost w/ qemu-devel copied this time]
This patchset introduces memory_region_set_enabled() and
memory_region_set_address() to avoid the requirement on memory
routers to track the internal state of the memory API (so they know
whether they need to add or remove a region). Instead, they can
simply copy the state of the region from the guest-exposed register
to the memory core, via the new mutator functions.
Please pull from
git://git.kernel.org/pub/scm/virt/kvm/qemu-kvm.git memory/mutators
v3:
- fix confusion in patch 3 wrt function arguments and doc comments
- add migration documentation
v2:
- fix minor bug in set_address()
- add set_alias_offset()
- two example users
Avi Kivity (7):
memory: introduce memory_region_set_enabled()
memory: introduce memory_region_set_address()
memory: introduce memory_region_set_alias_offset()
memory: optimize empty transactions due to mutators
cirrus_vga: adapt to memory mutators API
piix_pci: adapt smram mapping to use memory mutators
docs: document memory API interaction with migration
docs/migration.txt | 12 ++++++++
hw/cirrus_vga.c | 50 +++++++++++---------------------
hw/piix_pci.c | 20 ++++---------
memory.c | 81 ++++++++++++++++++++++++++++++++++++++++++++-------
memory.h | 40 +++++++++++++++++++++++++
5 files changed, 145 insertions(+), 58 deletions(-)