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

[Xen-changelog] [xen-unstable] [IA64][LIBXC] prep for fixes



# HG changeset patch
# User awilliam@xxxxxxxxxxx
# Node ID 27c2e9aa83e9ee41041bdb86d2cb4e8e28143379
# Parent  e5e6893ec6997513fc2920a2efc3bfd6ed6cd6b0
[IA64][LIBXC] prep for fixes

Groundwork for real fixes to follow

Signed-off-by: Alex Williamson <alex.williamson@xxxxxx>
---
 tools/libxc/ia64/xc_ia64_hvm_build.c |   29 +++++------------------------
 tools/libxc/xc_linux_build.c         |    3 +++
 2 files changed, 8 insertions(+), 24 deletions(-)

diff -r e5e6893ec699 -r 27c2e9aa83e9 tools/libxc/ia64/xc_ia64_hvm_build.c
--- a/tools/libxc/ia64/xc_ia64_hvm_build.c      Mon Dec 04 08:44:57 2006 -0700
+++ b/tools/libxc/ia64/xc_ia64_hvm_build.c      Tue Dec 05 09:09:44 2006 -0700
@@ -581,8 +581,7 @@ add_pal_hob(void* hob_buf)
  */
 static int
 setup_guest(int xc_handle, uint32_t dom, unsigned long memsize,
-            char *image, unsigned long image_size, uint32_t vcpus,
-            unsigned int store_evtchn, unsigned long *store_mfn)
+            char *image, unsigned long image_size, vcpu_guest_context_t *ctxt)
 {
     xen_pfn_t *pfn_list;
     shared_iopage_t *sp;
@@ -669,11 +668,6 @@ setup_guest(int xc_handle, uint32_t dom,
     if (xc_domctl(xc_handle, &domctl))
         goto error_out;
 
-    if (xc_domain_translate_gpfn_list(xc_handle, dom, nr_pages,
-                                      pfn_list, pfn_list)) {
-        PERROR("Could not translate addresses of HVM guest.\n");
-        goto error_out;
-    }
 
     // Load guest firmware 
     if (xc_ia64_copy_to_domain_pages(xc_handle, dom, image,
@@ -692,10 +686,8 @@ setup_guest(int xc_handle, uint32_t dom,
 
     xc_set_hvm_param(xc_handle, dom,
                      HVM_PARAM_STORE_PFN, STORE_PAGE_START>>PAGE_SHIFT);
-    xc_set_hvm_param(xc_handle, dom, HVM_PARAM_STORE_EVTCHN, store_evtchn);
 
     // Retrieve special pages like io, xenstore, etc. 
-    *store_mfn = pfn_list[nr_pages - 2];
     sp = (shared_iopage_t *)xc_map_foreign_range(xc_handle, dom, PAGE_SIZE,
                                                  PROT_READ | PROT_WRITE,
                                                  pfn_list[nr_pages - 3]);
@@ -717,12 +709,9 @@ error_out:
 }
 
 int
-xc_hvm_build(int xc_handle, uint32_t domid, int memsize,
-             const char *image_name, unsigned int vcpus, unsigned int pae,
-             unsigned int acpi, unsigned int store_evtchn,
-             unsigned long *store_mfn)
-{
-    struct xen_domctl launch_domctl, domctl;
+xc_hvm_build(int xc_handle, uint32_t domid, int memsize, const char 
*image_name)
+{
+    struct xen_domctl launch_domctl;
     int rc;
     vcpu_guest_context_t st_ctxt, *ctxt = &st_ctxt;
     char *image = NULL;
@@ -748,18 +737,10 @@ xc_hvm_build(int xc_handle, uint32_t dom
         return 1;
     }
 
-    domctl.cmd = XEN_DOMCTL_getdomaininfo;
-    domctl.domain = (domid_t)domid;
-    if (do_domctl(xc_handle, &domctl) < 0 ||
-        (uint16_t)domctl.domain != domid) {
-        PERROR("Could not get info on domain");
-        goto error_out;
-    }
-
     memset(ctxt, 0, sizeof(*ctxt));
 
     if (setup_guest(xc_handle, domid, (unsigned long)memsize, image,
-                    image_size, vcpus, store_evtchn, store_mfn) < 0) {
+                    image_size, ctxt) < 0) {
         ERROR("Error constructing guest OS");
         goto error_out;
     }
diff -r e5e6893ec699 -r 27c2e9aa83e9 tools/libxc/xc_linux_build.c
--- a/tools/libxc/xc_linux_build.c      Mon Dec 04 08:44:57 2006 -0700
+++ b/tools/libxc/xc_linux_build.c      Tue Dec 05 09:09:44 2006 -0700
@@ -565,6 +565,9 @@ static int setup_guest(int xc_handle,
     start_info = xc_map_foreign_range(
         xc_handle, dom, PAGE_SIZE, PROT_READ|PROT_WRITE,
         page_array[nr_pages - 3]);
+    if ( start_info == NULL )
+        goto error_out;
+
     memset(start_info, 0, sizeof(*start_info));
     rc = xc_version(xc_handle, XENVER_version, NULL);
     sprintf(start_info->magic, "xen-%i.%i-ia64", rc >> 16, rc & (0xFFFF));

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