]> xenbits.xensource.com Git - xen.git/commitdiff
libxl: Pass actual RAM amount to qemu-xen
authorAnthony PERARD <anthony.perard@citrix.com>
Tue, 3 Apr 2012 17:15:11 +0000 (18:15 +0100)
committerAnthony PERARD <anthony.perard@citrix.com>
Tue, 3 Apr 2012 17:15:11 +0000 (18:15 +0100)
QEMU upstream need to kown the amount of RAM given to a guest. This patch give
the correct value.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
tools/libxl/libxl_dm.c

index f1ad4010be23fcef9763224a886729b11fbd44c1..7bf653ac1264f5f8fc5de8d9f9432858d9a3aeab 100644 (file)
@@ -323,6 +323,7 @@ static char ** libxl__build_device_model_args_new(libxl__gc *gc,
     const char *keymap = dm_keymap(guest_config);
     flexarray_t *dm_args;
     int i;
+    uint64_t ram_size;
 
     dm_args = flexarray_make(16, 1);
     if (!dm_args)
@@ -504,11 +505,9 @@ static char ** libxl__build_device_model_args_new(libxl__gc *gc,
         break;
     }
 
-    /* RAM Size */
+    ram_size = libxl__sizekb_to_mb(b_info->max_memkb - b_info->video_memkb);
     flexarray_append(dm_args, "-m");
-    flexarray_append(dm_args,
-                     libxl__sprintf(gc, "%d",
-                                    libxl__sizekb_to_mb(b_info->target_memkb)));
+    flexarray_append(dm_args, libxl__sprintf(gc, "%"PRId64, ram_size));
 
     if (b_info->type == LIBXL_DOMAIN_TYPE_HVM) {
         for (i = 0; i < num_disks; i++) {