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

[Xen-devel] The store and restore?



On restore, we need to create a new event channel and update the shared
page information for the store, AFAICT.

I'm not quite sure how this *should* be done.  Thoughts welcome, patch
below.

Rusty.

diff -r 71883f17a80f tools/libxc/xc.h
--- a/tools/libxc/xc.h  Fri Jul 15 20:31:09 2005
+++ b/tools/libxc/xc.h  Sun Jul 17 07:54:28 2005
@@ -250,7 +250,8 @@
  * @parm nr_pfns the number of pages
  * @return 0 on success, -1 on failure
  */
-int xc_linux_restore(int xc_handle, int io_fd, u32 dom, unsigned long nr_pfns);
+int xc_linux_restore(int xc_handle, int io_fd, u32 dom, unsigned long nr_pfns,
+                    unsigned int store_evtchn, unsigned long *store_mfn);
 
 int xc_linux_build(int xc_handle,
                    u32 domid,
diff -r 71883f17a80f tools/libxc/xc_linux_restore.c
--- a/tools/libxc/xc_linux_restore.c    Fri Jul 15 20:31:09 2005
+++ b/tools/libxc/xc_linux_restore.c    Sun Jul 17 07:54:28 2005
@@ -48,7 +48,8 @@
     return r;
 }
 
-int xc_linux_restore(int xc_handle, int io_fd, u32 dom, unsigned long nr_pfns)
+int xc_linux_restore(int xc_handle, int io_fd, u32 dom, unsigned long nr_pfns,
+                    unsigned int store_evtchn, unsigned long *store_mfn)
 {
     dom0_op_t op;
     int rc = 1, i, n, k;
@@ -468,6 +469,10 @@
     p_srec->resume_info.nr_pages    = nr_pfns;
     p_srec->resume_info.shared_info = shared_info_frame << PAGE_SHIFT;
     p_srec->resume_info.flags       = 0;
+    p_srec->resume_info.store_evtchn = store_evtchn;
+    /* FIXME: How to calculate this properly? */
+    *store_mfn = pfn_to_mfn_table[(p_srec->resume_info.store_page-0xc0100000)
+                                  >> PAGE_SHIFT];
     munmap(p_srec, PAGE_SIZE);
 
     /* Uncanonicalise each GDT frame number. */

-- 
A bad analogy is like a leaky screwdriver -- Richard Braakman


_______________________________________________
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®.