Re: [PATCH] Add ability to drop pages through testdev

Avi Kivity
2010-12-29T09:50:52Z

On 12/22/2010 05:18 PM, Gleb Natapov wrote:
> Signed-off-by: Gleb Natapov<gleb@redhat.com>
> diff --git a/hw/testdev.c b/hw/testdev.c
> index d1abf59..29df385 100644
> --- a/hw/testdev.c
> +++ b/hw/testdev.c
> @@ -1,3 +1,4 @@
> +#include<sys/mman.h>
> #include "hw.h"
> #include "qdev.h"
> #include "isa.h"
> @@ -46,6 +47,16 @@ static uint32_t test_device_ioport_read(void *opaque, uint32_t addr)
> return test_device_ioport_data;
> }
>
> +static void test_device_flush_page(void *opaque, uint32_t addr, uint32_t data)
> +{
> + target_phys_addr_t len = 4096;
> + void *a = cpu_physical_memory_map(data& ~0xffful,&len, 0);
> +
> + mprotect(a, 4096, PROT_NONE);
> + mprotect(a, 4096, PROT_READ|PROT_WRITE);
> + cpu_physical_memory_unmap(a, len, 0, 0);
> +}
> +

Icky. This is much better done through the api tests. Applied it so as
not to spoil all the effort.