]> git.proxmox.com Git - mirror_qemu.git/commit - xen-mapcache.c
xen-mapcache: pass the right size argument to test_bits
authorHanweidong <hanweidong@huawei.com>
Tue, 2 Apr 2013 13:22:41 +0000 (13:22 +0000)
committerStefano Stabellini <stefano.stabellini@eu.citrix.com>
Wed, 3 Apr 2013 11:51:53 +0000 (11:51 +0000)
commit044d4e1aae539bd4214175bd9591b3de7986cf18
treeff7de919a19b2b71cccde39389bc881a31129bc7
parente2deee3ea6136b6189e8cfd26379420b9a398d96
xen-mapcache: pass the right size argument to test_bits

Compute the correct size for test_bits().
qemu_get_ram_ptr() and qemu_safe_ram_ptr() will call xen_map_cache()
with size is 0 if the requested address is in the RAM.  Then
xen_map_cache() will pass the size 0 to test_bits() for checking if the
corresponding pfn was mapped in cache. But test_bits() will always
return 1 when size is 0 without any bit testing. Actually, for this
case, test_bits should check one bit. So this patch introduced a
__test_bit_size which is greater than 0 and a multiple of XC_PAGE_SIZE,
then test_bits can work correctly with __test_bit_size
>> XC_PAGE_SHIFT as its size.

Signed-off-by: Zhenguo Wang <wangzhenguo@huawei.com>
Signed-off-by: Weidong Han <hanweidong@huawei.com>
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
xen-mapcache.c