aboutsummaryrefslogtreecommitdiffstats
path: root/xen/Rules.mk
Commit message (Collapse)AuthorAgeFilesLines
* ns16550: make usable on ARMIan Campbell2013-09-211-0/+3
| | | | | | | | | | | | | | There are several aspects to this: - Correctly conditionalise use of PCI - Correctly conditionalise use of IO ports - Add discovery via device tree - Support different registers shift/stride and widths - Add vuart hooks. Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Keir Frser <keir@xen.org> Reviewed-by: Jan Beulich <jbeulich@suse.com> Cc: PranavkumarSawargaonkar<pranavkumar@linaro.org>
* EFI: fix tool chain capabilities detectionJan Beulich2013-09-091-5/+4
| | | | | | | | | | | Commit f5a54e92 ("xen: move some arch CFLAGS into the common Rules.mk") transformed CFLAGS assignments to CFLAGS-y ones, which collides with the was xen/arch/x86/efi/Makefile determines whether the tol chain is usable for an EFI build. Transform the block back to using CFLAGS. Signed-off-by: Jan Beulich <jbeulich@suse.com> Reviewed-by: Tim Deegan <tim@xen.org> Acked-by: Keir Fraser <keir@xen.org>
* xen: move -nostdinc into common Rules.mk.Tim Deegan2013-08-151-1/+5
| | | | | | | | | | | | | | | | | Previously we didn't use it at all the on ARM ports or for clang builds. For ARM, I think this is just an oversight. For clang, this used not to work, because '-withprefix include' didn't let us see stdarg.h, but that's fixed in clang v3.0. Also move the '-withprefix include' to beside -nostdinc as it's only needed with -nostdinc anyway. Signed-off-by: Tim Deegan <tim@xen.org> Reviewed-by: Jan Beulich <jbeulich@suse.com> Acked-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Keir Fraser <keir@xen.org>
* xen: move some arch CFLAGS into the common Rules.mk.Tim Deegan2013-08-151-0/+4
| | | | | | | | | | These are the same on all current architectures, so move them into xen/Rules.mk. Lay them out a little more neatly too. Signed-off-by: Tim Deegan <tim@xen.org> Reviewed-by: Jan Beulich <jbeulich@suse.com> Acked-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Keir Fraser <keir@xen.org>
* also allow building .s files from .c onesJan Beulich2013-07-101-0/+3
| | | | | | | | ... along the lines of allowing .i files to be built from .c ones as well as .s from .S (aiding the analysis of occasional build problems). Signed-off-by: Jan Beulich <jbeulich@suse.com> Acked-by: Keir Fraser <keir@xen.org>
* adjust x86 EFI buildJan Beulich2013-07-101-1/+1
| | | | | | | | | | | | While the rule to generate .init.o files from .o ones already correctly included $(extra-y), the setting of the necessary compiler flag didn't have the same. With some yet to be posted patch this resulted in build breakage because of the compiler deciding not to inline a few functions (which then results in .text not being empty as required for these object files). Signed-off-by: Jan Beulich <jbeulich@suse.com> Acked-by: Keir Fraser <keir@xen.org>
* gcov: Adding support for coverage informationFrediano Ziglio2013-02-211-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch introduce coverage support to Xen. Currently it allows to compile Xen with coverage support but there is no way to extract them. The declarations came from Linux source files (as you can see from file headers). The idea is to have some operations mainly - get coverage information size - read coverage information - reset coverage counters Linux use a file system to export these information. The information will be a blob to handle with some tools (as usually tools require a bunch of files but Xen does not handle files at all). I'll pack them to make things simpler as possible. These information cannot be put in a specific section (allowing a safe mapping) as gcc use .rodata, .data, .text and .ctors sections. I added code to handle constructors used in this case to initialize a linked list of files. I excluded %.init.o files as they are used before Xen start and should not have section like .text or .data. I used a "coverage" configuration option to mimic the "debug" one. Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
* xen: arm: introduce arm32 as a subarch of arm.Ian Campbell2012-12-191-1/+1
| | | | | | | | | | | | | | - move 32-bit specific files into subarch specific arm32 subdirectory. - move gic.h to xen/include/asm-arm (it is needed from both subarch and generic code). - make the appropriate build and config file changes to support XEN_TARGET_ARCH=arm32. This prepares us for an eventual 64-bit subarch. Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Committed-by: Ian Campbell <ian.campbell@citrix.com>
* arm: fix build after c/s 25477:e12e0b038219Jan Beulich2012-06-281-0/+1
| | | | | | | | | | | Only x86 currently has a struct vcpu field arch.gdbsx_vcpu_event. But as the whole function domain_pause_for_debugger() is pointless to be compiled when there's no arch support, simply introduce another HAS_* macro, enabled only on x86. Signed-off-by: Jan Beulich <jbeulich@suse.com> Acked-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Keir Fraser <keir@xen.org>
* Revert 24897:f25e5785327e "Export configure variables to hypervisor build"Keir Fraser2012-02-291-1/+0
| | | | Signed-off-by: Keir Fraser <keir@xen.org>
* build: Export configure variables to hypervisor buildDaniel De Graaf2012-02-291-0/+1
| | | | | | | | | | | | Since the introduction of autoconf, builds with XSM enabled in .config have been broken unless FLASK_ENABLE was explicitly set. Since the setting in .config has apparently been deprecated in favor of an autoconf --enable-xsm, add config/Xen.mk to export this to Xen. This also makes --disable-debug and some paths to be pulled from the configure process in the hypervisor build. Signed-off-by: Daniel De Graaf <dgdegra@tycho.nsa.gov> Committed-by: Keir Fraser <keir@xen.org>
* xen: make need_iommu == 0 if !HAS_PASSTHROUGHIan Campbell2012-02-151-0/+1
| | | | | | Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: keir@xen.org Committed-by: Ian Campbell <Ian.Campbell@citrix.com>
* PM: only include XEN_SYSCTL_{get_pmstat,pm_op} if HAVE_ACPIIan Campbell2012-02-151-0/+1
| | | | | | | | | These hypercalls are currently ACPI specific and implemented in xen/drivers/acpi which is not implemented on ARM. Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: keir@xen.org Committed-by: Ian Campbell <Ian.Campbell@citrix.com>
* fix compat header generation after 24503:86b8a1e3a419Jan Beulich2012-01-161-2/+2
| | | | | | | | | At once also remove the duplicate forced inclusion of public/xen-compat.h there (it's already done through cppflags-y) and convert --include to the canonical -include in said c/s' adjustments to CFLAGS-y and AFLAGS-y. Signed-off-by: Jan Beulich <jbeulich@suse.com>
* force inclusion of xen/config.h through compiler optionJan Beulich2012-01-131-2/+2
| | | | | | | | | | | | | As we expect all source files to include the header as the first thing anyway, stop doing this by repeating the inclusion in each and every source file (and in many headers), but rather enforce this uniformly through the compiler command line. As a first cleanup step, remove the explicit inclusion from all common headers. Further cleanup can be done incrementally. Signed-off-by: Jan Beulich <jbeulich@suse.com> Acked-by: Keir Fraser <keir@xen.org>
* x86-64: EFI boot codeJan Beulich2011-06-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Besides introducing the relevant code paralleling parts of what is under xen/arch/x86/boot/, this adjusts the build logic so that with a single compilation two images (gzip-compressed ELF and EFI application) can get created. The EFI part of this depends on a new enough compiler (supposedly gcc 4.4.x and above, but so far only tested to work with 4.5.x) and a properly configured linker (must support the i386pep emulation). If either functionality is found to not be available, the EFI part of the build will simply be skipped. The patch adds all code to allow Xen and the (accordingly enabled) Dom0 kernel to boot, but doesn't allow Dom0 to make use of EFI runtime calls (this will be the subject of the next patch). Parts of the code were lifted from an earlier never published OS project of ours - whether respective license information needs to be added to the respective source file is unclear to me (I was told internally that adding a GPLv2 license header can be done if needed by the community). Open issues (not preventing this from being committed imo): The trampoline allocation and initialization isn't really nice. This is due to the trampoline needing to be placed at a fixed address, and hence making the trampoline relocatable would seem desirable here (as well as for BIOS-based booting, where the trampoline location needed to be adjusted a number of time already in the past, due to it colliding with firmware data). By excluding mem.S, edd.S, and video.S from copied trampoline (i.e. moving up wakeup.S? and making sure none of the symbols are used from EFI code), the effective trampoline size could at least be reduced. Should the mappings of [__XEN_VIRT_START, mbi.mem_upper) and [_end, __XEN_VIRT_START+BOOTSTRAP_MAP_BASE) be destroyed, despite non-EFI code also keeping them? Signed-off-by: Jan Beulich <jbeulich@novell.com>
* xen/lto: if the makefile asks for binary, always build binaryTim Deegan2011-04-071-0/+3
| | | | | | | even if the source is a C file. Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com> Acked-by: Keir Fraser <keir@xen.org>
* Remove unmaintained Access Control Module (ACM) from hypervisor.Keir Fraser2011-03-251-1/+0
| | | | Signed-off-by: Keir Fraser <keir@xen.org>
* Rules.mk: adjustments to the .o -> .init.o build ruleJan Beulich2011-03-181-2/+2
| | | | | | | | | | | | | | | | | | | First, $(shell ...) getting executed before the containing command gets invoked doesn't have the intended effect when the inner command wants variables of the outer command expanded. This needs to be done by the shell executing the entire command. Second, pattern rules for intermediate files with their targets not mentioned explicitly result in them getting deleted. Since the .*.o.d files get generated on the first make run and included for the second, the second run sees them mentioned explicitly and re-builds them (and the final *.init.o files), which is particularly annoying if the second build is actually an install (as root) while normal builds get run as ordinary user: Some of the output files will suddenly be root owned, possibly causing permission issues on a later rebuild. Signed-off-by: Jan Beulich <jbeulich@novell.com> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
* Do not re-define XEN_ROOT in hypervisor sub-Makefiles.Keir Fraser2011-03-171-1/+0
| | | | | | | We can globally export it from xen/Makefile instead, as all hypervisor builds have this Makefile at their root. Signed-off-by: Keir Fraser <keir@xen.org>
* Force out-of-line instances of inline functions into .init.text in init-only ↵Jan Beulich2011-03-141-2/+6
| | | | | | | | | | | | | | code Some compiler versions may choose to not inline certain functions, but the check introduced in c/s 23003:768269c43914 wants .text to be empty. Also make sure an eventual error gets properly propagated even on the first section of an object (.text typically being the first one), and cover a broader set of sections. Signed-off-by: Jan Beulich <jbeulich@novell.com>
* Move more kernel decompression bits to .init.* sectionsJan Beulich2011-03-091-0/+12
| | | | | | | | Based on how c/s 22986:076b63b74cf6 changed xen/libelf/Makefile I suppose this is compatibile with those clang/llvm changes, but I didn't actually test it. Signed-off-by: Jan Beulich <jbeulich@novell.com>
* Tidy makefiles to use CFLAGS-$(foo) idiom instead of ifeq.Tim Deegan2011-03-081-1/+2
| | | | | Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com> Acked-by: Keir Fraser <keir@xen.org>
* xen: add "lto=y" option to build Xen with link-time optimizations.Tim Deegan2011-03-071-3/+36
| | | | | | | | | | | | This involves gathering object files from .asm (which will be binary) and object files from .c (which will be in LTO format) separately until the final link. Only tested for x86_64 Xen builds using Clang/LLVM bitcode; it should be possible to do the same with newer GCCs and GIMPLE. Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com> Acked-by: Keir Fraser <keir@xen.org>
* xen: add "clang=y" option to build Xen with clang/llvm instead of gcc.Tim Deegan2011-03-071-0/+3
| | | | | | | | | Tested with svn snapshot of clang and llvm from 17 February 2011. Only x86_64 hypervisor builds (make dist-xen clang=y) are supported and I haven't even begun to look at cross-compiling. Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com> Acked-by: Keir Fraser <keir@xen.org>
* gdbsx: Always build -- remove build-time config option.Keir Fraser2010-07-021-2/+0
| | | | Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* xen: 'make clean' really cleans unconfigured subdirs.Keir Fraser2010-04-121-1/+1
| | | | | | | Previously we skipped those listed in variable $(subdir-), only including those in the more explicit $(subdir-n). Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* passthrough/stubdom: clean up hypercall privilege checkingKeir Fraser2009-10-231-4/+0
| | | | | | | | | This patch adds securty checks for pci passthrough related hypercalls to enforce that the current domain owns the resources that it is about to remap. It also adds a call to xc_assign_device to xend and removes the PRIVILEGED_STUBDOMS flags. Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
* gdbsx: a gdbserver stub for xen.Keir Fraser2009-10-151-0/+2
| | | | | | | | It should be run on dom0 on gdbsx enabled hypervisor. For details, please see tools/debugger/gdbsx/README Signed-off-by: Mukesh Rathor <mukesh.rathor@oracle.com> Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* Spinlock profiling (enable in build with lock_profile=y)Keir Fraser2009-10-141-4/+3
| | | | | | | Adds new tool xenlockprof to run from dom0. From: Juergen Gross <juergen.gross@ts.fujitsu.com> Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* Add build option to allow more hypercalls from stubdomsKeir Fraser2009-10-141-0/+7
| | | | | | | | Stubdoms need to be able to make all the passthrough related hypercalls on behalf of the guest (for now). Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* txt: perform per-domain (and frametable and xenheap) MAC on entry intoKeir Fraser2009-03-031-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | S3 and verification on resume. The MAC algorithm is called VMAC and was developed by Ted Krovetz and Wei Dai (more details are in the files). It is based on a universal hash function. The universal hash is passed through a pseudo-random function, implemented using AES. More details can be found at http://fastcrypto.org/vmac/. = The AES code comes from the OpenBSD implementation (which is derived from the implementation referenced in VMAC site). As Xen does not have a good source of entropy to generate its own key (for the keyed hash), it uses the key that tboot passes in. Although the code attempts to MAC all of a domain's pages (code/data, VT-d tables) based on its s3_integrity flag, some of a domain's memory may always be MAC'ed, e.g. shadow page tables. Only xenheap pages that are in use are MAC'ed. We believe that the memory MAC'ed by the Xen code and the ranges passed to tboot to MAC cover all of the memory whose integrity needs to be protected on S3. Any suggestions or ranges that we missed are welcome. Signed-off-by: Shane Wang <shane.wang@intel.com> Signed-off-by: Joseph Cihula <joseph.cihula@intel.com>
* xen: Do not assign to CFLAGS/AFLAGS/LDFLAGS with :=.Keir Fraser2009-01-131-11/+7
| | | | | | | | It's not necessary and prevents using rule patterns in these variables. Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com> Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* Fix gcc make-dep cmdline options.Keir Fraser2009-01-081-2/+2
| | | | Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* Auto-build dependency files in hypervisor build tree.Keir Fraser2009-01-081-21/+14
| | | | Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* x86: make NR_IRQS build-time configurableKeir Fraser2008-11-201-0/+3
| | | | | | | | | | While keeping the NR_IRQS default at 256 here, I think it would be a good thing to set it to a higher value to make sure no new mixing of irq and vector spaces slip in. Tested with NR_IRQS forced to 1024. Signed-off-by: Jan Beulich <jbeulich@novell.com>
* Remove defunct powerpc port.Keir Fraser2008-05-081-2/+1
| | | | Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* Hypervisor build subsystem does not need COMPILE_ARCH/COMPILE_SUBARCH.Keir Fraser2008-01-271-4/+0
| | | | Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* -DNDEBUG for hypervisor onlyKeir Fraser2008-01-151-0/+2
| | | | Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
* Fix header dependencies list, broken by c/s 16133.Keir Fraser2007-11-131-1/+1
| | | | Signed-off-by: Jan Beulich <jbeulich@novell.com>
* hvm: Split save.c into arch generic/specific part.Keir Fraser2007-10-181-0/+2
| | | | | | | struct hvm_save_header is arch specific so that arch specific part of hvm_save()/hvm_load() are moved into arch_hvm_save()/acrh_hvm_load() Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
* Add local header files to HDRS.Keir Fraser2007-10-111-1/+2
| | | | | | | Otherwise, changes to such headers do not trigger re-compiles. (Powerpc already had this.) Signed-off-by: Jan Beulich <jbeulich@novell.com>
* Cleanups after XSM checkin.kfraser@localhost.localdomain2007-08-311-5/+3
| | | | | | | | | | | Signed-off-by: Keir Fraser <keir@xensource.com> --HG-- rename : xen/include/public/acm.h => xen/include/public/xsm/acm.h rename : xen/include/public/acm_ops.h => xen/include/public/xsm/acm_ops.h rename : xen/include/acm/acm_core.h => xen/include/xsm/acm/acm_core.h rename : xen/include/acm/acm_endian.h => xen/include/xsm/acm/acm_endian.h rename : xen/include/acm/acm_hooks.h => xen/include/xsm/acm/acm_hooks.h
* Xen Security Modules: ACM.kfraser@localhost.localdomain2007-08-311-2/+1
| | | | Signed-off-by: George Coker <gscoker@alpha.ncsc.mil>
* Xen Security Modules: FLASKkfraser@localhost.localdomain2007-08-311-0/+4
| | | | Signed-off-by: George Coker <gscoker@alpha.ncsc.mil>
* Xen Security Modules: XSMkfraser@localhost.localdomain2007-08-311-0/+2
| | | | Signed-off-by: George Coker <gscoker@alpha.ncsc.mil>
* Add backtrace support to xenoprof.kfraser@localhost.localdomain2007-06-071-13/+19
| | | | | Signed-off-by: Amitabha Roy <amitabha.roy@gmail.com> Reviewed-by: Jose Renato G Santos <joserenato.santos@hp.com>
* .S->.o generation should depend on asm-offsets.hkfraser@localhost.localdomain2007-03-021-4/+4
| | | | | | | | While object files generated from C sources should generally not depend on asm-offsets.h, those generated from assembly sources should. Signed-off-by: Jan Beulich <jbeulich@novell.com>
* Add logic to generate headers reflecting the compatibility mode layoutEmmanuel Ackaouy2007-01-051-0/+1
| | | | | | | | of hypercall arguments. Provide infrastructure for accessing handles passed from compatibility mode guests. Vector those hypercalls not needing any translation to their native implementations. Signed-off-by: Jan Beulich <jbeulich@novell.com>
* [OpenBSD] Various changes to get Xen building on OpenBSD.kfraser@localhost.localdomain2006-10-181-1/+1
| | | | Signed-off-by: Keir Fraser <keir@xensource.com>