On Mon, Oct 11, 2010 at 4:07 PM,  <anthony.per...@citrix.com> wrote:
> From: Anthony PERARD <anthony.per...@citrix.com>
>
> The mapcache maps chucks of guest memory on demand, unmaps them when
> they are not needed anymore.
>
> Each call to qemu_get_ram_ptr makes a call to qemu_map_cache with the
> lock option, so mapcache will not unmap these ram_ptr.

I'm getting these errors:
/src/qemu/xen-mapcache.c: In function 'qemu_map_cache_init':
/src/qemu/xen-mapcache.c:71: error: large integer implicitly truncated
to unsigned type
/src/qemu/xen-mapcache.c: In function 'qemu_map_cache':
/src/qemu/xen-mapcache.c:173: error: large integer implicitly
truncated to unsigned type
/src/qemu/xen-mapcache.c: In function 'qemu_invalidate_entry':
/src/qemu/xen-mapcache.c:258: error: large integer implicitly
truncated to unsigned type
/src/qemu/xen-mapcache.c: In function 'qemu_invalidate_map_cache':
/src/qemu/xen-mapcache.c:331: error: large integer implicitly
truncated to unsigned type

In all cases, the offending line is:
 mapcache->last_address_index = ~0UL;

Since the type of last_address_index is target_phys_addr_t, these should become:
 mapcache->last_address_index = (target_phys_addr_t)~0UL;

Changing ~0UL to ~0ULL or -1 may also work.

Reply via email to