aboutsummaryrefslogtreecommitdiffstats
path: root/xen/arch/x86/Rules.mk
Commit message (Collapse)AuthorAgeFilesLines
* x86: use {rd,wr}{fs,gs}base when availableJan Beulich2013-10-111-0/+1
| | | | | | | | | | | | ... as being intended to be faster than MSR reads/writes. In the case of emulate_privileged_op() also use these in favor of the cached (but possibly stale) addresses from arch.pv_vcpu. This allows entirely removing the code that was the subject of XSA-67. Signed-off-by: Jan Beulich <jbeulich@suse.com> Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com> Acked-by: Keir Fraser <keir@xen.org>
* ns16550: make usable on ARMIan Campbell2013-09-211-0/+1
| | | | | | | | | | | | | | 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>
* VMX: use proper instruction mnemonics if assembler supports themJan Beulich2013-09-091-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | With the hex byte emission we were taking away a good part of flexibility from the compiler, as for simplicity reasons these were built using fixed operands. All half way modern build environments would allow using the mnemonics (but we can't disable the hex variants yet, since the binutils around at the time gcc 4.1 got released didn't support these yet). I didn't convert __vmread() yet because that would, just like for __vmread_safe(), imply converting to a macro so that the output operand can be the caller supplied variable rather than an intermediate one. As that would require touching all invocation points of __vmread() (of which there are quite a few), I'd first like to be certain the approach is acceptable; the main question being whether the now conditional code might be considered to cause future maintenance issues, and the second being that of parameter/argument ordering (here I made __vmread_safe() match __vmwrite(), but one could also take the position that read and write should use the inverse order of one another, in line with the actual instruction operands). Additionally I was quite puzzled to find that all the asm()-s involved here have memory clobbers - what are they needed for? Or can they be dropped at least in some cases? Signed-off-by: Jan Beulich <jbeulich@suse.com> Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com> Reviewed-by: Tim Deegan <tim@xen.org>
* xen: move -nostdinc into common Rules.mk.Tim Deegan2013-08-151-6/+0
| | | | | | | | | | | | | | | | | 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-2/+0
| | | | | | | | | | 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>
* xen: infrastructure to have cross-platform video driversStefano Stabellini2013-01-241-0/+1
| | | | | | | | | | | | | | - introduce a new HAS_VIDEO config variable; - build xen/drivers/video/font* if HAS_VIDEO; - rename vga_puts to video_puts; - rename vga_init to video_init; - rename vga_endboot to video_endboot. Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Acked-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Jan Beulich <jbeulich@suse.com> Acked-by: Keir Fraser <keir@xen.org> Committed-by: Ian Campbell <ian.campbell@citrix.com>
* build: Require GCC 4.1 or later.Keir Fraser2012-09-131-4/+0
| | | | | | | Centralise the version check in Config.mk. Any more strict version requirements can be added to specific subdirs/arches. Signed-off-by: Keir Fraser <keir@xen.org>
* xen: Remove x86_32 build target.Keir Fraser2012-09-121-9/+2
| | | | Signed-off-by: Keir Fraser <keir@xen.org>
* console: add EHCI debug port based serial consoleJan Beulich2012-09-111-0/+1
| | | | | | | | | | | Low level hardware interface pieces adapted from Linux. For setup information, see Linux'es Documentation/x86/earlyprintk.txt and/or http://www.coreboot.org/EHCI_Debug_Port. Signed-off-by: Jan Beulich <jbeulich@suse.com> Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> Acked-by: Keir Fraser <keir@xen.org>
* 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>
* xen/common/Makefile: introduce HAS_{CPUFREQ,PCI,PASSTHROUGH,NS16550,KEXEC}Stefano Stabellini2012-02-091-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | - make the compilation of ns16550.c depend upon HAS_NS16550; - make the compilation of cpufreq depend upon HAS_CPUFREQ; - make the compilation of pci depend upon HAS_PCI; - make the compilation of passthrough depend upon HAS_PASSTHROUGH; - make the compilation of kexec depend upon HAS_KEXEC. Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com> Acked-by: Keir Fraser <keir@xen.org> Committed-by: Ian Campbell <ian.campbell@citrix.com> --- xen/arch/ia64/Rules.mk | 5 +++++ xen/arch/x86/Rules.mk | 5 +++++ xen/common/Makefile | 2 +- xen/common/shutdown.c | 4 ++++ xen/drivers/Makefile | 6 +++--- xen/drivers/char/Makefile | 2 +- xen/drivers/char/console.c | 4 ++++ xen/include/asm-ia64/config.h | 1 + xen/include/asm-x86/config.h | 1 + 9 files changed, 25 insertions(+), 5 deletions(-)
* x86-64: globally use -mno-sseJan Beulich2012-01-121-1/+1
| | | | | | | | This eliminates pointless prologue code from functions having variable argument lists (since that way xmm registers can't possibly be passed). Signed-off-by: Jan Beulich <jbeulich@suse.com> Acked-by: Keir Fraser <keir@xen.org>
* xen/x86: Add -Wnested-externs to CFLAGSTim Deegan2011-05-271-0/+1
| | | | | | | | This will catch any new extern declarations that happen actually inside function bodies. Unfortunately there's no equivalent warning for extern declarations at rootl level in .c files. Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
* Fix make 3.80 incompatibility in 22985:d8ea33e7af7eJan Beulich2011-03-091-3/+2
| | | | | | | | make 3.80 complains about a missing endif if the invocation of cc-ver-check is itself wrapped in a conditional. Steal how the tools deal with that. Signed-off-by: Jan Beulich <jbeulich@novell.com>
* Tidy makefiles to use CFLAGS-$(foo) idiom instead of ifeq.Tim Deegan2011-03-081-4/+2
| | | | | 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/+5
| | | | | | | | | 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>
* x86: Add -Wredundant-decls to Xen build flags.Keir Fraser2010-12-021-1/+1
| | | | | | Fix up the fallout. Signed-off-by: Keir Fraser <keir@xen.org>
* x86: Add -fno-exceptions to list of possibly-supported CFLAGS for embedded ↵Keir Fraser2010-07-251-4/+1
| | | | | | targets. Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* Use unlikely() in BUG_ON()/WARN_ON()Keir Fraser2009-03-311-1/+1
| | | | | | | | | | | | | -fno-reorder-blocks was added in c/s 1712, when x86-64 just started to become enabled. The reason it got added is entirely unclear to me, and it prevents the intended effect of unlikely() constructs (in particular the ones added here) of moving out of line code which is expected to never get executed, as well as using forward branches (which are statically predicted taken by various processors' branch prediction units) preferably to reach infrequently executed code. Signed-off-by: Jan Beulich <jbeulich@novell.com>
* build: Define cc-option-add to immediately add options to CFLAGSKeir Fraser2009-01-131-3/+3
| | | | | | | without deferring the test execution of CC. This avoids extra executions of CC every time CFLAGS is expanded. Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* xen: Do not assign to CFLAGS/AFLAGS/LDFLAGS with :=.Keir Fraser2009-01-131-2/+3
| | | | | | | | 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>
* Auto-build dependency files in hypervisor build tree.Keir Fraser2009-01-081-5/+0
| | | | Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* i386: Remove non-PAE hypervisor build target.Keir Fraser2008-05-081-5/+0
| | | | Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* Move vtd and amd iommu code to arch-generic location.Keir Fraser2008-02-211-1/+3
| | | | Signed-off-by: Weidong Han <weidong.han@intel.com>
* x86 vmx: Remove vmxassist.Keir Fraser2008-02-061-5/+0
| | | | Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* vmx: Disable vmxassist in the default build.Keir Fraser2008-01-221-1/+1
| | | | | | We now use x86 real-mode emulation by default. Select old behaviour (for now) by specifying vmxassist=y at build time. Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* x86, hvm: Config option to allow vmxassist to be disabled.Keir Fraser2007-11-241-0/+5
| | | | | | | | | hvmloader is modified to dynamically detect this, allowing possibility of optional full vmxassist replacement in 3.2 stable branch in future. Currently 'vmxassist=y' is not much use since no replacement is implemented. Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* Header dependency fix.Keir Fraser2007-11-221-0/+1
| | | | Signed-off-by: Jan Beulich <jbeulich@novell.com>
* Specify -fno-strict-aliasing in root build config file.Keir Fraser2007-07-071-1/+1
| | | | | | | | 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>
* In order to allow building as non-root with a non-default CC (whichkfraser@localhost.localdomain2007-03-271-3/+1
| | | | | | | | | root may not have access to through its $PATH), defer the generation of an error until CC is actually needed. Original patch by Jan Beulich <jbeulich@novell.com> Signed-off-by: Keir Fraser <keir@xensource.com>
* Xen and tools now require gcc 3.4+ on x86.Keir Fraser2007-03-171-15/+3
| | | | | | | | | | | | | | | - gcc-3.2 cannot handle some multi-line assertions in the Xen sources. Noone noticed. - gcc-3.3 has problems with alignment constraints inside typedefs. gcc 3.4.0 is now three years old so I hope that everyone has an up-to-date compiler, or can obtain a more up-to-date package for their distribution. If not we may need to fall back to supporting gcc-3.3.x as well. Also clean up the way we do version checks, using the power of awk. Signed-off-by: Keir Fraser <keir@xensource.com>
* [XENOPROFILE] Move code under xen/arch/x86/oprofile to xen/common.kfraser@localhost.localdomain2006-11-221-0/+1
| | | | Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
* [SOLARIS] Don't use -nostdinc as it prevents getting stadrg.hkfraser@localhost.localdomain2006-10-191-1/+6
| | | | Signed-off-by: Keir Fraser <keir@xensource.com>
* Replace test-gcc-flag with Linux-style cc-option.kfraser@localhost.localdomain2006-10-181-15/+15
| | | | | | | Improve on Linux implementation by looking for any output on stdout/stderr. This indicates badness. Signed-off-by: Keir Fraser <keir@xensource.com>
* Clean up linker flag definitions.kfraser@localhost.localdomain2006-10-181-2/+0
| | | | | | | | | | | | | | | | | 1. GNU ld does not understand -m{32,64}. It must be cooked for it by the GCC driver program. 2. Where GNU ld is directly called we must use -melf_{i386,x86_64}. 3. We cannot avoid calling GNU ld directly in some cases (e.g., when specifying GNU-specific linker scripts) as on some host architectures the GCC driver is configured to call the host linker. 4. We cannot add -melf_{i386,x86_64} to LDFLAGS as the option is not recognised by GCC. Hence we define new LDFLAGS_DIRECT, to be added to the command line only when invoking GNU ld directly. Signed-off-by: Keir Fraser <keir@xensource.com>
* Consolidate the preferable use of a pragma with the feature detectionkfraser@localhost.localdomain2006-09-251-1/+1
| | | | | in the make script. Signed-off-by: Jan Beulich <jbeulich@novell.com>
* [XEN] Define -fvisibility=hidden in CFLAGS to reduce -fpic costkaf24@firebug.cl.cam.ac.uk2006-09-131-0/+3
| | | | | when compiling for x86/64. Signed-off-by: Keir Fraser <keir@xensource.com>
* [XEN] vga code cleanups and additions for other architectures.kfraser@localhost.localdomain2006-08-161-0/+1
| | | | | | Based on patches from Hollis Blanchard and Alex Williamson. Signed-off-by: Keir Fraser <keir@xensource.com>
* Clean up HDRS Makefile variable.kaf24@firebug.cl.cam.ac.uk2006-04-051-0/+4
| | | | | | Signed-off-by: Keir Fraser <keir@xensource.com>
* Move arch/x86 to new build system.kaf24@firebug.cl.cam.ac.uk2006-03-191-1/+5
| | | | | | Signed-off-by: Keir Fraser <keir@xensource.com>
* Conditionalize building the Xen ACPI driver.kaf24@firebug.cl.cam.ac.uk2006-03-191-0/+2
| | | | | | | | | Also introduces some cleanups to the Xen build system. Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com> Signed-off-by: Keir Fraser <keir@xensource.com>
* More build config changes:kaf24@firebug.cl.cam.ac.uk2006-03-101-6/+7
| | | | | | | | | | - Build -O2 rather than -O3 - Build with -Wstrict-prototypes - Move target-specific generic compiler switches to Config.mk Signed-off-by: Keir Fraser <keir@xensource.com>
* Move 'debug' build option into the outermost Config.mk file.kaf24@firebug.cl.cam.ac.uk2006-03-091-4/+0
| | | | | | Signed-off-by: Keir Fraser <keir@xensource.com>
* Clean up the usage of CFLAGS. This is nice for packagers, who wouldkaf24@firebug.cl.cam.ac.uk2006-03-091-1/+1
| | | | | | | | like to control the base compilation flags from a central place. Signed-off-by: Charles Coffing <ccoffing@novell.com>
* Add a compile time option to enable domain 0 running in ring 0.kaf24@firebug.cl.cam.ac.uk2006-02-271-0/+4
| | | | | | | | | | | In this mode only a single guest kernel is supported. This mode only works for x86/32 (not x86/64). Signed-off-by: Ian Campbell <Ian.Campbell@XenSource.com> Signed-off-by: Keir Fraser <keir@xensource.com>
* Fix calls to test-gcc-flag, to match previous changeset.emellor@leeni.uk.xensource.com2005-12-141-3/+3
| | | | | Signed-off-by: Ewan Mellor <ewan@xensource.com>
* Better Xen backtraces in debug builds (follow thekaf24@firebug.cl.cam.ac.uk2005-09-011-3/+1
| | | | | | | | stack frame pointer). Signed-off-by: Keir Fraser <keir@xensource.com>
* Force PAE build of Xen by specifying 'pae=y' to make, orkaf24@firebug.cl.cam.ac.uk2005-07-131-0/+9
| | | | | | by setting XEN_TARGET_X86_PAE=y (e.g., in Config.mk). Signed-off-by: Keir Fraser <keir@xensource.com>
* bitkeeper revision 1.1555 (4294b5f0B3iu-SnB9loIMnLXO0loTA)kaf24@firebug.cl.cam.ac.uk2005-05-251-1/+3
| | | | | | | Ported genapic to Xen: support for bigsmp and numa platforms such as es7000. Signed-off-by: Keir Fraser <keir@xensource.com>
* bitkeeper revision 1.1389.10.1 (427fa2d3ZV92f_ErvLuIzWbV1f67QA)kaf24@firebug.cl.cam.ac.uk2005-05-091-2/+2
| | | | | | | Phase 1 of upgrading platform code to be derived from Linux 2.6.11 rather than 2.4.x. Signed-off-by: Keir Fraser <keir@xensource.com>