[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] xend: populate HVM guest grant table on boot
# HG changeset patch # User Ian Campbell <ian.campbell@xxxxxxxxxx> # Date 1328894690 0 # Node ID 9ad1e42c341bc78463b6f6610a6300f75b535fbb # Parent 0dcb9d1e7b554a9f6f76b62b38a139acf9b2180a xend: populate HVM guest grant table on boot Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx> Committed-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx> --- diff -r 0dcb9d1e7b55 -r 9ad1e42c341b tools/python/xen/lowlevel/xc/xc.c --- a/tools/python/xen/lowlevel/xc/xc.c Fri Feb 10 16:07:07 2012 +0000 +++ b/tools/python/xen/lowlevel/xc/xc.c Fri Feb 10 17:24:50 2012 +0000 @@ -1008,6 +1008,30 @@ return Py_BuildValue("{}"); } +static PyObject *pyxc_gnttab_hvm_seed(XcObject *self, + PyObject *args, + PyObject *kwds) +{ + uint32_t dom, console_domid, xenstore_domid; + unsigned long xenstore_gmfn = 0; + unsigned long console_gmfn = 0; + static char *kwd_list[] = { "domid", + "console_gmfn", "xenstore_gmfn", + "console_domid", "xenstore_domid", NULL }; + if ( !PyArg_ParseTupleAndKeywords(args, kwds, "iiiii", kwd_list, + &dom, + &console_gmfn, &xenstore_gmfn, + &console_domid, &xenstore_domid) ) + return NULL; + + if ( xc_dom_gnttab_hvm_seed(self->xc_handle, dom, + console_gmfn, xenstore_gmfn, + console_domid, xenstore_domid) != 0 ) + return pyxc_error_to_exception(self->xc_handle); + + return Py_None; +} + static PyObject *pyxc_evtchn_alloc_unbound(XcObject *self, PyObject *args, PyObject *kwds) @@ -2439,6 +2463,17 @@ " vcpu_avail [long, 1]: Which Virtual CPUS available.\n\n" "Returns: [int] 0 on success; -1 on error.\n" }, + { "gnttab_hvm_seed", + (PyCFunction)pyxc_gnttab_hvm_seed, + METH_KEYWORDS, "\n" + "Initialise HVM guest grant table.\n" + " dom [int]: Identifier of domain to build into.\n" + " console_gmfn [int]: \n" + " xenstore_gmfn [int]: \n" + " console_domid [int]: \n" + " xenstore_domid [int]: \n" + "Returns: None on sucess. Raises exception on error.\n" }, + { "hvm_get_param", (PyCFunction)pyxc_get_hvm_param, METH_VARARGS | METH_KEYWORDS, "\n" diff -r 0dcb9d1e7b55 -r 9ad1e42c341b tools/python/xen/xend/XendConstants.py --- a/tools/python/xen/xend/XendConstants.py Fri Feb 10 16:07:07 2012 +0000 +++ b/tools/python/xen/xend/XendConstants.py Fri Feb 10 17:24:50 2012 +0000 @@ -52,6 +52,7 @@ HVM_PARAM_HPET_ENABLED = 11 HVM_PARAM_ACPI_S_STATE = 14 HVM_PARAM_VPT_ALIGN = 16 +HVM_PARAM_CONSOLE_PFN = 17 HVM_PARAM_NESTEDHVM = 24 # x86 restart_modes = [ diff -r 0dcb9d1e7b55 -r 9ad1e42c341b tools/python/xen/xend/image.py --- a/tools/python/xen/xend/image.py Fri Feb 10 16:07:07 2012 +0000 +++ b/tools/python/xen/xend/image.py Fri Feb 10 17:24:50 2012 +0000 @@ -971,6 +971,13 @@ xc.hvm_set_param(self.vm.getDomid(), HVM_PARAM_STORE_EVTCHN, store_evtchn) + console_mfn = xc.hvm_get_param(self.vm.getDomid(), HVM_PARAM_CONSOLE_PFN) + xc.gnttab_hvm_seed(domid = self.vm.getDomid(), + console_gmfn = console_mfn, + xenstore_gmfn = rc['store_mfn'], + console_domid = 0, + xenstore_domid = 0) + return rc _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |