On Thu, May 30, 2019 at 12:22:00PM +0100, Dr. David Alan Gilbert wrote:
> * Peter Xu ([email protected]) wrote:
> > Also we change the 2nd parameter of it to be the relative offset
> > within the memory region. This is to be used in follow up patches.
> >
> > Signed-off-by: Peter Xu <[email protected]>
> > ---
> > exec.c | 3 ++-
> > include/exec/ram_addr.h | 2 +-
> > memory.c | 3 +--
> > 3 files changed, 4 insertions(+), 4 deletions(-)
> >
> > diff --git a/exec.c b/exec.c
> > index 4e734770c2..2615b4cfed 100644
> > --- a/exec.c
> > +++ b/exec.c
> > @@ -1387,9 +1387,10 @@ bool
> > cpu_physical_memory_test_and_clear_dirty(ram_addr_t start,
> > }
> >
> > DirtyBitmapSnapshot *cpu_physical_memory_snapshot_and_clear_dirty
> > - (ram_addr_t start, ram_addr_t length, unsigned client)
> > +(MemoryRegion *mr, hwaddr addr, hwaddr length, unsigned client)
>
> Better to keep some indent?
Ok. Emacs did it automatically for me without being noticed. The
previous 5-spaces is odd, I'll use 4 spaces.
>
> > {
> > DirtyMemoryBlocks *blocks;
> > + ram_addr_t start = memory_region_get_ram_addr(mr) + addr;
> > unsigned long align = 1UL << (TARGET_PAGE_BITS + BITS_PER_LEVEL);
> > ram_addr_t first = QEMU_ALIGN_DOWN(start, align);
> > ram_addr_t last = QEMU_ALIGN_UP(start + length, align);
> > diff --git a/include/exec/ram_addr.h b/include/exec/ram_addr.h
> > index 79e70a96ee..f8ee011d3c 100644
> > --- a/include/exec/ram_addr.h
> > +++ b/include/exec/ram_addr.h
> > @@ -403,7 +403,7 @@ bool
> > cpu_physical_memory_test_and_clear_dirty(ram_addr_t start,
> > unsigned client);
> >
> > DirtyBitmapSnapshot *cpu_physical_memory_snapshot_and_clear_dirty
> > - (ram_addr_t start, ram_addr_t length, unsigned client);
> > +(MemoryRegion *mr, ram_addr_t start, hwaddr length, unsigned client);
>
> You've called it 'start' there but 'addr' in the definition.
> Either way a comment saying that it's the offset with mr would be good.
Right I missed that. Let me directly rename it to "offset" in both
places to be clear. Also, I should use hwaddr rather than ram_addr_t,
and I'll fix the indent too here.
--
Peter Xu