aboutsummaryrefslogtreecommitdiffstats
path: root/tools/libxc/Makefile
Commit message (Collapse)AuthorAgeFilesLines
...
* libxc: fix link error on ia64Keir Fraser2009-06-041-1/+1
| | | | | | | | | | | | On ia64, xen-unstable 19698:f72d26c00002 cannot be built: ../../tools/libxc/libxenguest.so: undefined reference to `xc_core_arch_map_p2m_writable' ../../tools/libxc/libxenguest.so: undefined reference to `xc_map_m2p' Because xc_offline_page.c requires xc_map_m2p() in xc_domain_save.c, xc_offline_page.c must be compiled only if CONFIG_MIGRATE=3Dy. Signed-off-by: KUWAMURA Shin'ya <kuwa@jp.fujitsu.com>
* Export page offline hypercalls to user space tools.Keir Fraser2009-06-011-0/+1
| | | | Signed-off-by: Jiang, Yunhong <yunhong.jiang@intel.com>
* Transcendent memory ("tmem") for Xen.Keir Fraser2009-05-261-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Tmem, when called from a tmem-capable (paravirtualized) guest, makes use of otherwise unutilized ("fallow") memory to create and manage pools of pages that can be accessed from the guest either as "ephemeral" pages or as "persistent" pages. In either case, the pages are not directly addressible by the guest, only copied to and fro via the tmem interface. Ephemeral pages are a nice place for a guest to put recently evicted clean pages that it might need again; these pages can be reclaimed synchronously by Xen for other guests or other uses. Persistent pages are a nice place for a guest to put "swap" pages to avoid sending them to disk. These pages retain data as long as the guest lives, but count against the guest memory allocation. Tmem pages may optionally be compressed and, in certain cases, can be shared between guests. Tmem also handles concurrency nicely and provides limited QoS settings to combat malicious DoS attempts. Save/restore and live migration support is not yet provided. Tmem is primarily targeted for an x86 64-bit hypervisor. On a 32-bit x86 hypervisor, it has limited functionality and testing due to limitations of the xen heap. Nearly all of tmem is architecture-independent; three routines remain to be ported to ia64 and it should work on that architecture too. It is also structured to be portable to non-Xen environments. Tmem defaults off (for now) and must be enabled with a "tmem" xen boot option (and does nothing unless a tmem-capable guest is running). The "tmem_compress" boot option enables compression which takes about 10x more CPU but approximately doubles the number of pages that can be stored. Tmem can be controlled via several "xm" commands and many interesting tmem statistics can be obtained. A README and internal specification will follow, but lots of useful prose about tmem, as well as Linux patches, can be found at http://oss.oracle.com/projects/tmem . Signed-off-by: Dan Magenheimer <dan.magenheimer@oracle.com>
* libxc: fix link error of xc_save on ia64Keir Fraser2009-03-241-1/+1
| | | | | | | | | | The suspend event channel functions are arch independent code which xc_save uses. The changeset of 19382:a5f497f02e34 cause link error on ia64. This patch moves the functions into arch common file from x86 specific file xc_domain_save.c Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
* bump libxenctrl and libxenguest versionsKeir Fraser2009-01-231-1/+1
| | | | | | | | | | | | | In c/s 19009 an incompatible change was made to the ABI of libelf-*, which are included in libxenctrl and libxenguest. To avoid client programs (such as python/lowlevel/xc/xc.so) picking up a wrong version and perhaps crashing, the soname should be changed. I have chosen the version number 3.4 as xen-unstable is currently the pre-3.4 branch. I assume we don't care about API/ABI stability within an unstable branch. Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
* Use -MMD -MF in tools/* rather than -Wp,-M...Keir Fraser2009-01-121-3/+0
| | | | | | | | | | | | | | | | | | | | | | If you use -MMD -MF then the correct .o filename is written to the .*.d file as the compiler driver arranges everything. This was done in 19010:275abe1c5d24 for the hypervisor. In this patch we do the same elsewhere in the xen-unstable tree, particularly tools/. Specifically: * Change tools/Rules.mk to add -MMD -MF ... to CFLAGS and set DEPS. * Remove -Wp,-MD... from every other Makefile * Remove setting of DEPS from every other Makefile * Ensure that every Makefile says -include $(DEPS) * Ensure that every Makefile's clean target removes $(DEPS) Some Makefiles were already halfway there, but often for a different variable name eg PROG_DEP. The variable name is now standardised in Rules.mk as DEPS. I have done a test build with this change, on Debian etch. Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
* libxc: Wrapper functions for cpu online/offlineKeir Fraser2008-09-221-0/+1
| | | | Signed-off-by: Shan Haitao <haitao.shan@intel.com>
* libxc: Use vpath rather than VPATH, to avoid linking with hypervisor .o files.Keir Fraser2008-06-091-1/+1
| | | | Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* stubdom: complete libxc supportKeir Fraser2008-05-231-8/+0
| | | | Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
* Provide Px statistic data to user through libxcKeir Fraser2008-05-161-0/+1
| | | | | | | | Sampling and collecting dynamic Px statistic data, including Px state value, Px count, Px residency time, Px transition matrix, etc. Provide Px statistic data to user through libxc. Signed-off-by: Liu Jinsong <jinsong.liu@intel.com>
* Remove defunct powerpc port.Keir Fraser2008-05-081-2/+0
| | | | Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* x86, hvm: Guest CPUID configuration.Keir Fraser2008-04-251-0/+1
| | | | | | | | | | | | CPUID's replies are now pre-calculated in libxc and given to the hypervisor via a new domctl. There are two parts to this feature: - We can overwrite cpuid's replies. - We can check that a vm is compatible with a host's processor. Signed-off-by: Jean Guyader <jean.guyader@eu.citrix.com> Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* x86: Support loading Linux bzImage v2.08 and up.Keir Fraser2008-04-011-4/+5
| | | | | | | | | | The latest -mm kernel (2.6.25-rc3-mm1) contains v2.08 of the Linux bzImage format which embeds an ELF file in place of the raw payload allowing it to be extracted and used by the Xen domain builder. It is expected that this functionality will be put forward for 2.6.26. Signed-off-by : Ian Campbell <ijc@hellion.org.uk>
* Make stubdom/Makefile override XEN_OS to MiniOS, and addKeir Fraser2008-02-121-9/+3
| | | | | | | config/MiniOS.mk. Add PTHREAD_LIBS to configs (usually holding -lpthread). Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
* Add stubdomain support. See stubdom/README for usage details.Keir Fraser2008-02-121-2/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | - Move PAGE_SIZE and STACK_SIZE into __PAGE_SIZE and __STACK_SIZE in arch_limits.h so as to permit getting them from there without pulling all the internal Mini-OS defines. - Setup a xen-elf cross-compilation environment in stubdom/cross-root - Add a POSIX layer on top of Mini-OS by linking against the newlib C library and lwIP, and implementing the Unixish part in mini-os/lib/sys.c - Cross-compile zlib and libpci too. - Add an xs.h-compatible layer on top of Mini-OS' xenbus. - Cross-compile libxc with an additional xc_minios.c and a few things disabled. - Cross-compile ioemu with an additional block-vbd, but without sound, tpm and other details. A few hacks are needed: - Align ide and scsi buffers at least on sector size to permit direct transmission to the block backend. While we are at it, just page-align it to possibly save a segment. Also, limit the scsi buffer size because of limitations of the block paravirtualization protocol. - Allocate big tables dynamically rather that letting them go to bss: when Mini-OS gets installed in memory, bss is not lazily allocated, and doing so during Mini-OS is unnecessarily trick while we can simply use malloc. - Had to change the Mini-OS compilation somehow, so as to export Mini-OS compilation flags to the Makefiles of libxc and ioemu. Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
* libxc: Push parallel build of libraries down to a new phony target, asKeir Fraser2008-01-271-2/+5
| | | | | 'build' is already loaded with library dependencies on ia64. Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* libxc: Remove duplicate zlib check.Keir Fraser2008-01-271-10/+1
| | | | | | It is already checked in tools/check/check_zlib. Signed-off-by: Bastian Blank <waldi@debian.org>
* Move generation of public header hierarchy into the tools.Keir Fraser2008-01-261-3/+3
| | | | | | | This patch merges the two versions of public header generation currently used in the build into one. Signed-off-by: Bastian Blank <waldi@debian.org>
* Use VPATH instead of symlinks for libelf inclusion into libxenctrl.Keir Fraser2008-01-261-15/+5
| | | | Signed-off-by: Bastian Blank <waldi@debian.org>
* Add INCLUDEDIR. Use it.Keir Fraser2008-01-221-3/+3
| | | | Signed-off-by: Bastian Blank <waldi@debian.org>
* Apply PREFIX directly to LIBDIR.Keir Fraser2008-01-221-9/+9
| | | | Signed-off-by: Bastian Blank <waldi@debian.org>
* tools: Some fixes for 'make clean'.Keir Fraser2007-12-141-1/+2
| | | | Signed-off-by: Kurt Hackel <kurt.hackel@oracle.com>
* Revert 16560:822d4ec5cfb1.Keir Fraser2007-12-081-2/+2
| | | | | | | | | | | | | Preference seems to be to update library versions only when the ABI changes. Only libxenctrl/libxenguest have their version number changed to 3.2.0, as a reminder that they change on pretty much every major release. libfsimage/libxenstore/libblktap have not changed substantially recently, hence the ABI has not changed, and version number stays the same as in Xen 3.1 (and before). Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* tools: Rationalise library soname versions.Keir Fraser2007-12-071-2/+2
| | | | | | | | | | | | | | | | * Arrange for the sonames of libxenstore, libxc, libfsimage and libblktap to be set from a single place in Config.mk. * Bumps the soname major version number to 3.2 in preparation for 3.2 rc1 after which we do not expect to have ABI changes. I have not done anything about libaio and libflask. The former is imported from elsewhere and if we're lucky will have sane versioning upstream. libflask has a very small interface and I'm hoping that the XSM authors have been keeping some ABI discipline. Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
* libxc: Interface has changed a bit since Xen 3.1, so bump the majorKeir Fraser2007-12-061-1/+1
| | | | | number. Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* tools: Remove bogus external uses of xc_private.h. Clean up libflask.Keir Fraser2007-10-181-1/+2
| | | | Signed-off-by: Keir Fraser <keir@xensource.com>
* libxc: NetBSD-specific pieces.Keir Fraser2007-09-241-0/+1
| | | | Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
* Specify -fno-strict-aliasing in root build config file.Keir Fraser2007-07-071-1/+0
| | | | | | | | Fixes correctness issues with xenstored and gcc-4.2. Original patch by Charles Coffing <ccoffing@novell.com> Signed-off-by: Keir Fraser <keir@xensource.com>
* [HVM] Save/restore: merge xc_linux_save and xc_hvm_saveTim Deegan2007-04-111-2/+2
| | | | | | | | into xc_domain_save, like we did for xc_domain_restore Signed-off-by: Tim Deegan <Tim.Deegan@xensource.com> --HG-- rename : tools/libxc/xc_linux_save.c => tools/libxc/xc_domain_save.c
* [HVM] Save/restore: merge xc_linux_restore and xc_hvm_restoreTim Deegan2007-04-051-2/+2
| | | | | | | | into one function (and one file) since they share a lot of code Signed-off-by: Tim Deegan <Tim.Deegan@øensource.com> --HG-- rename : tools/libxc/xc_linux_restore.c => tools/libxc/xc_domain_restore.c
* Merge with xen-unstable.hg.Hollis Blanchard2007-03-211-1/+1
|\ | | | | | | Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com>
| * [HVM][QEMU] Save/restore: enable HVM live migrationTim Deegan2007-03-161-1/+1
| | | | | | | | | | by getting page-dirtying bitmaps from qemu-dm as well as from xen. Signed-off-by: Tim Deegan <Tim.Deegan@xensource.com>
* | [LIBXC][POWERPC] Use new domain builder.Hollis Blanchard2007-03-211-2/+4
| | | | | | | | Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com>
* | [LIBXC] Move domain builder hooks into arch-specific files and remove ifdefs.Hollis Blanchard2007-03-211-4/+2
| | | | | | | | Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com>
* | [POWERPC][XEN] Fix "xc_core" build break. Untested but might work.Hollis Blanchard2007-03-211-0/+1
|/ | | | Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com>
* Reduce impact of saving/restoring/dumping large domains on Dom0 memoryKeir Fraser2007-02-241-0/+3
| | | | | | | usage by means of fadvise64() to tell the OS to discard the cache pages used for the save/dump file. Signed-off-by: Simon Graham <Simon.Graham@stratus.com>
* Xen coredump format: ELF formatified with note section.Keir Fraser2007-02-241-0/+2
| | | | | | | | | | | | | | | | | | added PFN-GMFN table for non-auto translated physmap added PFN table for auto translated physmap. HVM domain support. IA64 support Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Use the guest's own p2m table instead of xc_get_pfn_list(), which cannot handle PFNs with no MFN. Dump a zeroed page for PFNs with no MFN. Clearly deprecate xc_get_pfn_list(). Do not include a P2M table with HVM domains. Refuse to dump HVM until we can map its pages with PFNs. Signed-off-by: John Levon <john.levon@sun.com>
* Remove old elf-parsing code from tools and from Xen.kfraser@localhost.localdomain2007-02-151-4/+0
| | | | Signed-off-by: Keir Fraser <keir@xensource.com>
* [POWERPC][XEN] Opt out of new libxc domain builder.Hollis Blanchard2007-02-091-7/+0
| | | | | PowerPC needs more flexibility than the new framework allows. Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com>
* libxc domain builder rewrite, linux builderEmmanuel Ackaouy2007-01-251-2/+5
| | | | | | | | | | use new domain builder for the linux (aka generic elf) loader. Signed-off-by: Gerd Hoffmann <kraxel@suse.de> --- tools/libxc/Makefile | 7 +- tools/libxc/xc_dom_compat_linux.c | 124 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 129 insertions(+), 2 deletions(-)
* libxc domain builder rewrite, core bits.Emmanuel Ackaouy2007-01-251-0/+14
| | | | | | | | | | | | | | | Signed-off-by: Gerd Hoffmann <kraxel@suse.de> --- tools/libxc/Makefile | 14 tools/libxc/xc_dom.h | 261 +++++++++++++ tools/libxc/xc_dom_binloader.c | 294 +++++++++++++++ tools/libxc/xc_dom_boot.c | 515 +++++++++++++++++++++++++++ tools/libxc/xc_dom_core.c | 773 +++++++++++++++++++++++++++++++++++++++++ tools/libxc/xc_dom_elfloader.c | 283 +++++++++++++++ tools/libxc/xc_dom_ia64.c | 118 ++++++ tools/libxc/xc_dom_powerpc64.c | 100 +++++ tools/libxc/xc_dom_x86.c | 559 +++++++++++++++++++++++++++++ 9 files changed, 2917 insertions(+)
* libelf: add to libxcEmmanuel Ackaouy2007-01-251-0/+15
| | | | | | | | | | This patch makes libelf available to the tools, by symlinking the source files and compiling them into libxc. Signed-off-by: Gerd Hoffmann <kraxel@suse.de> --- tools/libxc/Makefile | 15 +++++++++++++++ 1 file changed, 15 insertions(+)
* [LIBXC] Refactor xc_domain_resume() into its own source file.kfraser@localhost.localdomain2007-01-191-0/+1
| | | | | | | | | The idea is that this file is where we will have two implementations of 'suspend cancellation': one which the guest is aware of (and is faster) and the other which does more work to avoid requiring guest modifications. Signed-off-by: Keir Fraser <keir@xensource.com>
* [HVM] save restore: frame workTim Deegan2007-01-181-1/+1
| | | | | | Signed-off-by: Zhai Edwin <edwin.zhai@intel.com> frame work for HVM save restore in Control Panel
* [LIBXC] Make strerror() thread-safe by protecting it with a mutex.kfraser@localhost.localdomain2006-12-081-2/+2
| | | | | | Using strerror_r() is made difficult by the different GNU definition, and different distros variously choose the POSIX or GNU prototype. Signed-off-by: Keir Fraser <keir@xensource.com>
* [LIBXC] Add -Wmissing-prototypes to CFLAGS, fix warnings resulting from that.kfraser@localhost.localdomain2006-10-251-1/+1
| | | | Signed-off-by: Gerd Hoffmann <kraxel@suse.de>
* Fix multiple inclusion when building libxenguest.kfraser@localhost.localdomain2006-10-171-1/+1
| | | | Signed-off-by: John Levon <john.levon@sun.com>
* [SOLARIS] Create kernel-interface implementations for libxc and xenstored.kfraser@localhost.localdomain2006-10-171-0/+1
| | | | | | Additionally, on Solaris, tell the kernel when xenstored is running. Signed-off-by: John Levon <john.levon@sun.com>
* [SOLARIS] Don't build ptrace code on Solaris.kfraser@localhost.localdomain2006-10-171-1/+2
| | | | Signed-off-by: Keir Fraser <keir@xensource.com>
* [SOLARIS] On Solaris, GCC is configured to use Sun's LD. Fix the build to usekfraser@localhost.localdomain2006-10-171-2/+2
| | | | | | the correct flags, and link against libsocket where necessary. Signed-off-by: John Levon <john.levon@sun.com>