On Sun, Dec 4, 2011 at 18:09, Avi Kivity <a...@redhat.com> wrote: > Add an API to update an alias offset of an active alias. This can be > used to simplify implementation of dynamic memory banks. > > Signed-off-by: Avi Kivity <a...@redhat.com> > --- > memory.c | 14 ++++++++++++++ > memory.h | 13 ++++++++++++- > 2 files changed, 26 insertions(+), 1 deletions(-) > > diff --git a/memory.c b/memory.c > index a080d21..7e842b3 100644 > --- a/memory.c > +++ b/memory.c > @@ -1345,6 +1345,20 @@ void memory_region_set_address(MemoryRegion *mr, > target_phys_addr_t addr) > memory_region_transaction_commit(); > } > > +void memory_region_set_alias_offset(MemoryRegion *mr, target_phys_addr_t > offset) > +{ > + target_phys_addr_t old_offset = mr->alias_offset; > + > + assert(mr->alias); > + mr->alias_offset = offset; > + > + if (offset == old_offset || !mr->parent) { > + return; > + } > + > + memory_region_update_topology(mr); > +} > + > void set_system_memory_map(MemoryRegion *mr) > { > address_space_memory.root = mr; > diff --git a/memory.h b/memory.h > index db53422..2022de7 100644 > --- a/memory.h > +++ b/memory.h > @@ -527,7 +527,18 @@ void memory_region_set_enabled(MemoryRegion *mr, bool > enabled); > * @mr: the region to be updated > * @addr: new address, relative to parent region > */ > -void memory_region_set_address(MemoryRegion *mr, target_phys_addr_t addr); > +void memory_region_set_address(MemoryRegion *mr, target_phys_addr_t offset);
This isn't the function you are looking for, but still 'addr' is changed to 'offset'. > + > +/* > + * memory_region_set_alias_offset: dynamically update a memory alias's offset > + * > + * Dynamically updates the offset into the target region that an alias points > + * to, as if the fourth argument to memory_region_init_alias() has changed. > + * > + * @mr: the #MemoryRegion to be updated; should be an alias. > + * @offset: the new offset into the target memory region > + */ > +void memory_region_set_alias_offset(MemoryRegion *mr, target_phys_addr_t > addr); Here 'addr' doesn't match the description above.