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.

v2:
   - fix minor bug in set_address()
   - add set_alias_offset()
   - two example users

Avi Kivity (6):
  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

 hw/cirrus_vga.c |   50 +++++++++++----------------------
 hw/piix_pci.c   |   20 ++++---------
 memory.c        |   81 +++++++++++++++++++++++++++++++++++++++++++++++-------
 memory.h        |   39 ++++++++++++++++++++++++++
 4 files changed, 132 insertions(+), 58 deletions(-)

-- 
1.7.7.1


Reply via email to