diff --git a/tools/libxc/include/xenctrl.h b/tools/libxc/include/xenctrl.h index 09a7450519..100b89c2d7 100644 --- a/tools/libxc/include/xenctrl.h +++ b/tools/libxc/include/xenctrl.h @@ -1285,7 +1285,7 @@ int xc_getcpuinfo(xc_interface *xch, int max_cpus, int xc_domain_setmaxmem(xc_interface *xch, uint32_t domid, - unsigned int max_memkb); + uint64_t max_memkb); int xc_domain_set_memmap_limit(xc_interface *xch, uint32_t domid, diff --git a/tools/libxc/xc_domain.c b/tools/libxc/xc_domain.c index a7079a1d1b..38d065fcde 100644 --- a/tools/libxc/xc_domain.c +++ b/tools/libxc/xc_domain.c @@ -635,7 +635,7 @@ int xc_shadow_control(xc_interface *xch, int xc_domain_setmaxmem(xc_interface *xch, uint32_t domid, - unsigned int max_memkb) + uint64_t max_memkb) { DECLARE_DOMCTL; domctl.cmd = XEN_DOMCTL_max_mem; diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c index a6eb2dff66..9cc45b4770 100644 --- a/tools/libxl/libxl.c +++ b/tools/libxl/libxl.c @@ -4726,7 +4726,8 @@ int libxl_set_memory_target(libxl_ctx *ctx, uint32_t domid, { GC_INIT(ctx); int rc = 1, abort_transaction = 0; - uint32_t memorykb = 0, videoram = 0; + uint64_t memorykb; + uint32_t videoram = 0; uint32_t current_target_memkb = 0, new_target_memkb = 0; uint32_t current_max_memkb = 0; char *memmax, *endptr, *videoram_s = NULL, *target = NULL; @@ -4820,7 +4821,7 @@ retry_transaction: rc = xc_domain_setmaxmem(ctx->xch, domid, memorykb); if (rc != 0) { LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, - "xc_domain_setmaxmem domid=%d memkb=%d failed " + "xc_domain_setmaxmem domid=%u memkb=%"PRIu64" failed " "rc=%d\n", domid, memorykb, rc); abort_transaction = 1; goto out;