Skip to contentSkip to conversation

libxc: Use vcpu_guest_context_any_t instead of two pages

PATCH In review Samuel Thibault 2 participants 3 messages Aug 27, 2008

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 libxc: Use vcpu_guest_context_any_t instead of two pages

libxc: Use vcpu_guest_context_any_t instead of two pages

tools/libxc/xc_dom_boot.c +4 -5
diff -r 14a9a1629590 tools/libxc/xc_dom_boot.c
@@ -187,7 +187,7 @@ int xc_dom_boot_image(struct xc_dom_imag
 int xc_dom_boot_image(struct xc_dom_image *dom)
 {
     declare_domctl;
-    void *ctxt;
+    vcpu_guest_context_any_t ctxt;
     int rc;
 
     xc_dom_printf("%s: called\n", __function__);
@@ -245,12 +245,11 @@ int xc_dom_boot_image(struct xc_dom_imag
         return rc;
 
     /* let the vm run */
-    ctxt = xc_dom_malloc(dom, page_size * 2 /* fixme */ );
-    memset(ctxt, 0, page_size * 2);
-    if ( (rc = dom->arch_hooks->vcpu(dom, ctxt)) != 0 )
+    memset(&ctxt, 0, sizeof(ctxt));
+    if ( (rc = dom->arch_hooks->vcpu(dom, &ctxt)) != 0 )
         return rc;
     xc_dom_unmap_all(dom);
-    rc = launch_vm(dom->guest_xc, dom->guest_domid, ctxt);
+    rc = launch_vm(dom->guest_xc, dom->guest_domid, &ctxt);
 
     return rc;
 }
#1 lore raw

This patch doesn't apply. You must have other patches layered underneath it.

-- Keir

Quoted 37 lines · Samuel Thibault

libxc: Use vcpu_guest_context_any_t instead of two pages

diff -r 14a9a1629590 tools/libxc/xc_dom_boot.c

tools/libxc/xc_dom_boot.c wed aug 27 12:07:28 2008 +0100 renamed from tools/libxc/xc_dom_boot.c wed aug 27 10:26:50 2008 +0100 +4 -5
@@ -187,7 +187,7 @@ int xc_dom_boot_image(struct xc_dom_imag
 int xc_dom_boot_image(struct xc_dom_image *dom)
 {
     declare_domctl;
-    void *ctxt;
+    vcpu_guest_context_any_t ctxt;
     int rc;
 
     xc_dom_printf("%s: called\n", __function__);
@@ -245,12 +245,11 @@ int xc_dom_boot_image(struct xc_dom_imag
         return rc;
 
     /* let the vm run */
-    ctxt = xc_dom_malloc(dom, page_size * 2 /* fixme */ );
-    memset(ctxt, 0, page_size * 2);
-    if ( (rc = dom->arch_hooks->vcpu(dom, ctxt)) != 0 )
+    memset(&ctxt, 0, sizeof(ctxt));
+    if ( (rc = dom->arch_hooks->vcpu(dom, &ctxt)) != 0 )
         return rc;
     xc_dom_unmap_all(dom);
-    rc = launch_vm(dom->guest_xc, dom->guest_domid, ctxt);
+    rc = launch_vm(dom->guest_xc, dom->guest_domid, &ctxt);
 
     return rc;
 }

_______________________________________________
Xen-devel mailing list
[email protected]
http://lists.xensource.com/xen-devel

#2 lore raw
Quoted 1 line · Keir Fraser, le Wed 27 Aug 2008 14:58:57 +0100, a écrit :

This patch doesn't apply. You must have other patches layered underneath it.

Oops sorry, actually I had just mistakenly lowered all cases in the patch (powerful editors...)

libxc: Use vcpu_guest_context_any_t instead of two pages

tools/libxc/xc_dom_boot.c wed aug 27 12:07:28 2008 +0100 renamed from tools/libxc/xc_dom_boot.c wed aug 27 10:26:50 2008 +0100 +4 -5
diff -r 14a9a1629590 tools/libxc/xc_dom_boot.c
@@ -187,7 +187,7 @@ int xc_dom_boot_image(struct xc_dom_imag
 int xc_dom_boot_image(struct xc_dom_image *dom)
 {
     DECLARE_DOMCTL;
-    void *ctxt;
+    vcpu_guest_context_any_t ctxt;
     int rc;
 
     xc_dom_printf("%s: called\n", __FUNCTION__);
@@ -245,12 +245,11 @@ int xc_dom_boot_image(struct xc_dom_imag
         return rc;
 
     /* let the vm run */
-    ctxt = xc_dom_malloc(dom, PAGE_SIZE * 2 /* FIXME */ );
-    memset(ctxt, 0, PAGE_SIZE * 2);
-    if ( (rc = dom->arch_hooks->vcpu(dom, ctxt)) != 0 )
+    memset(&ctxt, 0, sizeof(ctxt));
+    if ( (rc = dom->arch_hooks->vcpu(dom, &ctxt)) != 0 )
         return rc;
     xc_dom_unmap_all(dom);
-    rc = launch_vm(dom->guest_xc, dom->guest_domid, ctxt);
+    rc = launch_vm(dom->guest_xc, dom->guest_domid, &ctxt);
 
     return rc;
 }