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

[Xen-changelog] Makefile:



ChangeSet 1.1713.1.16, 2005/06/17 10:35:26+01:00, cl349@xxxxxxxxxxxxxxxxxxxx

        Makefile:
          Add xs_dom0_test program to test IOCTL_PRIVCMD_INITDOMAIN_STORE.
        xs_dom0_test.c:
          new file
        From: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
        Signed-off-by: Christian Limpach <Christian.Limpach@xxxxxxxxxxxx>



 Makefile       |    9 ++++++---
 xs_dom0_test.c |   43 +++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 49 insertions(+), 3 deletions(-)


diff -Nru a/tools/xenstore/Makefile b/tools/xenstore/Makefile
--- a/tools/xenstore/Makefile   2005-06-17 21:03:04 -04:00
+++ b/tools/xenstore/Makefile   2005-06-17 21:03:04 -04:00
@@ -27,7 +27,7 @@
 
 all: xen xenstored libxenstore.a libxenstore-pic.a
 
-testcode: xen xs_test xenstored_test xs_random
+testcode: xen xs_test xenstored_test xs_random xs_dom0_test
 
 xen:
        ln -sf $(XEN_ROOT)/xen/include/public $@
@@ -63,8 +63,8 @@
 libxenstore-pic.a: $(LIB_OBJS_PIC)
 
 clean: testsuite-clean
-       rm -f *.o *.opic *.a
-       rm -f xs_test xenstored xenstored_test xs_random xs_stress xen
+       rm -f *.o *.opic *.a xen
+       rm -f xs_test xenstored xenstored_test xs_random xs_stress xs_dom0_test
        -$(RM) $(PROG_DEP)
 
 check: testsuite-run randomcheck stresstest
@@ -86,6 +86,9 @@
 stresstest: xs_stress xenstored_test
        rm -rf $(TESTDIR)/store
        export $(TESTENV); PID=`./xenstored_test --output-pid`; ./xs_stress 
10000; ret=$$?; kill $$PID; exit $$ret
+
+xs_dom0_test: xs_dom0_test.o utils.o
+       $(LINK.o) $^ $(LOADLIBES) $(LDLIBS) -lxc -o $@
 
 TAGS:
        etags `find . -name '*.[ch]'`
diff -Nru a/tools/xenstore/xs_dom0_test.c b/tools/xenstore/xs_dom0_test.c
--- /dev/null   Wed Dec 31 16:00:00 196900
+++ b/tools/xenstore/xs_dom0_test.c     2005-06-17 21:03:04 -04:00
@@ -0,0 +1,43 @@
+/* Test introduction of domain 0 */
+#include <linux/ioctl.h>
+#include <sys/ioctl.h>
+#include "xs.h"
+#include "utils.h"
+#include <xc.h>
+#include <xen/linux/privcmd.h>
+#include <stdio.h>
+#include <unistd.h>
+#include <sys/mman.h>
+
+int main()
+{
+       int h, local = 0, kernel = 0;
+       long err;
+       void *page;
+
+       h = xc_interface_open();
+       if (h < 0)
+               barf_perror("Failed to open xc");
+
+       if (xc_evtchn_bind_interdomain(h, DOMID_SELF, 0, &local, &kernel) != 0)
+               barf_perror("Failed to bind interdomain");
+
+       printf("Got ports %i & %i\n", local, kernel);
+
+       err = ioctl(h, IOCTL_PRIVCMD_INITDOMAIN_STORE, kernel);
+       if (err < 0)
+               barf_perror("Failed to initialize store");
+       printf("Got mfn %li\n", err);
+
+       page = xc_map_foreign_range(h, 0, getpagesize(), PROT_READ|PROT_WRITE,
+                                   err);
+       if (!page)
+               barf_perror("Failed to map page %li", err);
+       printf("Mapped page at %p\n", page);
+       printf("Page says %s\n", (char *)page);
+       munmap(page, getpagesize());
+       printf("unmapped\n");
+       
+       return 0;
+}
+       

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


 


Rackspace

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