On 9 September 2013 12:11, Marcel Apfelbaum <marce...@redhat.com> wrote: > Priority is used to make visible some subregions by obscuring > the parent MemoryRegion addresses overlapping with the subregion. > > By allowing the priority to be negative the opposite can be done: > Allow a subregion to be visible on all the addresses not covered > by the parent MemoryRegion or other subregions. > > Signed-off-by: Marcel Apfelbaum <marce...@redhat.com> > --- > include/exec/memory.h | 6 +++--- > memory.c | 2 +- > 2 files changed, 4 insertions(+), 4 deletions(-) > > diff --git a/include/exec/memory.h b/include/exec/memory.h > index ebe0d24..6995087 100644 > --- a/include/exec/memory.h > +++ b/include/exec/memory.h > @@ -153,7 +153,7 @@ struct MemoryRegion { > bool flush_coalesced_mmio; > MemoryRegion *alias; > hwaddr alias_offset; > - unsigned priority; > + int priority; > bool may_overlap; > QTAILQ_HEAD(subregions, MemoryRegion) subregions; > QTAILQ_ENTRY(MemoryRegion) subregions_link; > @@ -193,7 +193,7 @@ struct MemoryListener { > void (*coalesced_mmio_del)(MemoryListener *listener, MemoryRegionSection > *section, > hwaddr addr, hwaddr len); > /* Lower = earlier (during add), later (during del) */ > - unsigned priority; > + int priority;
You haven't addressed any of the points I made reviewing the first version of this. Please don't just ignore code review, or people will stop reviewing your code. I think it would also be nice to update docs/memory.txt to say explicitly that priority is signed and why this is useful, something like this: ====begin==== Priority values are signed, and the default value is zero. This means that you can use memory_region_add_subregion_overlap() both to specify a region that must sit 'above' any others (with a positive priority) and also a background region that sits 'below' others (with a negative priority). ====endit==== (in the 'Overlapping regions and priority' section of that document). thanks -- PMM