aboutsummaryrefslogtreecommitdiffstats
path: root/tools/Makefile
Commit message (Collapse)AuthorAgeFilesLines
* tools: remove in tree libaioIan Campbell2013-08-201-6/+0
| | | | | | | | | | | | | | | We have defaulted to using the system libaio for a while now and I din't think there are any relevant distros which don't have it that running Xen 4.4 would be reasonable on. Also it has caused confusion because it is not ever wanted on ARM, but the build system doesn't express that (could be fixed, but deleting is the right thing to do anyway). Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com> Acked-by: Matt Wilson <msw@amazon.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
* tools: build flask-tools and flask policy only if flask enabledVadim A. Misbakh-Soloviov2013-08-021-1/+1
| | | | | Signed-off-by: Vadim A. Misbakh-Soloviov <mva@mva.name> Acked-by: Ian Campbell <ian.campbell@citrix.com>
* install qemu into the location specified via configure --prefix.Egger Christoph2013-04-241-0/+1
| | | | | | | | Install qemu into the location specified via configure --prefix. You will notice when you use something else than /usr/local. Signed-off-by: Christoph Egger <chegger@amazon.de> Acked-by: Ian Campbell <ian.campbell@citrix.com>
* tools: only build blktap1 on x86Ian Campbell2013-04-111-0/+2
| | | | | | | It does not cross-compile for ARM and no sane new port is going to use it. Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
* tools: disable docs for QEMU buildWei Liu2013-02-221-0/+1
| | | | | | | | Texinfo 5 breaks QEMU builds. As we do not need documents from QEMU, just disable it. Signed-off-by: Wei Liu <wei.liu2@citrix.com> Tested-by: jacek burghardt <jaceksburghardt@gmail.com>
* tools: Remove the vtpm process modelMatthew Fioravante2012-11-131-2/+0
| | | | | | | | | Remove the old vtpm process model. It doesn't work very well and is no longer supported. Signed-off-by: Matthew Fioravante <matthew.fioravante@jhuapl.edu> Acked-by: Ian Campbell <ian.campbell@citrix.com> Committed-by: Ian Campbell <ian.campbell@citrix.com>
* tools: remove --disable-pythontools optionIan Campbell2012-08-311-2/+2
| | | | | | | | | | | This incorrectly removes the $(PYTHON) variable which is used at build time as well as by the tools. Remove and revisit for 4.3. Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com> Committed-by: Ian Campbell <ian.campbell@citrix.com>
* uninstall: push tools uninstall down into tools/MakefileIan Campbell2012-08-311-0/+32
| | | | | | | | | | Many of the rules here depend on having run configure and the variables which it defines in config/Tools.mk Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Looks-good: Jan Beulich <JBeulich@suse.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com> Committed-by: Ian Campbell <ian.campbell@citrix.com>
* tools: disable libvchan build on NetBSDRoger Pau Monne2012-06-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | NetBSD doesn't have a gntdev, so libvchan is unable to build due to the lack of the header files gntalloc.h. This is the error: gcc -O1 -fno-omit-frame-pointer -m64 -g -fno-strict-aliasing -std=gnu99 -Wall -Wstrict-prototypes -Wdeclaration-after-statement -D__XEN_TOOLS__ -MMD -MF .init.o.d -fno-optimize-sibling-calls -I../include -I. -I/root/xen/xen-netbsd/tools/libvchan/../../tools/xenstore -I/root/xen/xen-netbsd/tools/libvchan/../../tools/include -I/root/xen/xen-netbsd/tools/libvchan/../../tools/libxc -I/root/xen/xen-netbsd/tools/libvchan/../../tools/include -c -o init.o init.c init.c:45:30: fatal error: xen/sys/gntalloc.h: No such file or directory compilation terminated. gmake[3]: *** [init.opic] Error 1 gmake[3]: *** Waiting for unfinished jobs.... init.c:45:30: fatal error: xen/sys/gntalloc.h: No such file or directory compilation terminated. Signed-off-by: Roger Pau Monne <roger.pau@citrix.com> Acked-by: Christoph Egger <Christoph.Egger@amd.com> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
* tools: do not install qemu if just doing a buildDavid Vrabel2012-06-071-2/+13
| | | | | | Signed-off-by: David Vrabel <david.vrabel@citrix.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
* tools: pass EXTRA_CFLAGS via environmentOlaf Hering2012-06-071-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently qemu-xen will be compiled with CFLAGS only if CFLAGS was already in the environment during make invocation. If CFLAGS is in environment then make will append all of the various flags specified in xen Makefiles to this environment variable, which is then used in qemu configure. Since qemu-xen is not ready for compiler flags like "-std=gnu99" compilation will fail. If CFLAGS is not in environment, then configure will use just its own "-O2 -g" because make does not export its own CFLAGS variable. >From a distro perspective, it is required to build libraries and binaries with certain global cflags (arbitrary gcc options). Up to the point when qemu-xen was imported it worked as expected by exporting CFLAGS before 'make tools'. Now qemu-upstream reuses these CFLAGS, but it cant deal with the result. This patch extends the tools Makefiles so that three new environment variables are recognized: EXTRA_CFLAGS_XEN_TOOLS= specifies CFLAGS for the tools build. EXTRA_CFLAGS_QEMU_TRADITIONAL= specifies CFLAGS for old qemu. EXTRA_CFLAGS_QEMU_XEN= specifies CFLAGS for new qemu. Special care needs to be taken in tools/firmware because the resulting binaries are not linked with the hosts runtime libraries. These binaries run in guest context. To avoid build errors from gcc options like -fstack-protector, reuse existing practice to unset the new EXTRA_CFLAGS_XEN_TOOLS for the firmware dirs. The new feature can be used like this in a rpm xen.spec file: export EXTRA_CFLAGS_XEN_TOOLS="${RPM_OPT_FLAGS}" export EXTRA_CFLAGS_QEMU_TRADITIONAL="${RPM_OPT_FLAGS}" export EXTRA_CFLAGS_QEMU_XEN="${RPM_OPT_FLAGS}" ./configure \ --libdir=%{_libdir} \ --prefix=/usr make Acked-by: Ian Jackson <ian.jackson@eu.citrix.com> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
* nstore: rename public xenstore headersIan Campbell2012-05-141-1/+2
| | | | | | | | | | | | | | | | | | | | | | The xenstore header xs.h is producing conflicts with other software[1]. xs is a too short identifier and does not matche the library. Renaming the headers to xenstore.h and xenstore_lib.h is the easiest way to make them easy recognizable and prevent furthe problems. [1]: http://bugs.debian.org/668550 [ Also update QEMU_TAG, to bring in corresponding change to qemu-xen-traditional. -iwj ] Signed-off-by: Bastian Blank <waldi@debian.org> Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com> --HG-- rename : tools/xenstore/xs.h => tools/xenstore/xenstore.h rename : tools/xenstore/xs_lib.h => tools/xenstore/xenstore_lib.h
* tools: specify datadir for qemu-xen build to fix firmware loadingOlaf Hering2012-04-031-0/+1
| | | | | | | | | | | qemu-xen does currently not find the firmware files, such as vgabios-cirrus.bin. The reason is that qemu-xen uses the default prefix /usr/local. Use SHAREDIR/qemu-xen as directory so that it can coexist with qemu-traditional which is installed in SHAREDIR/xen/qemu. Signed-off-by: Olaf Hering <olaf@aepfle.de> Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
* tools: Add explicit clean rule for SeaBIOSIan Campbell2012-03-141-2/+0
| | | | | | | | | | | | | Since seabios-dir is cloned during build we need to check that it exists before recursing into it for clean, following the pattern used for qemu-*-dir etc. Also remove usage of "buildmakevars2shellvars" except when used to poopulate the environment for qemu-xen-traditional's xen-setup script, which is the only user. Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
* build: add autoconf to replace custom checks in tools/checkIan Jackson2012-02-221-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added autotools magic to replace custom check scripts. The previous checks have been ported to autoconf, and some additional ones have been added (plus the suggestions from running autoscan). Two files are created as a result from executing configure script, config/Tools.mk and config.h. conf/Tools.mk is included by tools/Rules.mk, and contains most of the options previously defined in .config, that can now be set passing parameters or defining environment variables when executing configure script. config.h is only used by libxl/xl to detect yajl_version.h. [ tools/config.sub and config.guess copied from autotools-dev 20100122.1 from Debian squeeze i386, which is GPLv2. tools/configure generated using the included ./autogen.sh which ran autoconf 2.67-2 from Debian squeeze i386. autoconf is GPLv3+ but has a special exception for the autoconf output; this exception applies to us and exempts us from complying with GPLv3+ for configure, which is good as Xen is GPL2 only. - Ian Jackson ] Signed-off-by: Roger Pau Monne <roger.pau@entel.upc.edu> Tested-by: Ian Jackson <ian.jackson@eu.citrix.com> Committed-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
* tools: make qemu build use correct PYTHON versionChristoph Egger2012-02-131-0/+1
| | | | | | | | | | Pass --python=$(PYTHON) to qemu's configure. Fixes error: Python not found. Use --python=/path/to/python Signed-off-by: Christoph Egger <Christoph.Egger@amd.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
* Tools: build testsAndres Lagar-Cavilla2012-02-061-0/+1
| | | | | | | | | | | | | Build tests as part of the tools build. It is enabled with CONFIG_TESTS in Config.mk Currently disabled build of tests/regressions and tests/xen-access (in 32-bit mode) as they fail. Signed-off-by: Andres Lagar-Cavilla <andres@lagarcavilla.org> Acked-by: Ian Campbell <ian.campbell@citrix.com> Committed-by: Keir Fraser <keir@xen.org>
* Clone and build upstream Qemu by default2012-01-241-0/+44
| | | | | | | From: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Committed-by: Ian Jackson <ian.jackson.citrix.com>
* move the call to xen-setup after libxc and xenstore are built2012-01-241-4/+5
| | | | | | | | | | | From: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Move the call to xen-setup, the wrapper script to configure qemu-xen-traditional, right before building qemu-xen-traditional and after libxc and xenstore are already built. Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Committed-by: Ian Jackson <ian.jackson.citrix.com>
* Rename ioemu-dir as qemu-xen-traditional-dir2012-01-241-13/+13
| | | | | | | From: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Committed-by: Ian Jackson <ian.jackson.citrix.com>
* Introduce git-checkout.sh2012-01-241-16/+4
| | | | | | | | | | From: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Introduce a script to perform git checkout on an external git tree; use git-checkout.sh in ioemu-dir-find. Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Committed-by: Ian Jackson <ian.jackson.citrix.com>
* 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>