exec.c: refactor cpu_physical_memory_map
commit38bee5dc94ee355640b030d28f311b03ee2f13d1
authorStefano Stabellini <stefano.stabellini@eu.citrix.com>
Thu, 19 May 2011 17:35:45 +0000 (19 18:35 +0100)
committerAlexander Graf <agraf@suse.de>
Sun, 19 Jun 2011 02:40:05 +0000 (19 04:40 +0200)
treeafed6f4a053ce6072703d2219d620766cfa28bb6
parent6506e4f995967b1a48cc34418c77b318df92ce35
exec.c: refactor cpu_physical_memory_map

Introduce qemu_ram_ptr_length that takes an address and a size as
parameters rather than just an address.

Refactor cpu_physical_memory_map so that we call qemu_ram_ptr_length only
once rather than calling qemu_get_ram_ptr one time per page.
This is not only more efficient but also tries to simplify the logic of
the function.
Currently we are relying on the fact that all the pages are mapped
contiguously in qemu's address space: we have a check to make sure that
the virtual address returned by qemu_get_ram_ptr from the second call on
is consecutive. Now we are making this more explicit replacing all the
calls to qemu_get_ram_ptr with a single call to qemu_ram_ptr_length
passing a size argument.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CC: agraf@suse.de
CC: anthony@codemonkey.ws
Signed-off-by: Alexander Graf <agraf@suse.de>
cpu-common.h
exec.c