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

[Xen-devel] [PATCH v7 6/8] libxl: Introduce libxl__arch_domain_create (x86 version)



Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Acked-by: Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx>
Acked-by: Ian Campbell <Ian.Campbell@xxxxxxxxxx>
---
 tools/libxl/Makefile       |    2 +-
 tools/libxl/libxl_create.c |   12 ++----------
 tools/libxl/libxl_x86.c    |   19 +++++++++++++++++++
 3 files changed, 22 insertions(+), 11 deletions(-)
 create mode 100644 tools/libxl/libxl_x86.c

diff --git a/tools/libxl/Makefile b/tools/libxl/Makefile
index 6ba4cf0..8ac8674 100644
--- a/tools/libxl/Makefile
+++ b/tools/libxl/Makefile
@@ -34,7 +34,7 @@ LIBXL_OBJS-y += libxl_blktap2.o
 else
 LIBXL_OBJS-y += libxl_noblktap2.o
 endif
-LIBXL_OBJS-$(CONFIG_X86) += libxl_cpuid.o libxl_noarch.o
+LIBXL_OBJS-$(CONFIG_X86) += libxl_cpuid.o libxl_x86.o
 LIBXL_OBJS-$(CONFIG_IA64) += libxl_nocpuid.o libxl_noarch.o
 LIBXL_OBJS-$(CONFIG_ARM) += libxl_nocpuid.o libxl_noarch.o
 
diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index 14721eb..2637222 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -18,6 +18,7 @@
 #include "libxl_osdeps.h" /* must come before any other headers */
 
 #include "libxl_internal.h"
+#include "libxl_arch.h"
 
 #include <xc_dom.h>
 #include <xenguest.h>
@@ -820,16 +821,7 @@ static void domcreate_devmodel_started(libxl__egc *egc,
         }
     }
 
-    if (d_config->c_info.type == LIBXL_DOMAIN_TYPE_PV &&
-        libxl_defbool_val(d_config->b_info.u.pv.e820_host)) {
-        ret = libxl__e820_alloc(gc, domid, d_config);
-        if (ret) {
-            LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
-                      "Failed while collecting E820 with: %d (errno:%d)\n",
-                      ret, errno);
-            goto error_out;
-        }
-    }
+    libxl__arch_domain_create(gc, d_config, domid);
     domcreate_console_available(egc, dcs);
 
     domcreate_complete(egc, dcs, 0);
diff --git a/tools/libxl/libxl_x86.c b/tools/libxl/libxl_x86.c
new file mode 100644
index 0000000..7e28504
--- /dev/null
+++ b/tools/libxl/libxl_x86.c
@@ -0,0 +1,19 @@
+#include "libxl_internal.h"
+#include "libxl_arch.h"
+
+int libxl__arch_domain_create(libxl__gc *gc, libxl_domain_config *d_config,
+        uint32_t domid)
+{
+    int ret = 0;
+    if (d_config->c_info.type == LIBXL_DOMAIN_TYPE_PV &&
+            libxl_defbool_val(d_config->b_info.u.pv.e820_host)) {
+        ret = libxl__e820_alloc(gc, domid, d_config);
+        if (ret) {
+            LIBXL__LOG_ERRNO(gc->owner, LIBXL__LOG_ERROR,
+                    "Failed while collecting E820 with: %d (errno:%d)\n",
+                    ret, errno);
+        }
+    }
+
+    return ret;
+}
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

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