|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] libxl: introduce a descriminating default value for memkb fields.
# HG changeset patch
# User Ian Campbell <ian.campbell@xxxxxxxxxx>
# Date 1330604774 0
# Node ID 66d0a12239dac983785c0a692f4f1b5f2501cbd2
# Parent 0f0f126f4a99a35a89f6136c74a046ababfd7645
libxl: introduce a descriminating default value for memkb fields.
Consitently make such fields 64 bit values as used by dominfo.
It is not clear if ->video_memkb and/or shadow_memkb shouldn't be part of
->u.hvm but I have not changed that here.
Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
Acked-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
---
diff -r 0f0f126f4a99 -r 66d0a12239da tools/libxl/gentest.py
--- a/tools/libxl/gentest.py Thu Mar 01 12:26:14 2012 +0000
+++ b/tools/libxl/gentest.py Thu Mar 01 12:26:14 2012 +0000
@@ -197,6 +197,7 @@
}
""")
for ty in builtins + types:
+ if isinstance(ty, idl.Number): continue
if ty.typename not in handcoded:
f.write("static void %s_rand_init(%s);\n" % \
(ty.typename,
diff -r 0f0f126f4a99 -r 66d0a12239da tools/libxl/libxl.h
--- a/tools/libxl/libxl.h Thu Mar 01 12:26:14 2012 +0000
+++ b/tools/libxl/libxl.h Thu Mar 01 12:26:14 2012 +0000
@@ -246,6 +246,7 @@
typedef struct libxl__ctx libxl_ctx;
#define LIBXL_TIMER_MODE_DEFAULT -1
+#define LIBXL_MEMKB_DEFAULT ~0ULL
#include "_libxl_types.h"
diff -r 0f0f126f4a99 -r 66d0a12239da tools/libxl/libxl_create.c
--- a/tools/libxl/libxl_create.c Thu Mar 01 12:26:14 2012 +0000
+++ b/tools/libxl/libxl_create.c Thu Mar 01 12:26:14 2012 +0000
@@ -70,19 +70,20 @@
const libxl_domain_create_info *c_info)
{
memset(b_info, '\0', sizeof(*b_info));
- b_info->max_memkb = 32 * 1024;
- b_info->target_memkb = b_info->max_memkb;
b_info->disable_migrate = 0;
b_info->cpuid = NULL;
- b_info->shadow_memkb = 0;
b_info->type = c_info->type;
+ b_info->max_memkb = LIBXL_MEMKB_DEFAULT;
+ b_info->target_memkb = LIBXL_MEMKB_DEFAULT;
+ b_info->shadow_memkb = LIBXL_MEMKB_DEFAULT;
+ b_info->video_memkb = LIBXL_MEMKB_DEFAULT;
+
b_info->device_model_stubdomain = false;
b_info->device_model = NULL;
switch (b_info->type) {
case LIBXL_DOMAIN_TYPE_HVM:
- b_info->video_memkb = 8 * 1024;
b_info->u.hvm.firmware = NULL;
b_info->u.hvm.bios = 0;
b_info->u.hvm.pae = 1;
@@ -133,8 +134,17 @@
libxl_cpumap_set_any(&b_info->cpumap);
}
+ if (b_info->max_memkb == LIBXL_MEMKB_DEFAULT)
+ b_info->max_memkb = 32 * 1024;
+ if (b_info->target_memkb == LIBXL_MEMKB_DEFAULT)
+ b_info->target_memkb = b_info->max_memkb;
+
switch (b_info->type) {
case LIBXL_DOMAIN_TYPE_HVM:
+ if (b_info->shadow_memkb == LIBXL_MEMKB_DEFAULT)
+ b_info->shadow_memkb = 0;
+ if (b_info->video_memkb == LIBXL_MEMKB_DEFAULT)
+ b_info->video_memkb = 8 * 1024;
if (b_info->u.hvm.timer_mode == LIBXL_TIMER_MODE_DEFAULT)
b_info->u.hvm.timer_mode =
LIBXL_TIMER_MODE_NO_DELAY_FOR_MISSED_TICKS;
@@ -153,6 +163,10 @@
break;
case LIBXL_DOMAIN_TYPE_PV:
+ if (b_info->shadow_memkb == LIBXL_MEMKB_DEFAULT)
+ b_info->shadow_memkb = 0;
+ if (b_info->u.pv.slack_memkb == LIBXL_MEMKB_DEFAULT)
+ b_info->u.pv.slack_memkb = 0;
break;
default:
LIBXL__LOG(CTX, LIBXL__LOG_ERROR,
diff -r 0f0f126f4a99 -r 66d0a12239da tools/libxl/libxl_dom.c
--- a/tools/libxl/libxl_dom.c Thu Mar 01 12:26:14 2012 +0000
+++ b/tools/libxl/libxl_dom.c Thu Mar 01 12:26:14 2012 +0000
@@ -129,11 +129,12 @@
ents = libxl__calloc(gc, 12 + (info->max_vcpus * 2) + 2, sizeof(char *));
ents[0] = "memory/static-max";
- ents[1] = libxl__sprintf(gc, "%d", info->max_memkb);
+ ents[1] = libxl__sprintf(gc, "%"PRId64, info->max_memkb);
ents[2] = "memory/target";
- ents[3] = libxl__sprintf(gc, "%d", info->target_memkb - info->video_memkb);
+ ents[3] = libxl__sprintf(gc, "%"PRId64,
+ info->target_memkb - info->video_memkb);
ents[4] = "memory/videoram";
- ents[5] = libxl__sprintf(gc, "%d", info->video_memkb);
+ ents[5] = libxl__sprintf(gc, "%"PRId64, info->video_memkb);
ents[6] = "domid";
ents[7] = libxl__sprintf(gc, "%d", domid);
ents[8] = "store/port";
diff -r 0f0f126f4a99 -r 66d0a12239da tools/libxl/libxl_types.idl
--- a/tools/libxl/libxl_types.idl Thu Mar 01 12:26:14 2012 +0000
+++ b/tools/libxl/libxl_types.idl Thu Mar 01 12:26:14 2012 +0000
@@ -18,6 +18,12 @@
libxl_hwcap = Builtin("hwcap", passby=PASS_BY_REFERENCE)
#
+# Specific integer types
+#
+
+MemKB = UInt(64, init_val = "LIBXL_MEMKB_DEFAULT")
+
+#
# Constants / Enumerations
#
@@ -170,9 +176,9 @@
# Otherwise set to a value guaranteed not to clash with any valid
# LIBXL_SHUTDOWN_REASON_* constant.
("shutdown_reason", libxl_shutdown_reason),
- ("current_memkb", uint64),
- ("shared_memkb", uint64),
- ("max_memkb", uint64),
+ ("current_memkb", MemKB),
+ ("shared_memkb", MemKB),
+ ("max_memkb", MemKB),
("cpu_time", uint64),
("vcpu_max_id", uint32),
("vcpu_online", uint32),
@@ -228,10 +234,10 @@
("cur_vcpus", integer),
("cpumap", libxl_cpumap),
("tsc_mode", libxl_tsc_mode),
- ("max_memkb", uint32),
- ("target_memkb", uint32),
- ("video_memkb", uint32),
- ("shadow_memkb", uint32),
+ ("max_memkb", MemKB),
+ ("target_memkb", MemKB),
+ ("video_memkb", MemKB),
+ ("shadow_memkb", MemKB),
("disable_migrate", bool),
("cpuid", libxl_cpuid_policy_list),
("type", libxl_domain_type),
@@ -286,7 +292,7 @@
("xen_platform_pci", bool),
])),
("pv", Struct(None, [("kernel", libxl_file_reference),
- ("slack_memkb", uint32),
+ ("slack_memkb", MemKB),
("bootloader", string),
("bootloader_args", libxl_string_list),
("cmdline", string),
diff -r 0f0f126f4a99 -r 66d0a12239da tools/libxl/xl_sxp.c
--- a/tools/libxl/xl_sxp.c Thu Mar 01 12:26:14 2012 +0000
+++ b/tools/libxl/xl_sxp.c Thu Mar 01 12:26:14 2012 +0000
@@ -21,6 +21,7 @@
#include "libxl_osdeps.h"
#include <stdlib.h>
+#include <inttypes.h>
#include "libxl.h"
#include "libxl_utils.h"
@@ -68,8 +69,8 @@
printf("\t(build_info)\n");
printf("\t(max_vcpus %d)\n", b_info->max_vcpus);
printf("\t(tsc_mode %s)\n", libxl_tsc_mode_to_string(b_info->tsc_mode));
- printf("\t(max_memkb %d)\n", b_info->max_memkb);
- printf("\t(target_memkb %d)\n", b_info->target_memkb);
+ printf("\t(max_memkb %"PRId64")\n", b_info->max_memkb);
+ printf("\t(target_memkb %"PRId64")\n", b_info->target_memkb);
printf("\t(nomigrate %d)\n", b_info->disable_migrate);
if (c_info->type == LIBXL_DOMAIN_TYPE_PV && b_info->u.pv.bootloader) {
@@ -88,8 +89,8 @@
case LIBXL_DOMAIN_TYPE_HVM:
printf("\t\t(hvm\n");
printf("\t\t\t(firmware %s)\n", b_info->u.hvm.firmware);
- printf("\t\t\t(video_memkb %d)\n", b_info->video_memkb);
- printf("\t\t\t(shadow_memkb %d)\n", b_info->shadow_memkb);
+ printf("\t\t\t(video_memkb %"PRId64")\n", b_info->video_memkb);
+ printf("\t\t\t(shadow_memkb %"PRId64")\n", b_info->shadow_memkb);
printf("\t\t\t(pae %d)\n", b_info->u.hvm.pae);
printf("\t\t\t(apic %d)\n", b_info->u.hvm.apic);
printf("\t\t\t(acpi %d)\n", b_info->u.hvm.acpi);
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |