All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 6/24] [xen-unstable.hg] don't hard code xenstore/console domid when seeding grant table of new domU
@ 2009-03-23 15:20 Alex Zeffertt
  0 siblings, 0 replies; only message in thread
From: Alex Zeffertt @ 2009-03-23 15:20 UTC (permalink / raw)
  To: xen-devel@lists.xensource.com

[-- Attachment #1: Type: text/plain, Size: 3 bytes --]





[-- Attachment #2: xc_var_run_domid --]
[-- Type: text/plain, Size: 1745 bytes --]

This patch implements a way to determine in which domains the console
and xenstore daemons reside. If each of the files
/var/run/{console,xenstore}.did contains an integer, this integer is
interpreted as the domain id for that daemon. The default or fallback is
domid=0, of course. Here, libxc is modified to use this mechanism for
the grant table entries.

A previous version of this patch was sent to xen-devel. See
http://lists.xensource.com/archives/html/xen-devel/2008-07/msg00610.html

Signed-off-by: Diego Ongaro <diego.ongaro@citrix.com>
Signed-off-by: Alex Zeffertt <alex.zeffertt@eu.citrix.com>
---

diff -r 5ea8720ce31f tools/libxc/xc_dom_boot.c
--- a/tools/libxc/xc_dom_boot.c	Fri Aug 01 16:50:30 2008 +0100
+++ b/tools/libxc/xc_dom_boot.c	Fri Aug 01 16:50:31 2008 +0100
@@ -256,6 +256,31 @@
     return rc;
 }
 
+static uint32_t read_domid(const char *service)
+{
+    char buf[64];
+    int n;
+    FILE *f = NULL;
+    uint32_t domid = 0;
+
+    n = snprintf(buf, sizeof(buf), "/var/run/%s.did", service);
+    if ( n < 0 || n >= sizeof(buf) )
+        goto out;
+
+    f = fopen(buf, "r");
+    if ( f == NULL )
+        goto out;
+
+    if ( fscanf(f, "%" PRIu32, &domid) != 1 )
+        goto out;
+
+out:
+    if ( f != NULL )
+        fclose(f);
+
+    return domid;
+}
+
 static unsigned long xc_dom_gnttab_setup(int xc_handle, uint32_t domid)
 {
     DECLARE_HYPERCALL;
@@ -296,9 +321,8 @@
     unsigned long gnttab_gmfn;
     grant_entry_t *gnttab;
 
-    /* TODO: don't hard-code these */
-    console_domid = 0;
-    xenstore_domid = 0;
+    console_domid  = read_domid("console");
+    xenstore_domid = read_domid("xenstore");
 
     gnttab_gmfn = xc_dom_gnttab_setup(xc_handle, domid);
     if ( gnttab_gmfn == -1 )




[-- Attachment #3: Type: text/plain, Size: 138 bytes --]

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

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2009-03-23 15:20 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-03-23 15:20 [PATCH 6/24] [xen-unstable.hg] don't hard code xenstore/console domid when seeding grant table of new domU Alex Zeffertt

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.