aboutsummaryrefslogtreecommitdiffstats
path: root/tools/Makefile
Commit message (Collapse)AuthorAgeFilesLines
* tools: use system installed libaio by default.Ian Campbell2011-11-221-2/+6
| | | | | | | | | | | | | | | | | | | | I could have sworn I did this years ago. IIRC the need for our own copy was due to the use of io_set_eventfd which is not present in version 0.3.106. However it is in 0.3.107 the first version of which was uploaded to Debian in June 2008 (I can't find a better reference for the release date). The necessary version is available in Debian Lenny onwards and is in at least RHEL 6, Fedora 13 and OpenSuSE 11.3. The necessary version appears to not be available in RHEL 5 or SLES 11 which is why I haven't simply nuked the in tree version. This is based on tools-system-libaio.diff from the Debian packaging although I have made it optional (but default on). Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
* libvchan: interdomain communications libraryDaniel De Graaf2011-10-061-0/+1
| | | | | | | | | | | | | | | | | | | | | This library implements a bidirectional communication interface between applications in different domains, similar to unix sockets. Data can be sent using the byte-oriented libvchan_read/libvchan_write or the packet-oriented libvchan_recv/libvchan_send. Channel setup is done using a client-server model; domain IDs and a port number must be negotiated prior to initialization. The server allocates memory for the shared pages and determines the sizes of the communication rings (which may span multiple pages, although the default places rings and control within a single page). With properly sized rings, testing has shown that this interface provides speed comparable to pipes within a single Linux domain; it is significantly faster than network-based communication. Signed-off-by: Daniel De Graaf <dgdegra@tycho.nsa.gov> Acked-by: Ian Campbell <ian.campbell@citrix.com> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
* tools: Revert seabios and upstream qemu build changesIan Jackson2011-09-141-25/+39
| | | | | | | | | | | | | | | These have broken the build and it seems to be difficult to fix. So we will revert the whole lot for now, and await corrected patch(es). Revert "fix the build when CONFIG_QEMU is specified by the user" Revert "tools: fix permissions of git-checkout.sh" Revert "scripts/git-checkout.sh: Is not bash specific. Invoke with /bin/sh." Revert "Clone and build Seabios by default" Revert "Clone and build upstream Qemu by default" Revert "Rename ioemu-dir as qemu-xen-traditional-dir" Revert "Move the ioemu-dir-find shell script to an external file" Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
* Clone and build upstream Qemu by defaultStefano Stabellini2011-09-131-0/+13
| | | | Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
* Rename ioemu-dir as qemu-xen-traditional-dirStefano Stabellini2011-09-131-11/+11
| | | | Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
* Move the ioemu-dir-find shell script to an external fileStefano Stabellini2011-09-131-31/+4
| | | | | | | Add support for configuring upstream qemu and rename ioemu-remote ioemu-dir-remote. Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
* Remove unmaintained Access Control Module (ACM) from hypervisor.Keir Fraser2011-03-251-1/+0
| | | | Signed-off-by: Keir Fraser <keir@xen.org>
* build: Make XEN_ROOT an absolute path.Keir Fraser2011-03-171-3/+1
| | | | | | | | Otherwise make can search the path relative to certain standard paths such as /usr/include (e.g., the line '-include $(XEN_ROOT)/.config' in Config.mk suffers from this). Signed-off-by: Keir Fraser <keir@xen.org>
* tools: remove fs-front/fs-backTim Deegan2011-01-111-2/+0
| | | | | | | | | | | | | | | | Its access controls are really not OK. In particular, it's not good for libxl, which stores per-VM config blobs in a directory that is exported to all VMs. This will break stub-qemu save/restore, which is the only user of fs-front that I'm aware of, but: - It's currently broken anyway (fs-back isn't run by default and crashes if it is run manually); and - Stefano has a plan to plumb qemu save records through a dedicated console channel instead. Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
* tools: fetch remote changesets when force refetching/resetting qemuIan Campbell2010-11-231-0/+1
| | | | | | | | | This makes "make tools/ioemu-dir-force-update" usable for picking up an entirely new QEMU_TAG. Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
* Reapply 61c0c52a8c6c "qemu-xen: build adjustments"Ian Jackson2010-11-231-11/+6
| | | | | | | | The changeset qemu-xen: build adjustments to support out-of-tree builds works after all. Sorry for the noise. Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
* Revert 61c0c52a8c6c "qemu-xen: build adjustments"Ian Jackson2010-11-231-6/+11
| | | | | | | | It appears that the changeset qemu-xen: build adjustments to support out-of-tree builds broke the build. Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
* qemu-xen: build adjustments to support out-of-tree buildsJan Beulich2010-11-231-11/+6
| | | | | | | | | | | | | | | | QEMU by itself can be built outside of its source directory. With the qemu repository being separate from the hypervisor/tools one it seems to make sense to make use of this feature, but doing so requires a couple of adjustments to the Xen changes to it. Basically, if CONFIG_QEMU is found to indicate an existing directory, this directory will be used rather than cloning the git repo into the build tree. [ This changeset is the xen-unstable part of the patch but also includes the QEMU_TAG update to pull in the qemu part. -iwj ] Signed-off-by: Jan Beulich <jbeulich@novell.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
* tools: provide explicit target for refetching/resetting qemuIan Campbell2010-11-091-0/+8
| | | | | | | | | | | | | This patch adds an explicit update mechanism: make tools/ioemu-dir-force-update This isn't brilliant but is better than doing "cd tools/ioemu-remote && git reset --hard <sha1...>" by hand. Note that invoking this target will destroy all working tree changes made to qemu-xen. Acked-by: Ian Jackson <ian.jackson@eu.citrix.com> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
* tools: Makefile: delete qemu during make distcleanGianni Tedesco2010-10-281-0/+6
| | | | | | | | The top-level makefile claims this to be the expected behaviour so make it so. Signed-off-by: Gianni Tedesco <gianni.tedesco@citrix.com> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
* "kdd" Windows debugger stub.Tim Deegan2010-10-261-0/+11
| | | | | | | | | | | | kdd runs in dom0, attaches to a domain and speaks the Windows kd serial protocol over a TCP connection (which should go to kd or windbg, e.g. by having another VM with its virtual COM1 set up as a TCP listener). It doesn't do breakpoints &c yet, and windbg can get quite confused since the kernel debugger's not actually running, but it's good enough to extract backtraces from wedged VMs. Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
* gdbsx: Implement missing Makefile rules.Keir Fraser2010-07-201-2/+5
| | | | Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* tools: Update distclean target to remove auto-gen'ed tarballs.Keir Fraser2010-07-201-2/+8
| | | | Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* tools/debugger/gdbsx: enabled by only x86Ian Jackson2010-07-131-1/+1
| | | | | | | The changeset 21752:29e545151078 breaks ia64, since gdbsx supports only x86. Signed-off-by: KUWAMURA Shin'ya <kuwa@jp.fujitsu.com>
* tools/debugger/gdbsx: build enabled by defaultIan Jackson2010-07-081-0/+7
| | | | | Submitted-by: Bruce Edge <bruce.edge@gmail.com> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
* ocaml: Build ocaml components if configured (default to off).Keir Fraser2010-05-061-0/+1
| | | | Signed-off-by: Vincent Hanquez <vincent.hanquez@eu.citrix.com>
* ocaml: remove hook to external repository.Keir Fraser2010-05-061-21/+0
| | | | Signed-off-by: Vincent Hanquez <vincent.hanquez@eu.citrix.com>
* tools: Do not append trailing slash to XEN_ROOT in MakefilesKeir Fraser2010-02-041-1/+1
| | | | Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* memshr: Must be built on ia64 as well as x86, as blktap depends on it.Keir Fraser2009-12-281-3/+2
| | | | Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* memshr: Build fixesKeir Fraser2009-12-281-2/+3
| | | | | | | | * Build memshr/xenpaging on x86/Linux only * Remove dependency on GCC 4.1+ __sync_*() intrinsics. Signed-off-by: Keir Fraser <keir.fraser@citrix.com> Signed-off-by: KUWAMURA Shin'ya <kuwa@jp.fujitsu.com>
* netbsd: Build fix (do not build memshr).Keir Fraser2009-12-181-1/+0
| | | | Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* Generic bi-directional map, and related initialisation functions. At the momentKeir Fraser2009-12-171-0/+2
| | | | | | | | | | | | | a single map is used to store mappings between sharing handles and disk blocks. This is used to share pages which store data read of the same blocks on (virtual) disk. Note that the map is stored in a shared memory region, as it needs to be accessed by multiple tapdisk processes. This complicates memory allocation (malloc cannot be used), prevents poniters to be stored directly (as the shared memory region might and is mapped at different base address) and finally pthread locks need to be multi-process aware. Signed-off-by: Grzegorz Milos <Grzegorz.Milos@citrix.com>
* User-land tool for memory paging.Keir Fraser2009-12-171-0/+1
| | | | | | | | | | | | | This tool will page out the specified number of pages from the specified domain. When a paged out page is accessed, Xen will issue a request and notify the tool over an event channel. The tool will process ther request, page the page in, and notify Xen. The current (default) policy tracks the 1024 most recently paged in pages and will not choose to evict any of those. This is done with the assumption that if a page is accessed, it is likely to be accessed again soon. Signed-off-by: Patrick Colp <Patrick.Colp@citrix.com>
* Remus: add control script to activate remus on a VMKeir Fraser2009-11-131-0/+1
| | | | Signed-off-by: Brendan Cully <brendan@cs.ubc.ca>
* libxenlight: initial libxenlight implementation under tools/libxlKeir Fraser2009-11-091-0/+1
| | | | | Signed-off-by: Vincent Hanquez <Vincent.Hanquez@eu.citrix.com> Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
* tools: xenbackendd for NetBSDKeir Fraser2009-07-221-0/+1
| | | | | | | | | | | | | | | | Attached patch introduces xenbackendd. It is used on NetBSD to launch the hotplug scripts. Later xenbackendd can be improved to also launch qemu-dm as child process and will notice when qemu-dm crashes. The changes the patch makes: - rename hotplug scripts as xenbackendd expects them (current names were taken from pkgsrc) - install hotplug scripts as executable scripts - introduce xenbackendd - build/install/launch on NetBSD only Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
* Get rid of hardcoded pathes for stubdom and hotplug scriptsKeir Fraser2009-06-231-4/+2
| | | | | | | | | | | | | | | | | | - Have the buid system generate a file which exports the install paths for the hotplug scripts and stubdom / stubdom-dm - Move file generation code from tools/python/Makefile into a gmake macro in Config.mk to avoid maintenance of three duplicates each with its own tweaks and bugs - Export gmake variables into ioemu as shell variables for upcoming ioemu patches - Do above as a gmake macro to avoid maintenance of several duplicates - Adjust hotplug scripts to find the right xen binaries from the install directory - Adjust stubdom-dm to use the install directories Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
* blktap2: portability fixes for NetBSDKeir Fraser2009-06-231-0/+3
| | | | | | | | | | | | | - Use standard off_t and lseek() instead of non-portable off64_t and lseek64() - Use uuid API as documented in DCE 1.1 RPC specification - Add NetBSD implementation for blk_getimagesize() and blk_getsectorsize() - Use blk_getimagesize() and blk_getsectorsize() - Fix uuid header check Signed-off-by: Christoph Egger <Christoph.Egger@amd.com> Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* blktap2: a completely rewritten blktap implementationKeir Fraser2009-05-261-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Benefits to blktap2 over the old version of blktap: * Isolation from xenstore - Blktap devices are now created directly on the linux dom0 command line, rather than being spawned in response to XenStore events. This is handy for debugging, makes blktap generally easier to work with, and is a step toward a generic user-level block device implementation that is not Xen-specific. * Improved tapdisk infrastructure: simpler request forwarding, new request scheduler, request merging, more efficient use of AIO. * Improved tapdisk error handling and memory management. No allocations on the block data path, IO retry logic to protect guests transient block device failures. This has been tested and is known to work on weird environments such as NFS soft mounts. * Pause and snapshot of live virtual disks (see xmsnap script). * VHD support. The VHD code in this release has been rigorously tested, and represents a very mature implementation of the VHD image format. * No more duplication of mechanism with blkback. The blktap kernel module has changed dramatically from the original blktap. Blkback is now always used to talk to Xen guests, blktap just presents a Linux gendisk that blkback can export. This is done while preserving the zero-copy data path from domU to physical device. These patches deprecate the old blktap code, which can hopefully be removed from the tree completely at some point in the future. Signed-off-by: Jake Wires <jake.wires@citrix.com> Signed-off-by: Dutch Meyer <dmeyer@cs.ubc.ca>
* tools: get rid of hardcoded config dirsKeir Fraser2009-05-201-0/+2
| | | | | | | | | Remove *all* hardcoded "/etc/xen" strings in python code. Additionally, it removes pygrub_path from osdep.py. Its use has been replaced with auxbin.pathTo("pygrub"). Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
* ocaml-xenstored: Allow to build ocaml xenstored instead of C versionKeir Fraser2009-05-191-0/+22
| | | | | | | | To use, set CONFIG_OCAML_XENSTORED=y at build time. Then the build system will automatically download the remote repo to tools/ocaml-xenstored. Signed-off-by: Alex Zeffertt <alex.zeffertt@eu.citrix.com>
* ioemu: Export PREFIX variable to ioemu build environment.Keir Fraser2009-05-191-0/+2
| | | | Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
* tools: Make some code compile only on LinuxKeir Fraser2009-03-121-3/+3
| | | | Signed-off-by: John Levon <john.levon@sun.com>
* tools/hotplug: Separate OS-specific scripts.Keir Fraser2008-11-041-0/+1
| | | | | Signed-off-by: Christoph Egger <Christoph.Egger@amd.com> Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* Xen power management daemon patch.Keir Fraser2008-10-231-0/+1
| | | | Signed-off-by: Kamala Narasimhan <kamala.narasimhan@citrix.com>
* Remove internal tools/ioemu tree.Keir Fraser2008-09-181-5/+0
| | | | Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* $(XEN_ROOT) absolutification fixes for ioemu-remote (incl stubdom)Keir Fraser2008-09-121-6/+3
| | | | | | | | | | | | | | | | * Move code for generating an absolute version of XEN_ROOT into a common make variable set in Config.mk * Use this common code when invoking make -C ioemu-dir clean from tools/, which avoids a problem where `make clean' fails because qemu's (ioemu-remote's) build system wants to run `make clean' in `tests' but XEN_ROOT is a confection involving ../'s. * Use this common code in stubdom/Makefile, instead of $(abspath...) as the latter is a relatively new feature in GNU make and is not available in all the places that we want to be able to build (cf c/s 17997:3f23e01d31985899dbd1660b166f229f1ee74292) Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
* Run cross-compilation-aware install wrapper script.Keir Fraser2008-08-291-2/+1
| | | | Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* tools build: add cross-install to find the right "strip"Keir Fraser2008-08-111-2/+5
| | | | Signed-off-by: Aron Griffis <aron@hp.com>
* pass IOEMU_CONFIGURE_CROSS to ioemu-remote/xen-setupKeir Fraser2008-07-311-2/+3
| | | | | | | | | Add --cpu to IOEMU_CONFIGURE_CROSS since otherwise qemu uses the output of `uname -m` even for cross-building. Pass IOEMU_CONFIGURE_CROSS to xen-setup which passes it on to ioemu/configure. Signed-off-by: Aron Griffis <aron@hp.com>
* Support using a specific branch or tag of ioemu-remoteKeir Fraser2008-07-251-0/+6
| | | | | | | With this patch you can set QEMU_TAG to check out a specific version. When we set it, QEMU_TAG ought to be in Config.mk, I think. Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
* tools: use $(PREFIX) rather than hard-coding /usrKeir Fraser2008-07-241-2/+2
| | | | Signed-off-by: Jan Beulich <jbeulich@novell.com>
* fs-back: enable build by defaultKeir Fraser2008-07-181-0/+1
| | | | Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
* Revert dependency on new GNUMake feature.Keir Fraser2008-07-091-1/+8
| | | | Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* Improve plumbing for calling external qemu buildsKeir Fraser2008-07-081-8/+7
| | | | | | | | | | | * Remove ioemu-dir before replacing it with a symlink so that switching between trees doesn't go wrong. * Remove case-based arrangement for making XEN_ROOT absolute and replace with $(abspath ...) since we depend on GNU make anyway. * `make clean' recurses into ioemu-dir Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>