aboutsummaryrefslogtreecommitdiffstats
path: root/xen/common/Makefile
Commit message (Collapse)AuthorAgeFilesLines
* evtchn: add FIFO-based event channel hypercalls and port opsDavid Vrabel2013-10-141-0/+1
| | | | | | | | | | Add the implementation for the FIFO-based event channel ABI. The new hypercall sub-ops (EVTCHNOP_init_control, EVTCHNOP_expand_array) and the required evtchn_ops (set_pending, unmask, etc.). Signed-off-by: David Vrabel <david.vrabel@citrix.com> Reviewed-by: Jan Beulich <jbeulich@suse.com> Acked-by: Keir Fraser <keir@xen.org>
* evtchn: refactor low-level event channel port opsDavid Vrabel2013-10-141-0/+1
| | | | | | | | | | | | | Use functions for the low-level event channel port operations (set/clear pending, unmask, is_pending and is_masked). Group these functions into a struct evtchn_port_op so they can be replaced by alternate implementations (for different ABIs) on a per-domain basis. Signed-off-by: David Vrabel <david.vrabel@citrix.com> Reviewed-by: Jan Beulich <jbeulich@suse.com> Acked-by: Keir Fraser <keir@xen.org>
* xen: add LZ4 decompression supportKyungsik Lee2013-10-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add support for LZ4 decompression in Xen. LZ4 Decompression APIs for Xen are based on LZ4 implementation by Yann Collet. Benchmark Results(PATCH v3) Compiler: Linaro ARM gcc 4.6.2 1. ARMv7, 1.5GHz based board Kernel: linux 3.4 Uncompressed Kernel Size: 14MB Compressed Size Decompression Speed LZO 6.7MB 20.1MB/s, 25.2MB/s(UA) LZ4 7.3MB 29.1MB/s, 45.6MB/s(UA) 2. ARMv7, 1.7GHz based board Kernel: linux 3.7 Uncompressed Kernel Size: 14MB Compressed Size Decompression Speed LZO 6.0MB 34.1MB/s, 52.2MB/s(UA) LZ4 6.5MB 86.7MB/s - UA: Unaligned memory Access support - Latest patch set for LZO applied This patch set is for adding support for LZ4-compressed Kernel. LZ4 is a very fast lossless compression algorithm and it also features an extremely fast decoder [1]. But we have five of decompressors already and one question which does arise, however, is that of where do we stop adding new ones? This issue had been discussed and came to the conclusion [2]. Russell King said that we should have: - one decompressor which is the fastest - one decompressor for the highest compression ratio - one popular decompressor (eg conventional gzip) If we have a replacement one for one of these, then it should do exactly that: replace it. The benchmark shows that an 8% increase in image size vs a 66% increase in decompression speed compared to LZO(which has been known as the fastest decompressor in the Kernel). Therefore the "fast but may not be small" compression title has clearly been taken by LZ4 [3]. [1] http://code.google.com/p/lz4/ [2] http://thread.gmane.org/gmane.linux.kbuild.devel/9157 [3] http://thread.gmane.org/gmane.linux.kbuild.devel/9347 LZ4 homepage: http://fastcompression.blogspot.com/p/lz4.html LZ4 source repository: http://code.google.com/p/lz4/ Signed-off-by: Kyungsik Lee <kyungsik.lee@lge.com> Signed-off-by: Yann Collet <yann.collet.73@gmail.com> Signed-off-by: Jan Beulich <jbeulich@suse.com> Acked-by: Keir Fraser <keir@xen.org>
* x86/microcode: Scan the initramfs payload for microcode blobKonrad Rzeszutek Wilk2013-09-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Linux kernel is able to update the microcode during early bootup via inspection of the initramfs blob to see if there is an cpio image with certain microcode files. Linux is able to function with two (or more) cpio archives in the initrd b/c it unpacks all of the cpio archives. The format of the early initramfs is nicely documented in Linux's Documentation/x86/early-microcode.txt: Early load microcode ==================== By Fenghua Yu <fenghua.yu@intel.com> Kernel can update microcode in early phase of boot time. Loading microcode early can fix CPU issues before they are observed during kernel boot time. Microcode is stored in an initrd file. The microcode is read from the initrd file and loaded to CPUs during boot time. The format of the combined initrd image is microcode in cpio format followed by the initrd image (maybe compressed). Kernel parses the combined initrd image during boot time. The microcode file in cpio name space is: kernel/x86/microcode/GenuineIntel.bin During BSP boot (before SMP starts), if the kernel finds the microcode file in the initrd file, it parses the microcode and saves matching microcode in memory. If matching microcode is found, it will be uploaded in BSP and later on in all APs. The cached microcode patch is applied when CPUs resume from a sleep state. There are two legacy user space interfaces to load microcode, either through /dev/cpu/microcode or through /sys/devices/system/cpu/microcode/reload file in sysfs. In addition to these two legacy methods, the early loading method described here is the third method with which microcode can be uploaded to a system's CPUs. The following example script shows how to generate a new combined initrd file in /boot/initrd-3.5.0.ucode.img with original microcode microcode.bin and original initrd image /boot/initrd-3.5.0.img. mkdir initrd cd initrd mkdir kernel mkdir kernel/x86 mkdir kernel/x86/microcode cp ../microcode.bin kernel/x86/microcode/GenuineIntel.bin find .|cpio -oc >../ucode.cpio cd .. cat ucode.cpio /boot/initrd-3.5.0.img >/boot/initrd-3.5.0.ucode.img As such this code inspects the initrd to see if the microcode signatures are present and if so updates the hypervisor. The option to turn this scan on/off is gated by the 'ucode' parameter. The options are now: 'scan' Scan for the microcode in any multiboot payload. <index> Attempt to load microcode blob (not the cpio archive format) from the multiboot payload number. This option alters slightly the 'ucode' parameter by only allowing either parameter: ucode=[<index>|scan] Implementation wise the ucode_blob is defined as __initdata. That is OK from the viewpoint of suspend/resume as the the underlaying architecture microcode (microcode_intel or microcode_amd) end up saving the blob in 'struct ucode_cpu_info' which is a per-cpu data structure (see ucode_cpu_info). They end up saving it when doing the pre-SMP (for CPU0) and SMP (for the rest) microcode loading. Naturally if one does a hypercall to update the microcode and it is newer, then the old per-cpu data is replaced. Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> Acked-by: Keir Fraser <keir@xen.org>
* un-alias cpumask_any() from cpumask_first()Jan Beulich2013-08-231-0/+1
| | | | | | | | | | | | | | | | | | In order to achieve more symmetric distribution of certain things, cpumask_any() shouldn't always pick the first CPU (which frequently will end up being CPU0). To facilitate that, introduce a library-like function to obtain random numbers. The per-architecture function is supposed to return zero if no valid random number can be obtained (implying that if occasionally zero got produced as random number, it wouldn't be considered such). As fallback this uses the trivial algorithm from the C standard, extended to produce "unsigned int" results. Signed-off-by: Jan Beulich <jbeulich@suse.com> Acked-by: Keir Fraser <keir@xen.org> Reviewed-by: George Dunlap <george.dunlap@eu.citrix.com>
* xen/arm: implement smp_call_functionJulien Grall2013-05-081-0/+1
| | | | | | | | Move smp_call_function and on_selected_cpus to common code. Signed-off-by: Julien Grall <julien.grall@citrix.com> Acked-by: Ian Campbell <ian.campbell@citrix.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>
* implement vmap()Jan Beulich2012-11-221-0/+1
| | | | | | | ... and use it as basis for a proper ioremap() on x86. 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>
* remove ia64Jan Beulich2012-04-031-1/+0
| | | | | | | | | | | It retains IA64-specific bits in code imported from elsewhere (e.g. ACPI, EFI) as well as in the public headers. It also doesn't touch the tools, mini-os, and unmodified_drivers sub-trees. Signed-off-by: Jan Beulich <jbeulich@suse.com> Acked-by: Keir Fraser <keir@xen.org>
* Xen core parking 1: hypercallLiu, Jinsong2012-03-231-0/+1
| | | | | | | | | | This patch implement hypercall through which dom0 send core parking request, and get core parking result. Due to the characteristic of continue_hypercall_on_cpu, dom0 seperately send/get core parking request/result. Signed-off-by: Liu, Jinsong <jinsong.liu@intel.com> Committed-by: Keir Fraser <keir@xen.org>
* libfdt: move headers to xen/include/xen/libfdt/David Vrabel2012-03-221-2/+0
| | | | | | | | | Move the public libfdt headers to xen/include/xen/libfdt/ so CFLAGS does need to be set to find them. This requires minor tweaks to one of the headers imported from upstream. Signed-off-by: David Vrabel <david.vrabel@citrix.com> Committed-by: Ian Campbell <ian.campbell@citrix.com>
* arm, device tree: parse the DTB for RAM location and sizeDavid Vrabel2012-02-131-0/+3
| | | | | | | | | | | | Prior to setting up the page tables, parse the DTB for the location and size of RAM. Use this information to get the physical address to relocate Xen to in setup_pagetables(). Signed-off-by: David Vrabel <david.vrabel@citrix.com> Acked-by: Tim Deegan <tim@xen.org> Committed-by: Ian Campbell <ian.campbell@citrix.com>
* libfdt: add to buildDavid Vrabel2012-02-131-0/+1
| | | | | | Signed-off-by: David Vrabel <david.vrabel@citrix.com> Acked-by: Tim Deegan <tim@xen.org> Committed-by: Keir Fraser <keir@xen.org>
* xen/common/Makefile: introduce HAS_{CPUFREQ,PCI,PASSTHROUGH,NS16550,KEXEC}Stefano Stabellini2012-02-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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(-)
* IRQ: allocate CPU masks dynamicallyJan Beulich2011-11-031-0/+1
| | | | | | | | | | This includes delaying the initialization of dynamically created IRQs until their actual first use and some further elimination of uses of struct irq_cfg. Signed-off-by: Jan Beulich <jbeulich@suse.com> Acked-by: Keir Fraser <keir@xen.org> Acked-by: Andrew Cooper <andrew.cooper3@citrix.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>
* Add Dom0 xz kernel decompressionJan Beulich2011-03-091-1/+1
| | | | | | Largely taken from Linux 2.6.38 and made build/work for Xen. Signed-off-by: Jan Beulich <jbeulich@novell.com>
* make sort() generally availableKeir Fraser2010-12-241-0/+1
| | | | | | | Rather than having this general library function only on ia64, move it into common code, to be used by x86 exception table sorting too. Signed-off-by: Jan Beulich <jbeulich@novell.com>
* ARINC 653 schedulerKeir Fraser2010-12-011-0/+1
| | | | | | From: Josh Holtrop <Josh.Holtrop@dornerworks.com> Signed-off-by: Keir Fraser <keir@xen.org> Acked-by: George Dunlap <george.dunlap@eu.citrix.com>
* Define Linux-style <preempt.h> interface.Keir Fraser2010-11-181-0/+1
| | | | | | Use it to disable sleeping in spinlock and rcu-read regions. Signed-off-by: Keir Fraser <keir@xen.org>
* Wait queues, allowing conditional sleep in hypervisor context.Keir Fraser2010-11-171-0/+1
| | | | Signed-off-by: Keir Fraser <keir@xen.org>
* x86: allow LZO compressed bzImage to be used as Dom0 kernelKeir Fraser2010-06-151-1/+1
| | | | | | | | ... since recently Linux added this as another kernel compression method, and we already have LZO compression in the tree (from tmem), so that only glue logic is needed. Signed-off-by: Jan Beulich <jbeulich@novell.com>
* Import raw notifier subsystem from Linux.Keir Fraser2010-05-141-0/+1
| | | | Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* cpupools [1/6]: hypervisor changesKeir Fraser2010-04-211-0/+1
| | | | Signed-off-by: Juergen Gross <juergen.gross@ts.fujitsu.com>
* Move tasklet implementation into its own source files.Keir Fraser2010-04-191-0/+1
| | | | | | | | This is preparation for implementing tasklets in vcpu context rather than softirq context. There is no change to the implementation of tasklets in this patch. Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* credit2: Add credit2 scheduler to hypervisorKeir Fraser2010-04-141-0/+1
| | | | | | | | | This is the core credit2 patch. It adds the new credit2 scheduler to the hypervisor, as the non-default scheduler. It should be emphasized that this is still in the development phase, and is probably still unstable. It is known to be suboptimal for multi-socket systems. Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>
* x86/dom0: support bzip2 and lzma compressed bzImage payloadsKeir Fraser2009-11-091-0/+2
| | | | | | | | | | | | | This matches functionality in the tools already supporting the same for DomU-s. Code taken from Linux 2.6.32-rc and adjusted as little as possible to be usable in Xen. The question is whether, particularly for non-Linux Dom0-s, plain ELF images compressed by bzip2 or lzma should also be supported. Signed-off-by: Jan Beulich <jbeulich@novell.com>
* Pass cpumasks by reference always.Keir Fraser2009-05-271-0/+1
| | | | | | | | | | | | | Rather than passing cpumasks by value in all cases (which is problematic for large NR_CPUS configurations), pass them 'by reference' (i.e. through a pointer to a const cpumask). On x86 this changes send_IPI_mask() to always only send IPIs to remote CPUs (meaning any caller needing to handle the current CPU as well has to do so on its own). Signed-off-by: Jan Beulich <jbeulich@novell.com> Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* Transcendent memory ("tmem") for Xen.Keir Fraser2009-05-261-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Tmem, when called from a tmem-capable (paravirtualized) guest, makes use of otherwise unutilized ("fallow") memory to create and manage pools of pages that can be accessed from the guest either as "ephemeral" pages or as "persistent" pages. In either case, the pages are not directly addressible by the guest, only copied to and fro via the tmem interface. Ephemeral pages are a nice place for a guest to put recently evicted clean pages that it might need again; these pages can be reclaimed synchronously by Xen for other guests or other uses. Persistent pages are a nice place for a guest to put "swap" pages to avoid sending them to disk. These pages retain data as long as the guest lives, but count against the guest memory allocation. Tmem pages may optionally be compressed and, in certain cases, can be shared between guests. Tmem also handles concurrency nicely and provides limited QoS settings to combat malicious DoS attempts. Save/restore and live migration support is not yet provided. Tmem is primarily targeted for an x86 64-bit hypervisor. On a 32-bit x86 hypervisor, it has limited functionality and testing due to limitations of the xen heap. Nearly all of tmem is architecture-independent; three routines remain to be ported to ia64 and it should work on that architecture too. It is also structured to be portable to non-Xen environments. Tmem defaults off (for now) and must be enabled with a "tmem" xen boot option (and does nothing unless a tmem-capable guest is running). The "tmem_compress" boot option enables compression which takes about 10x more CPU but approximately doubles the number of pages that can be stored. Tmem can be controlled via several "xm" commands and many interesting tmem statistics can be obtained. A README and internal specification will follow, but lots of useful prose about tmem, as well as Linux patches, can be found at http://oss.oracle.com/projects/tmem . Signed-off-by: Dan Magenheimer <dan.magenheimer@oracle.com>
* Auto-build dependency files in hypervisor build tree.Keir Fraser2009-01-081-10/+0
| | | | Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* Clean up spinlock operations and compile as first-class functions.Keir Fraser2008-10-201-0/+1
| | | | | | | | This follows modern Linux, since apparently outlining spinlock operations does not slow down execution. The cleanups will also allow more convenient addition of diagnostic code. Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* xmalloc: use tlsf algorithmKeir Fraser2008-10-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | This patch replaces the Xen xmalloc engine with tlsf, an allocation engine that is both more space efficient and time-bounded, especially for allocation sizes between PAGE_SIZE/2 and PAGE_SIZE. The file xmalloc.c is deprecated but not yet deleted. A simple changein common/Makefile will change back to the legacy xmalloc/xfree if needed for testing. Code adapted from Nitin Gupta's tlsf-kmod, rev 229, found here: http://code.google.com/p/compcache/source/browse/trunk/sub-projects/allocat= ors/tlsf-kmod with description and performance details here: http://code.google.com/p/compcache/wiki/TLSFAllocator (new Xen code uses 4K=3DPAGE_SIZE for the region size) For detailed info on tlsf, see: http://rtportal.upv.es/rtmalloc/ Signed-off-by: Dan Magenheimer <dan.magenheimer@oracle.com> Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* kexec: Remove xen/common/compat/kexec.cKeir Fraser2008-03-031-1/+0
| | | | | | | xen/common/compat/kexec.c and and the resulting two-pass build of xen/common/kexec.c is no longer needed. Signed-off-by: Simon Horman <horms@verge.net.au>
* Rendezvous selected cpus in softirq (stop_machine).Keir Fraser2008-02-111-0/+1
| | | | | | | | | | | | | This is similar to stop_machine_run stub from Linux, to pull selected cpus in rendezvous point and the do some batch work under a safe environment. Current one usage is from S3 path, where individual cpu is pulled down with related online footprints being cleared. It's dangerous to have other cpus checking clobbered data structure in the middle, such as cpu_online_map, cpu_sibling_map, etc. Signed-off-by: Kevin Tian <kevin.tian@intel.com> Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* [IA64] vti domain save/restore: implement hvm_save/load. work in progress.Alex Williamson2007-10-211-0/+1
| | | | Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
* hvm: Split save.c into arch generic/specific part.Keir Fraser2007-10-181-0/+3
| | | | | | | 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>
* Xen Security Modules: ACM.kfraser@localhost.localdomain2007-08-311-1/+0
| | | | Signed-off-by: George Coker <gscoker@alpha.ncsc.mil>
* acm: Remove unecessary compat shim from do_acm_op().kfraser@localhost.localdomain2007-04-261-1/+0
| | | | Signed-off-by: Keir Fraser <keir@xensource.com>
* Add RCU support to Xen.kaf24@localhost.localdomain2007-01-261-0/+1
| | | | Signed-off-by: Jose Renato Santos <jsantos@hpl.hp.com>
* xen: Remove unused elf32.c.kaf24@localhost.localdomain2007-01-261-2/+0
| | | | Signed-off-by: Keir Fraser <keir@xensource.com>
* libelf: use for x86 dom0 builder.Emmanuel Ackaouy2007-01-251-2/+2
| | | | | | | | | | | This patch switches the x86 dom0 builder over to libelf. Signed-off-by: Gerd Hoffmann <kraxel@suse.de> --- xen/arch/ia64/xen/domain.c | 79 +++++------ xen/arch/x86/domain_build.c | 303 +++++++++++++++----------------------------- xen/common/Makefile | 4 3 files changed, 148 insertions(+), 238 deletions(-)
* add libelf: an ELF binary parser library.Emmanuel Ackaouy2007-01-251-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds a library with a small collection of helper functions to parse and load elf binaries. The library handles endianess and elfsize at runtime. The patch also shuffles around the include files a bit. Now there is *one* include file holding all the elf structures (xen/include/public/elfstructs.h) which is included by everyone who needs them. It's dead code with this patch only, putting the code into use happens in followup patches. Signed-off-by: Gerd Hoffmann <kraxel@suse.de> --- tools/libxc/xc_elf.h | 525 ----------------------------------- xen/arch/x86/boot/mkelf32.c | 2 xen/common/Makefile | 2 xen/common/libelf/Makefile | 4 xen/common/libelf/README | 1 xen/common/libelf/libelf-dominfo.c | 420 ++++++++++++++++++++++++++++ xen/common/libelf/libelf-loader.c | 156 ++++++++++ xen/common/libelf/libelf-private.h | 51 +++ xen/common/libelf/libelf-relocate.c | 345 +++++++++++++++++++++++ xen/common/libelf/libelf-tools.c | 225 +++++++++++++++ xen/include/public/elfstructs.h | 527 ++++++++++++++++++++++++++++++++++++ xen/include/public/libelf.h | 238 ++++++++++++++++ xen/include/xen/elf.h | 490 --------------------------------- 13 files changed, 1972 insertions(+), 1014 deletions(-)
* Enable compatibility mode operation for kexec.Emmanuel Ackaouy2007-01-051-0/+1
| | | | Signed-off-by: Jan Beulich <jbeulich@novell.com>
* Enable compatibility mode operation for HYPERVISOR_xenoprof_op.Emmanuel Ackaouy2007-01-051-0/+1
| | | | Signed-off-by: Jan Beulich <jbeulich@novell.com>
* Enable compatibility mode operation for HYPERVISOR_acm_op.Emmanuel Ackaouy2007-01-051-0/+1
| | | | Signed-off-by: Jan Beulich <jbeulich@novell.com>
* Enable compatibility mode operation for HYPERVISOR_grant_table_op.Emmanuel Ackaouy2007-01-051-0/+1
| | | | Signed-off-by: Jan Beulich <jbeulich@novell.com>
* Enable compatibility mode operation for HYPERVISOR_sched_op andEmmanuel Ackaouy2007-01-051-0/+5
| | | | | | HYPERVISOR_set_timer_op. Signed-off-by: Jan Beulich <jbeulich@novell.com>
* Add logic to generate headers reflecting the compatibility mode layoutEmmanuel Ackaouy2007-01-051-0/+2
| | | | | | | | 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>
* Introduce _DOMF_compat and infrastructure as well as several conditionalsEmmanuel Ackaouy2007-01-051-0/+1
| | | | | | | dealing with operations that need to distinguish between native and compatibility mode guests. Signed-off-by: Jan Beulich <jbeulich@novell.com>