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

[Xen-changelog] [xen-unstable] libxl: pass device model info down into HVM domain build functions.



# HG changeset patch
# User Ian Campbell <ian.campbell@xxxxxxxxxx>
# Date 1306257956 -3600
# Node ID fab5ae42dd439a1ed6d7294a0b13dc0729544c1b
# Parent  3cca0eb037664fccafc0fb289632d54ea10918fc
libxl: pass device model info down into HVM domain build functions.

The builder will soon need to know the device model version in order to select
the correct firmware.

Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
Acked-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
Committed-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
---


diff -r 3cca0eb03766 -r fab5ae42dd43 tools/libxl/libxl_create.c
--- a/tools/libxl/libxl_create.c        Tue May 24 18:24:58 2011 +0100
+++ b/tools/libxl/libxl_create.c        Tue May 24 18:25:56 2011 +0100
@@ -144,8 +144,11 @@
     return 0;
 }
 
-int libxl__domain_build(libxl__gc *gc, libxl_domain_build_info *info,
-                        uint32_t domid, libxl__domain_build_state *state)
+int libxl__domain_build(libxl__gc *gc,
+                        libxl_domain_build_info *info,
+                        libxl_device_model_info *dm_info,
+                        uint32_t domid,
+                        libxl__domain_build_state *state)
 {
     char **vments = NULL, **localents = NULL;
     struct timeval start_time;
@@ -158,7 +161,7 @@
     gettimeofday(&start_time, NULL);
 
     if (info->hvm) {
-        ret = libxl__build_hvm(gc, domid, info, state);
+        ret = libxl__build_hvm(gc, domid, info, dm_info, state);
         if (ret)
             goto out;
 
@@ -437,7 +440,7 @@
             free(dm_info->saved_state);
             dm_info->saved_state = NULL;
         }
-        ret = libxl__domain_build(gc, &d_config->b_info, domid, &state);
+        ret = libxl__domain_build(gc, &d_config->b_info, dm_info, domid, 
&state);
     }
 
     if (ret) {
diff -r 3cca0eb03766 -r fab5ae42dd43 tools/libxl/libxl_dm.c
--- a/tools/libxl/libxl_dm.c    Tue May 24 18:24:58 2011 +0100
+++ b/tools/libxl/libxl_dm.c    Tue May 24 18:25:56 2011 +0100
@@ -611,7 +611,7 @@
     ret = libxl__domain_make(gc, &c_info, &domid);
     if (ret)
         goto out_free;
-    ret = libxl__domain_build(gc, &b_info, domid, &state);
+    ret = libxl__domain_build(gc, &b_info, info, domid, &state);
     if (ret)
         goto out_free;
 
diff -r 3cca0eb03766 -r fab5ae42dd43 tools/libxl/libxl_dom.c
--- a/tools/libxl/libxl_dom.c   Tue May 24 18:24:58 2011 +0100
+++ b/tools/libxl/libxl_dom.c   Tue May 24 18:25:56 2011 +0100
@@ -270,7 +270,8 @@
 }
 
 static const char *libxl__domain_firmware(libxl__gc *gc,
-                                           libxl_domain_build_info *info)
+                                          libxl_domain_build_info *info,
+                                          libxl_device_model_info *dm_info)
 {
     return libxl__abs_path(gc,
                            info->u.hvm.firmware ? : "hvmloader",
@@ -278,7 +279,9 @@
 }
 
 int libxl__build_hvm(libxl__gc *gc, uint32_t domid,
-              libxl_domain_build_info *info, libxl__domain_build_state *state)
+              libxl_domain_build_info *info,
+              libxl_device_model_info *dm_info,
+              libxl__domain_build_state *state)
 {
     libxl_ctx *ctx = libxl__gc_owner(gc);
     int ret, rc = ERROR_INVAL;
@@ -289,7 +292,7 @@
         domid,
         (info->max_memkb - info->video_memkb) / 1024,
         (info->target_memkb - info->video_memkb) / 1024,
-        libxl__domain_firmware(gc, info));
+        libxl__domain_firmware(gc, info, dm_info));
     if (ret) {
         LIBXL__LOG_ERRNOVAL(ctx, LIBXL__LOG_ERROR, ret, "hvm building failed");
         goto out;
diff -r 3cca0eb03766 -r fab5ae42dd43 tools/libxl/libxl_internal.h
--- a/tools/libxl/libxl_internal.h      Tue May 24 18:24:58 2011 +0100
+++ b/tools/libxl/libxl_internal.h      Tue May 24 18:25:56 2011 +0100
@@ -186,7 +186,9 @@
 _hidden int libxl__build_pv(libxl__gc *gc, uint32_t domid,
              libxl_domain_build_info *info, libxl__domain_build_state *state);
 _hidden int libxl__build_hvm(libxl__gc *gc, uint32_t domid,
-              libxl_domain_build_info *info, libxl__domain_build_state *state);
+              libxl_domain_build_info *info,
+              libxl_device_model_info *dm_info,
+              libxl__domain_build_state *state);
 
 _hidden int libxl__domain_rename(libxl__gc *gc, uint32_t domid,
                                  const char *old_name, const char *new_name,
@@ -245,7 +247,9 @@
 
 /* from xl_create */
 _hidden int libxl__domain_make(libxl__gc *gc, libxl_domain_create_info *info, 
uint32_t *domid);
-_hidden int libxl__domain_build(libxl__gc *gc, libxl_domain_build_info *info,
+_hidden int libxl__domain_build(libxl__gc *gc,
+                                libxl_domain_build_info *info,
+                                libxl_device_model_info *dm_info,
                                 uint32_t domid,
                                 libxl__domain_build_state *state);
 

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