aboutsummaryrefslogtreecommitdiffstats
path: root/tools/libxc/xc_dom.h
diff options
context:
space:
mode:
authorAlex Zeffertt <alex.zeffertt@eu.citrix.com>2012-02-09 18:33:30 +0000
committerAlex Zeffertt <alex.zeffertt@eu.citrix.com>2012-02-09 18:33:30 +0000
commit6a2de353a969bdcb448ea977eca39401be312051 (patch)
tree34a84e2f65370b5eb1d7a44b9de51195c733e398 /tools/libxc/xc_dom.h
parent9b4964de7c6fa69a28688685bc9531f9408cf58b (diff)
downloadxen-6a2de353a969bdcb448ea977eca39401be312051.tar.gz
xen-6a2de353a969bdcb448ea977eca39401be312051.tar.bz2
xen-6a2de353a969bdcb448ea977eca39401be312051.zip
lib{xc,xl}: Seed grant tables with xenstore and console grants
This patch claims one reserved grant entry for the console and another for the xenstore. It modifies the builder to fill in the grant table entries for the console and the xenstore. Previous versions of this patch have been sent to xen-devel. See http://lists.xensource.com/archives/html/xen-devel/2008-07/msg00610.html http://lists.xensource.com/archives/html/xen-devel/2009-03/msg01491.html Signed-off-by: Diego Ongaro <diego.ongaro@citrix.com> Signed-off-by: Alex Zeffertt <alex.zeffertt@eu.citrix.com> Signed-off-by: Daniel De Graaf <dgdegra@tycho.nsa.gov> Acked-by: Ian Campbell <ian.campbell@citrix.com> Cc: Ian Jackson <ian.jackson@eu.citrix.com> Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Committed-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Diffstat (limited to 'tools/libxc/xc_dom.h')
-rw-r--r--tools/libxc/xc_dom.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/tools/libxc/xc_dom.h b/tools/libxc/xc_dom.h
index e72f066f5d..2aef64af26 100644
--- a/tools/libxc/xc_dom.h
+++ b/tools/libxc/xc_dom.h
@@ -18,6 +18,9 @@
#define INVALID_P2M_ENTRY ((xen_pfn_t)-1)
+/* Scrach PFN for temporary mappings in HVM */
+#define SCRATCH_PFN_GNTTAB 0xFFFFE
+
/* --- typedefs and structs ---------------------------------------- */
typedef uint64_t xen_vaddr_t;
@@ -107,6 +110,8 @@ struct xc_dom_image {
unsigned long flags;
unsigned int console_evtchn;
unsigned int xenstore_evtchn;
+ domid_t console_domid;
+ domid_t xenstore_domid;
xen_pfn_t shared_info_mfn;
xc_interface *xch;
@@ -200,6 +205,17 @@ void *xc_dom_boot_domU_map(struct xc_dom_image *dom, xen_pfn_t pfn,
xen_pfn_t count);
int xc_dom_boot_image(struct xc_dom_image *dom);
int xc_dom_compat_check(struct xc_dom_image *dom);
+int xc_dom_gnttab_init(struct xc_dom_image *dom);
+int xc_dom_gnttab_hvm_seed(xc_interface *xch, domid_t domid,
+ xen_pfn_t console_gmfn,
+ xen_pfn_t xenstore_gmfn,
+ domid_t console_domid,
+ domid_t xenstore_domid);
+int xc_dom_gnttab_seed(xc_interface *xch, domid_t domid,
+ xen_pfn_t console_gmfn,
+ xen_pfn_t xenstore_gmfn,
+ domid_t console_domid,
+ domid_t xenstore_domid);
/* --- debugging bits ---------------------------------------------- */