aboutsummaryrefslogtreecommitdiffstats
path: root/xen/arch/x86/Makefile
Commit message (Collapse)AuthorAgeFilesLines
* x86: Fix efi directory cleanupDaniel Kiper2013-05-071-2/+2
| | | | | | | | clean target is never called from xen/arch/x86/efi/Makefile. Move all needed stuff to xen/arch/x86/Makefile and additionally remove efi.lds. Signed-off-by: Daniel Kiper <daniel.kiper@oracle.com>
* x86: re-introduce map_domain_page() et alJan Beulich2013-01-231-0/+1
| | | | | | | | | | | | | | | | | | This is being done mostly in the form previously used on x86-32, utilizing the second L3 page table slot within the per-domain mapping area for those mappings. It remains to be determined whether that concept is really suitable, or whether instead re-implementing at least the non-global variant from scratch would be better. Also add the helpers {clear,copy}_domain_page() as well as initial uses of them. One question is whether, to exercise the non-trivial code paths, we shouldn't make the trivial shortcuts conditional upon NDEBUG being defined. See the debugging patch at the end of the series. Signed-off-by: Jan Beulich <jbeulich@suse.com> Acked-by: Keir Fraser <keir@xen.org>
* xen: Remove x86_32 build target.Keir Fraser2012-09-121-1/+0
| | | | Signed-off-by: Keir Fraser <keir@xen.org>
* cleanup: Remove dependency files in efi directory during a make cleanGeorge Dunlap2012-02-231-1/+1
| | | | | Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com> Committed-by: Keir Fraser <keir@xen.org>
* x86: consolidate microcode loading codeJan Beulich2011-12-011-1/+2
| | | | | | | | | | | | | | | | | | | | | | - memory was leaked on a CPU offline/online cycle (including S3) - memory was leaked on AMD systems when microcode_update() ran a 2nd time with the same data that was used on the first run - microcode never got restored on APs during S3 resume (or post-boot onlining of a CPU that was also online when microcode_update() first ran [in the event the prior microcode update got lost intermediately, which supposedly shouldn't happen]); this will still be the case when no other online CPU has an identical signature (which however is now consistent with bringing up such a CPU the very first time) - resume was unimplemented in the AMD case - there was a race between microcode_update_cpu() and microcode_resume_cpu() This also moves vendor specific type declarations to the vendor source file and sets the stage for boot time microcode loading (i.e. without Dom0 involvement). Signed-off-by: Jan Beulich <jbeulich@suse.com> Acked-by: Keir Fraser <keir@xen.org>
* x86-64: EFI boot codeJan Beulich2011-06-281-4/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* x86/fpu: extract extended related code into xstate.h and xstate.cWei Huang2011-05-091-0/+1
| | | | | | | | | | Current extended code is mixing with FPU code in i387.c. As part of FPU code cleanup, this patch moves all extended state code into independent files. Not much semantic are changed and most function names are kept untouched, except for xsave() and xsaveopt(). These two functions are combined into a single function. Signed-off-by: Wei Huang <wei.huang2@amd.com>
* move various bits into .init.* sectionsJan Beulich2011-03-091-2/+2
| | | | | | | | | | This also includes the removal of some entirely unused functions. The patch builds upon the makefile adjustments done in the earlier sent patch titled "move more kernel decompression bits to .init.* sections". Signed-off-by: Jan Beulich <jbeulich@novell.com>
* Move more kernel decompression bits to .init.* sectionsJan Beulich2011-03-091-1/+1
| | | | | | | | 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>
* xen: add "lto=y" option to build Xen with link-time optimizations.Tim Deegan2011-03-071-7/+21
| | | | | | | | | | | | 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>
* gdbsx: Always build -- remove build-time config option.Keir Fraser2010-07-021-1/+1
| | | | Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* x86: Dynamically allocate percpu data area when a CPU comes online.Keir Fraser2010-05-181-0/+1
| | | | | | At the same time, the data area starts life zeroed. Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* gdbsx: a gdbserver stub for xen.Keir Fraser2009-10-151-0/+1
| | | | | | | | 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>
* x86: Fix arch/x86/xen.lds dependencies.Keir Fraser2009-08-191-0/+2
| | | | | | gcc can get the dependency target name wrong (appends .o). Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* x86: merge final linking scriptsKeir Fraser2009-07-131-1/+1
| | | | | | | | | | | | | While unrelated to the previous four patches, I realized that the two scripts are nearly identical when coding those earlier patches, and this patch depends on them in order to apply cleanly. As an extra measure, it also adjusts the (unused) space freed at the end of the per-CPU area to include all alignment space needed before the first actual constituent of the .bss section (up to 7 pages on x86-64). Signed-off-by: Jan Beulich <jbeulich@novell.com>
* x86: Relocate Multiboot structures where we know they will beKeir Fraser2009-02-031-0/+1
| | | | | | | | | | | | | | | accessible. GRUB2 seems to like to stick them really high sometimes (just below 4GB). The 32-bit C code framework that this sets up can also be used for other stuff in future: * early cmdline parsing * relocating multiboot modules so they too are guaranteed accessible Its interaction with normal Xen start-of-day, and with the 16-bit assembly trampoline, needs a bit of thought. Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* x86: Support booting a bzImage format domain 0 kernel.Keir Fraser2009-01-221-0/+1
| | | | | | | | This requires a bzImage v2.08 or later kernel. xen/common/inflate.c is taken unmodified from Linux v2.6.28. Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
* Auto-build dependency files in hypervisor build tree.Keir Fraser2009-01-081-3/+3
| | | | Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* x86: Clean up and simplify rwlock implementation.Keir Fraser2008-12-131-1/+0
| | | | Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* x86: add SSE-based copy_page()Keir Fraser2008-11-121-0/+1
| | | | | | | | In top of the highmem asstance hypercalls added earlier, this provides a performance improvement of another 12% (measured on Xeon E5345) for the page copying case. Signed-off-by: Jan Beulich <jbeulich@novell.com>
* x86: microcode update support for AMD CPUsKeir Fraser2008-09-121-0/+2
| | | | | | | Microcode update support for AMD CPUs Family10h and Family11h. It is based on a patch for Linux which is on its way for 2.6.28. Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
* x86: Fix lapic timer stop issue in deep C stateKeir Fraser2008-05-211-0/+1
| | | | | | | | | | Local APIC timer may stop at deep C state (C3/C4...) entry/exit. this patch add the logic that use platform timer (HPET) to reenable local APIC timer at C state entry/exit. Signed-off-by: Wei Gang <gang.wei@intel.com> Signed-off-by: Yu Ke <ke.yu@intel.com> Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* MSI 3/6: add msi support to xenKeir Fraser2008-05-011-0/+1
| | | | | Signed-off-by: Jiang Yunhong <yunhong.jiang@intel.com> Signed-off-by: Shan Haitao <haitao.shan@intel.com>
* x86_emulate: Implement a more dynamic interface for handling FPUKeir Fraser2008-04-161-0/+2
| | | | | | exceptions, which will allow emulation stubs to be built dynamically in a future patch. Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* x86: Emulate accesses to PCI window registers cf8/cfc to synchroniseKeir Fraser2008-04-111-0/+1
| | | | | | | | | with accesses by teh hypervisor itself. All users of cf8/cfc go through new access functions which take the appropriate spinlock. Based on a patch by Haitao Shan <haitao.shan@intel.com> Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* x86: Fix management support on HP ProLiant systems.Keir Fraser2007-12-061-0/+1
| | | | | | | | | Adds support to allow host-platform-specific handling of I/O port traps. Specifically adds support to handle an HP ProLiant I/O port in a special way. Signed-off-by: Mike Garrett <michael.garrett@hp.com> Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* Intel(R) Trusted Execution Technology (Intel(R) TXT) support for Xen.Keir Fraser2007-10-301-0/+1
| | | | Signed-off-by: Joseph Cihula <joseph.cihula@intel.com>
* xentrace/x86: PV guest tracing extensions.Keir Fraser2007-10-121-0/+1
| | | | | From: George Dunlap <gdunlap@xensource.com> Signed-off-by: Keir Fraser <keir@xensource.com>
* x86: introduce specialized clear_page()kfraser@localhost.localdomain2007-06-201-0/+1
| | | | | | | | More than doubles performance of page clearing on not too old processors (SSE2 supported). Signed-off-by: Jan Beulich <jbeulich@novell.com> Signed-off-by: Keir Fraser <keir@xensource.com>
* xen: Big changes to x86 start-of-day:kfraser@localhost.localdomain2007-05-101-8/+6
| | | | | | | | | | | | | | | | | | | | 1. x86/64 Xen now relocates itself to physical high memory. This is useful if we have devices that need very low memory, or if in future we want to grant a 1:1 mapping of low physical memory to a special 'native client domain'. 2. We now only map low 16MB RAM statically. All other RAM is mapped dynamically within the constraints of the e820 map. It is recommended never to map MMIO regions, and this change means that Xen now obeys this constraint. 3. The CPU bootup trampoline is now permanently installed at 0x90000. This is necessary prereq for CPU hotplug. 4. Start-of-day asm is generally cleaned up and diff between x86/32 and x86/64 is reduced. Signed-off-by: Keir Fraser <keir@xensource.com>
* [XEN] Kexec / Kdump: Generic codeIan Campbell2006-11-301-0/+2
| | | | | | | This patch implements the generic portion of the Kexec / Kdump port to Xen. Signed-Off-By: Magnus Damm <magnus@valinux.co.jp> Signed-Off-By: Simon Horman <horms@verge.net.au>
* [XEN] Add basic NUMA/SRAT support to Xen from Linux 2.6.16.29.kfraser@localhost.localdomain2006-10-251-0/+2
| | | | Signed-off-by: Ryan Harper <ryanh@us.ibm.com>
* [XEN] Can be built -std=gnu99 (except for .S files).kfraser@localhost.localdomain2006-10-181-1/+1
| | | | | | | | | Need to be careful with static initialisers: 1. *_LOCK_UNLOCKED, CPU_MASK_* no longer include a cast 2. Dynamic uses of the above are replaced by appropriate function invocations. Signed-off-by: Keir Fraser <keir@xensource.com>
* Avoid need for GREP variable by avoiding GNUisms. Thekfraser@localhost.localdomain2006-10-181-2/+1
| | | | | | | | | | only one we appear to have is use of '-q'. Replace it with redirection to /dev/null. Also avoid use of 'tail' by replacing with 'head' or 'grep' as appropriate. Signed-off-by: Keir Fraser <keir@xensource.com>
* Make sure that if one of the intermediate steps fails, a subsequentkfraser@localhost.localdomain2006-10-051-8/+9
| | | | | | | | | make invocation doesn't think there's nothing to do. This should be viewed as an intermediate step towards splitting up the rule into three independent ones, passing intermediate files from one to the next. Signed-off-by: Jan Beulich <jbeulich@novell.com>
* [XEN] Remove weak-extern definitions from symbols.c.kfraser@localhost.localdomain2006-09-281-4/+9
| | | | | | Instead we have an explicit set of dummy symbol definitions for the inital link of the Xen image. Signed-off-by: Keir Fraser <keir@xensource.com>
* [XEN] Rename shadow2 to shadow and move the various sourcekaf24@localhost.localdomain2006-08-281-20/+1
| | | | | files into a sensible directory hierarchy. Signed-off-by: Keir Fraser <keir@xensource.com>
* Replace dom0_ops hypercall with three new hypercalls:kfraser@localhost.localdomain2006-08-251-1/+3
| | | | | | | | | | | | | | | | | | | | | | 1. platform_op -- used by dom0 kernel to perform actions on the hardware platform (e.g., MTRR access, microcode update, platform quirks, ...) 2. domctl -- used by management tools to control a specified domain 3. sysctl -- used by management tools for system-wide actions Benefits include more sensible factoring of actions to hypercalls. Also allows tool compatibility to be tracked separately from the dom0 kernel. The assumption is that it will be easier to replace libxenctrl, libxenguest and Xen as a matched set if the dom0 kernel does not need to be replaced too (e.g., because that would require vendor revalidation). From here on we hope to maintain dom0 kernel compatibility. This promise is not extended to tool compatibility beyond the existing guarantee that compatibility will not be broken within a three-level stable release [3.0.2, 3.0.3, etc.]. Signed-off-by: Keir Fraser <keir@xensource.com>
* Replace shadow pagetable code with shadow2.tdeegan@york.uk.xensource.com2006-08-161-4/+12
|
* [HVM][VMX][PAE] Enable PAE VMX guest on PAE host.kaf24@firebug.cl.cam.ac.uk2006-06-191-1/+1
| | | | | | | | The PAE VMX guest supports NX bit and can do kernel build successfully. Signed-off-by: Jun Nakajima <jun.nakajima@intel.com> Signed-off-by: Xiaohui Xin <xiaohui.xin@intel.com>
* Define new event-channel and physdev hypercalls with a more extensiblekaf24@firebug.cl.cam.ac.uk2006-04-301-0/+1
| | | | | | | | | | | | interface (the legacy hypercalls would break if subcommands with large argument structures were added, as it would grow the size of the union of all argument structures). Also, based on a patch from Kevin Tian, add a new physdev op to signal EOI for a particular irq. Signed-off-by: Keir Fraser <keir@xensource.com>
* This is the initial patch for SMP PAE guest on x86-64 Xen.kaf24@firebug.cl.cam.ac.uk2006-04-131-0/+1
| | | | | | | | | For vcpus=2, the SMP PAE guest can do kernel build successfully. And it improves the stability of SMP guests. Signed-off-by: Jun Nakajima <jun.nakajima@intel.com> Signed-off-by: Xiaohui Xin xiaohui.xin@intel.com
* build: Clean up use of .PHONYkaf24@firebug.cl.cam.ac.uk2006-04-101-1/+2
| | | | | | | | | | | | * Move .PHONY directives next to targets, this makes them a lot harder to miss * Add missing .PHONY directives * Remove nonexistent .PHONY directives * Hopefully I didn'T miss anything... Signed-Off-By: Horms <horms@verge.net.au>
* Add xenoprof supportack@kneesa.uk.xensource.com2006-04-061-0/+1
| | | | | | Signed-off-by: Jose Renato Santos <jsantos@hpl.hp.com>
* Clean up build system some more. No need to explicitlykaf24@firebug.cl.cam.ac.uk2006-04-051-6/+2
| | | | | | | | include Rules.mk/Post.mk all over the place. Signed-off-by: Keir Fraser <keir@xensource.com>
* We had reports of reboot not working on certain machines (specificallykaf24@firebug.cl.cam.ac.uk2006-04-041-0/+1
| | | | | | | | | | | | | | Compaq/HP notebooks), where Linux already has code to deal with that. Apparently that code was either deleted during the original port or got added to Linux after the original port was done. Anyway, this patch adds the respective Linux code (slightly adjusted) to deal with the same systems in Xen. From: Jan Beulich Signed-off-by: Keir Fraser <keir@xensource.com>
* Use AFLAGS for assembly files so we can "+=" more flags.kaf24@firebug.cl.cam.ac.uk2006-03-301-1/+1
| | | | | | | | From: Jimi Xenidis <jimix@watson.ibm.com> Signed-off-by: Keir Fraser <keir@xensource.com>
* Some more build-system finessing:kaf24@firebug.cl.cam.ac.uk2006-03-201-6/+6
| | | | | | | | | | | | 1. subdirs-y -> subdir-y (match Linux name, and also obj-y is singular so this makes sense). 2. subdirs can be declared with or without trailing slash 3. As with Linux, subdirs can be declared in the obj-y list but they must be distinguished by a trailing slash Signed-off-by: Keir Fraser <keir@xensource.com>
* Fix Xen target image dependencies.kaf24@firebug.cl.cam.ac.uk2006-03-201-1/+1
| | | | | | Signed-off-by: Keir Fraser <keir@xensource.com>
* Move arch/x86 to new build system.kaf24@firebug.cl.cam.ac.uk2006-03-191-63/+49
| | | | | | Signed-off-by: Keir Fraser <keir@xensource.com>