Message ID | 1464252584-30832-3-git-send-email-pbonzini@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Hi On Thu, May 26, 2016 at 10:49 AM, Paolo Bonzini <pbonzini@redhat.com> wrote: > Of the two callers, one does not use it, and the other can compute > it itself based on the other output argument (offset) and the RAMBlock. > > Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> > --- > exec.c | 13 ++++++------- > include/exec/cpu-common.h | 2 +- > migration/postcopy-ram.c | 3 +-- > 3 files changed, 8 insertions(+), 10 deletions(-) > > diff --git a/exec.c b/exec.c > index 3330e7d..65bad53 100644 > --- a/exec.c > +++ b/exec.c > @@ -1897,16 +1897,16 @@ static void *qemu_ram_ptr_length(RAMBlock *ram_block, ram_addr_t addr, > * ram_addr_t. > */ > RAMBlock *qemu_ram_block_from_host(void *ptr, bool round_offset, > - ram_addr_t *ram_addr, > ram_addr_t *offset) > { > RAMBlock *block; > uint8_t *host = ptr; > > if (xen_enabled()) { > + ram_addr_t ram_addr; > rcu_read_lock(); > - *ram_addr = xen_ram_addr_from_mapcache(ptr); > - block = qemu_get_ram_block(*ram_addr); > + ram_addr = xen_ram_addr_from_mapcache(ptr); > + block = qemu_get_ram_block(ram_addr); > if (block) { > *offset = (host - block->host); > } > @@ -1938,7 +1938,6 @@ found: > if (round_offset) { > *offset &= TARGET_PAGE_MASK; > } > - *ram_addr = block->offset + *offset; > rcu_read_unlock(); > return block; > } > @@ -1968,10 +1967,10 @@ RAMBlock *qemu_ram_block_by_name(const char *name) > MemoryRegion *qemu_ram_addr_from_host(void *ptr, ram_addr_t *ram_addr) > { > RAMBlock *block; > - ram_addr_t offset; /* Not used */ > - > - block = qemu_ram_block_from_host(ptr, false, ram_addr, &offset); > + ram_addr_t offset; > > + block = qemu_ram_block_from_host(ptr, false, &offset); > + *ram_addr = block->offset + offset; > if (!block) { > return NULL; > } > diff --git a/include/exec/cpu-common.h b/include/exec/cpu-common.h > index a2c3b92..fc609ad 100644 > --- a/include/exec/cpu-common.h > +++ b/include/exec/cpu-common.h > @@ -60,7 +60,7 @@ void qemu_ram_remap(ram_addr_t addr, ram_addr_t length); > MemoryRegion *qemu_ram_addr_from_host(void *ptr, ram_addr_t *ram_addr); > RAMBlock *qemu_ram_block_by_name(const char *name); > RAMBlock *qemu_ram_block_from_host(void *ptr, bool round_offset, > - ram_addr_t *ram_addr, ram_addr_t *offset); > + ram_addr_t *offset); > void qemu_ram_set_idstr(RAMBlock *block, const char *name, DeviceState *dev); > void qemu_ram_unset_idstr(RAMBlock *block); > const char *qemu_ram_get_idstr(RAMBlock *rb); > diff --git a/migration/postcopy-ram.c b/migration/postcopy-ram.c > index fbd0064..cf7dcd2 100644 > --- a/migration/postcopy-ram.c > +++ b/migration/postcopy-ram.c > @@ -407,7 +407,6 @@ static void *postcopy_ram_fault_thread(void *opaque) > > while (true) { > ram_addr_t rb_offset; > - ram_addr_t in_raspace; > struct pollfd pfd[2]; > > /* > @@ -459,7 +458,7 @@ static void *postcopy_ram_fault_thread(void *opaque) > > rb = qemu_ram_block_from_host( > (void *)(uintptr_t)msg.arg.pagefault.address, > - true, &in_raspace, &rb_offset); > + true, &rb_offset); > if (!rb) { > error_report("postcopy_ram_fault_thread: Fault outside guest: %" > PRIx64, (uint64_t)msg.arg.pagefault.address); > -- > 2.5.5 > > > Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
diff --git a/exec.c b/exec.c index 3330e7d..65bad53 100644 --- a/exec.c +++ b/exec.c @@ -1897,16 +1897,16 @@ static void *qemu_ram_ptr_length(RAMBlock *ram_block, ram_addr_t addr, * ram_addr_t. */ RAMBlock *qemu_ram_block_from_host(void *ptr, bool round_offset, - ram_addr_t *ram_addr, ram_addr_t *offset) { RAMBlock *block; uint8_t *host = ptr; if (xen_enabled()) { + ram_addr_t ram_addr; rcu_read_lock(); - *ram_addr = xen_ram_addr_from_mapcache(ptr); - block = qemu_get_ram_block(*ram_addr); + ram_addr = xen_ram_addr_from_mapcache(ptr); + block = qemu_get_ram_block(ram_addr); if (block) { *offset = (host - block->host); } @@ -1938,7 +1938,6 @@ found: if (round_offset) { *offset &= TARGET_PAGE_MASK; } - *ram_addr = block->offset + *offset; rcu_read_unlock(); return block; } @@ -1968,10 +1967,10 @@ RAMBlock *qemu_ram_block_by_name(const char *name) MemoryRegion *qemu_ram_addr_from_host(void *ptr, ram_addr_t *ram_addr) { RAMBlock *block; - ram_addr_t offset; /* Not used */ - - block = qemu_ram_block_from_host(ptr, false, ram_addr, &offset); + ram_addr_t offset; + block = qemu_ram_block_from_host(ptr, false, &offset); + *ram_addr = block->offset + offset; if (!block) { return NULL; } diff --git a/include/exec/cpu-common.h b/include/exec/cpu-common.h index a2c3b92..fc609ad 100644 --- a/include/exec/cpu-common.h +++ b/include/exec/cpu-common.h @@ -60,7 +60,7 @@ void qemu_ram_remap(ram_addr_t addr, ram_addr_t length); MemoryRegion *qemu_ram_addr_from_host(void *ptr, ram_addr_t *ram_addr); RAMBlock *qemu_ram_block_by_name(const char *name); RAMBlock *qemu_ram_block_from_host(void *ptr, bool round_offset, - ram_addr_t *ram_addr, ram_addr_t *offset); + ram_addr_t *offset); void qemu_ram_set_idstr(RAMBlock *block, const char *name, DeviceState *dev); void qemu_ram_unset_idstr(RAMBlock *block); const char *qemu_ram_get_idstr(RAMBlock *rb); diff --git a/migration/postcopy-ram.c b/migration/postcopy-ram.c index fbd0064..cf7dcd2 100644 --- a/migration/postcopy-ram.c +++ b/migration/postcopy-ram.c @@ -407,7 +407,6 @@ static void *postcopy_ram_fault_thread(void *opaque) while (true) { ram_addr_t rb_offset; - ram_addr_t in_raspace; struct pollfd pfd[2]; /* @@ -459,7 +458,7 @@ static void *postcopy_ram_fault_thread(void *opaque) rb = qemu_ram_block_from_host( (void *)(uintptr_t)msg.arg.pagefault.address, - true, &in_raspace, &rb_offset); + true, &rb_offset); if (!rb) { error_report("postcopy_ram_fault_thread: Fault outside guest: %" PRIx64, (uint64_t)msg.arg.pagefault.address);
Of the two callers, one does not use it, and the other can compute it itself based on the other output argument (offset) and the RAMBlock. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> --- exec.c | 13 ++++++------- include/exec/cpu-common.h | 2 +- migration/postcopy-ram.c | 3 +-- 3 files changed, 8 insertions(+), 10 deletions(-)