On 26 June 2013 02:35,  <mrhi...@linux.vnet.ibm.com> wrote:
> --- a/exec.c
> +++ b/exec.c
> @@ -2630,3 +2630,12 @@ bool cpu_physical_memory_is_io(hwaddr phys_addr)
>               memory_region_is_romd(mr));
>  }
>  #endif
> +
> +void qemu_ram_foreach_block(RAMBlockIterFunc func, void *opaque)
> +{
> +    RAMBlock *block;
> +
> +    QTAILQ_FOREACH(block, &ram_list.blocks, next) {
> +        func(block->host, block->offset, block->length, opaque);
> +    }
> +}
> diff --git a/include/exec/cpu-common.h b/include/exec/cpu-common.h
> index e061e21..92a4223 100644
> --- a/include/exec/cpu-common.h
> +++ b/include/exec/cpu-common.h
> @@ -113,6 +113,11 @@ void cpu_physical_memory_write_rom(hwaddr addr,
>  extern struct MemoryRegion io_mem_rom;
>  extern struct MemoryRegion io_mem_notdirty;
>
> +typedef void (RAMBlockIterFunc)(void *host_addr,
> +    ram_addr_t offset, ram_addr_t length, void *opaque);
> +
> +void qemu_ram_foreach_block(RAMBlockIterFunc func, void *opaque);
> +
>  #endif

The prototype is inside an ifndef CONFIG_USER_ONLY -- the
implementation needs to be as well.

thanks
-- PMM

Reply via email to