46 lines
1.8 KiB
Diff
46 lines
1.8 KiB
Diff
|
# HG changeset patch
|
||
|
# User Ross Philipson <ross.philipson@citrix.com>
|
||
|
# Date 1360935136 0
|
||
|
# Node ID 3124ab7855fd7d4e0f3ea125cb21b60d693e8800
|
||
|
# Parent 71c15ae0998378b5c117bbd27a48015757685706
|
||
|
libxl: switch to using the new xc_hvm_build() libxc API.
|
||
|
|
||
|
Signed-off-by: Ross Philipson <ross.philipson@citrix.com>
|
||
|
Acked-by: Ian Campbell <ian.campbell@citrix.com>
|
||
|
Committed-by: Ian Campbell <ian.campbell@citrix.com>
|
||
|
|
||
|
diff -r 71c15ae09983 -r 3124ab7855fd tools/libxl/libxl_dom.c
|
||
|
--- a/tools/libxl/libxl_dom.c Fri Feb 15 13:32:15 2013 +0000
|
||
|
+++ b/tools/libxl/libxl_dom.c Fri Feb 15 13:32:16 2013 +0000
|
||
|
@@ -542,17 +542,24 @@ int libxl__build_hvm(libxl__gc *gc, uint
|
||
|
libxl__domain_build_state *state)
|
||
|
{
|
||
|
libxl_ctx *ctx = libxl__gc_owner(gc);
|
||
|
+ struct xc_hvm_build_args args = {};
|
||
|
int ret, rc = ERROR_FAIL;
|
||
|
const char *firmware = libxl__domain_firmware(gc, info);
|
||
|
|
||
|
if (!firmware)
|
||
|
goto out;
|
||
|
- ret = xc_hvm_build_target_mem(
|
||
|
- ctx->xch,
|
||
|
- domid,
|
||
|
- (info->max_memkb - info->video_memkb) / 1024,
|
||
|
- (info->target_memkb - info->video_memkb) / 1024,
|
||
|
- firmware);
|
||
|
+
|
||
|
+ memset(&args, 0, sizeof(struct xc_hvm_build_args));
|
||
|
+ /* The params from the configuration file are in Mb, which are then
|
||
|
+ * multiplied by 1 Kb. This was then divided off when calling
|
||
|
+ * the old xc_hvm_build_target_mem() which then turned them to bytes.
|
||
|
+ * Do all this in one step here...
|
||
|
+ */
|
||
|
+ args.mem_size = (uint64_t)(info->max_memkb - info->video_memkb) << 10;
|
||
|
+ args.mem_target = (uint64_t)(info->target_memkb - info->video_memkb) << 10;
|
||
|
+ args.image_file_name = firmware;
|
||
|
+
|
||
|
+ ret = xc_hvm_build(ctx->xch, domid, &args);
|
||
|
if (ret) {
|
||
|
LIBXL__LOG_ERRNOVAL(ctx, LIBXL__LOG_ERROR, ret, "hvm building failed");
|
||
|
goto out;
|