[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH 1 of 5] tools: Add xc_domain_set_memory_map and xc_get_machine_memory_map calls



On Thu, 2011-04-07 at 21:25 +0100, Konrad Rzeszutek Wilk wrote:
> # HG changeset patch
> # User Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
> # Date 1302194186 14400
> # Node ID decab6c21cc3d7ce4d4dad949d34ba35d4600490
> # Parent  97763efc41f9b664cf6f7db653c9c3f51e50b358
> tools: Add xc_domain_set_memory_map and xc_get_machine_memory_map calls.
> 
> The later retrieves the E820 as seen by the hypervisor (completly
> unchanged) and the second call sets the E820 for a specific guest.
> 
> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
> 
> diff -r 97763efc41f9 -r decab6c21cc3 tools/libxc/xc_domain.c
> --- a/tools/libxc/xc_domain.c Tue Apr 05 18:23:54 2011 +0100
> +++ b/tools/libxc/xc_domain.c Thu Apr 07 12:36:26 2011 -0400
> @@ -510,6 +510,55 @@

Please add:
        [diff]
        showfunc = True
to your ~/.hgrc

>  
>      return rc;
>  }
> +
> +int xc_domain_set_memory_map(xc_interface *xch,
> +                               uint32_t domid,
> +                               struct e820entry entries[],
> +                               uint32_t nr_entries)
> +{
> +    int rc;
> +    struct xen_foreign_memory_map fmap = {
> +        .domid = domid,
> +        .map = { .nr_entries = nr_entries }
> +    };
> +    DECLARE_HYPERCALL_BOUNCE(entries, nr_entries * sizeof(struct e820entry),
> +                             XC_HYPERCALL_BUFFER_BOUNCE_IN);
> +
> +    if ( !entries || xc_hypercall_bounce_pre(xch, entries) )
> +        return -1;
> +
> +    set_xen_guest_handle(fmap.map.buffer, entries);
> +
> +    rc = do_memory_op(xch, XENMEM_set_memory_map, &fmap, sizeof(fmap));
> +
> +    xc_hypercall_bounce_post(xch, entries);
> +
> +    return rc;
> +}

Should probably reimplement xc_domain_set_memmap_limit() as a wrapper
around this new function. And/or nuke it if that's an option.

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.