[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] libxl: move hvm_build_set_params to libxl_dom.c
# HG changeset patch # User Ian Campbell <ian.campbell@xxxxxxxxxx> # Date 1283960852 -3600 # Node ID bd331cd1e7040d3f6ce86ae30488da1d771a9108 # Parent d6663c62524a375b3b88daab7df641b1f35df07e libxl: move hvm_build_set_params to libxl_dom.c It is an internal function with only one caller. Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx> Signed-off-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx> --- tools/libxl/Makefile | 2 +- tools/libxl/libxl_dom.c | 42 ++++++++++++++++++++++++++++++++++++++++++ tools/libxl/libxl_internal.h | 6 ------ 3 files changed, 43 insertions(+), 7 deletions(-) diff -r d6663c62524a -r bd331cd1e704 tools/libxl/Makefile --- a/tools/libxl/Makefile Wed Sep 08 16:46:27 2010 +0100 +++ b/tools/libxl/Makefile Wed Sep 08 16:47:32 2010 +0100 @@ -27,7 +27,7 @@ LIBXL_OBJS-y += libxl_noblktap2.o LIBXL_OBJS-y += libxl_noblktap2.o endif -LIBXL_OBJS = flexarray.o libxl.o libxl_pci.o libxl_dom.o libxl_exec.o libxl_xshelp.o libxl_device.o libxl_internal.o xenguest.o libxl_utils.o $(LIBXL_OBJS-y) +LIBXL_OBJS = flexarray.o libxl.o libxl_pci.o libxl_dom.o libxl_exec.o libxl_xshelp.o libxl_device.o libxl_internal.o libxl_utils.o $(LIBXL_OBJS-y) LIBXL_OBJS += _libxl_types.o AUTOINCS= libxlu_cfg_y.h libxlu_cfg_l.h diff -r d6663c62524a -r bd331cd1e704 tools/libxl/libxl_dom.c --- a/tools/libxl/libxl_dom.c Wed Sep 08 16:46:27 2010 +0100 +++ b/tools/libxl/libxl_dom.c Wed Sep 08 16:47:32 2010 +0100 @@ -20,6 +20,7 @@ #include <glob.h> #include <inttypes.h> #include <string.h> +#include <sys/mman.h> #include <sys/time.h> /* for struct timeval */ #include <unistd.h> /* for sleep(2) */ @@ -27,6 +28,8 @@ #include <xc_dom.h> #include <xenguest.h> #include <fcntl.h> + +#include <xen/hvm/hvm_info_table.h> #include "libxl.h" #include "libxl_internal.h" @@ -216,6 +219,45 @@ out: return ret == 0 ? 0 : ERROR_FAIL; } +static int hvm_build_set_params(xc_interface *handle, uint32_t domid, + libxl_domain_build_info *info, + int store_evtchn, unsigned long *store_mfn, + int console_evtchn, unsigned long *console_mfn) +{ + struct hvm_info_table *va_hvm; + uint8_t *va_map, sum; + int i; + + va_map = xc_map_foreign_range(handle, domid, + XC_PAGE_SIZE, PROT_READ | PROT_WRITE, + HVM_INFO_PFN); + if (va_map == NULL) + return -1; + + va_hvm = (struct hvm_info_table *)(va_map + HVM_INFO_OFFSET); + va_hvm->acpi_enabled = info->u.hvm.acpi; + va_hvm->apic_mode = info->u.hvm.apic; + va_hvm->nr_vcpus = info->max_vcpus; + memcpy(va_hvm->vcpu_online, &info->cur_vcpus, sizeof(info->cur_vcpus)); + for (i = 0, sum = 0; i < va_hvm->length; i++) + sum += ((uint8_t *) va_hvm)[i]; + va_hvm->checksum -= sum; + munmap(va_map, XC_PAGE_SIZE); + + xc_get_hvm_param(handle, domid, HVM_PARAM_STORE_PFN, store_mfn); + xc_get_hvm_param(handle, domid, HVM_PARAM_CONSOLE_PFN, console_mfn); + xc_set_hvm_param(handle, domid, HVM_PARAM_PAE_ENABLED, info->u.hvm.pae); +#if defined(__i386__) || defined(__x86_64__) + xc_set_hvm_param(handle, domid, HVM_PARAM_VIRIDIAN, info->u.hvm.viridian); + xc_set_hvm_param(handle, domid, HVM_PARAM_HPET_ENABLED, (unsigned long) info->u.hvm.hpet); +#endif + xc_set_hvm_param(handle, domid, HVM_PARAM_TIMER_MODE, (unsigned long) info->u.hvm.timer_mode); + xc_set_hvm_param(handle, domid, HVM_PARAM_VPT_ALIGN, (unsigned long) info->u.hvm.vpt_align); + xc_set_hvm_param(handle, domid, HVM_PARAM_STORE_EVTCHN, store_evtchn); + xc_set_hvm_param(handle, domid, HVM_PARAM_CONSOLE_EVTCHN, console_evtchn); + return 0; +} + int libxl__build_hvm(libxl_ctx *ctx, uint32_t domid, libxl_domain_build_info *info, libxl_domain_build_state *state) { diff -r d6663c62524a -r bd331cd1e704 tools/libxl/libxl_internal.h --- a/tools/libxl/libxl_internal.h Wed Sep 08 16:46:27 2010 +0100 +++ b/tools/libxl/libxl_internal.h Wed Sep 08 16:47:32 2010 +0100 @@ -180,12 +180,6 @@ _hidden int libxl__wait_for_device_model void *userdata), void *check_callback_userdata); _hidden int libxl__wait_for_backend(libxl_ctx *ctx, char *be_path, char *state); - -/* from xenguest (helper */ -_hidden int hvm_build_set_params(xc_interface *handle, uint32_t domid, - libxl_domain_build_info *info, - int store_evtchn, unsigned long *store_mfn, - int console_evtchn, unsigned long *console_mfn); /* xl_exec */ _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |