Commit Graph
25159 Commits
Author SHA1 Message Date
Roger Pau Monne 157b4d954c autoconf: check for as86, ld86, bcc and iasl
Check for this tools, and set the proper paths on config/Tool.mk.

Signed-off-by: Roger Pau Monne <roger.pau@entel.upc.edu>
Committed-by: Ian Jackson <ian.jackson.citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
2012-02-22 17:37:50 +01:00
Ian Campbell 023c5c2aaa libxl: fixup error handling in libxl_send_trigger
xc_domain_send_trigger returns -1 and sets errno on failure so use
LIBXL__LOG_ERRNO not LIBXL__LOG_ERRNOVAL(rc).

Change the default case of the switch to set rc=-1,errno=EINVAL too.

Also we weren't actually returning the error code we'd decided on.

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>
2012-04-04 16:10:18 +01:00
George Dunlap abda66fdb0 xl, libxl: Add per-device and global permissive config options for pci passthrough
By default pciback only allows PV guests to write "known safe" values into
PCI config space.  But many devices require writes to other areas of config
space in order to operate properly.  One way to do that is with the "quirks"
interface, which specifies areas known safe to a particular device; the
other way is to mark a device as "permissive", which tells pciback to allow
all config space writes for that domain and device.

This adds a "permissive" flag to the libxl_pci struct and teaches libxl how
to write the appropriate value into sysfs to enable the permissive feature for
devices being passed through.  It also adds the permissive config options either
on a per-device basis, or as a global option in the xl command-line.

Because of the potential stability and security implications of enabling
permissive, the flag is left off by default.

Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>
Committed-by: Ian Jackson <ian.jackson.citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
2012-04-04 16:06:42 +01:00
George Dunlap 543e95e992 libxl: Move bdf parsing into libxlu
Config parsing functions do not properly belong in libxl.  Move them into
libxlu so that others can use them or not as they see fit.

No functional changes.  One side-effect was making public a private libxl
utility function which just set the elements of a structure from the  function
arguments passed in.

Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>
Committed-by: Ian Jackson <ian.jackson.citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
2012-04-04 16:06:42 +01:00
Matt Wilson 8c1ba7af04 PV-GRUB: add support for btrfs
This patch adds btrfs support to the GRUB tree used to build PV-GRUB.
The original patch is from Gentoo:
https://bugs.gentoo.org/show_bug.cgi?id=283637

Signed-off-by: Matt Wilson <msw@amazon.com>
Committed-by: Ian Jackson <ian.jackson.citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
2012-04-04 11:09:15 +01:00
Matt Wilson 9fcf9e7e34 PV-GRUB: add support for ext4
This patch adds support for ext4 to the GRUB tree used to build PV-GRUB.
The original patch is taken from the Fedora GRUB package in this commit:
http://pkgs.fedoraproject.org/gitweb/?p=grub.git;a=commitdiff;h=32bf414af04d377055957167aac7dedec691ef57

Signed-off-by: Matt Wilson <msw@amazon.com>
Committed-by: Ian Jackson <ian.jackson.citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
2012-04-04 11:09:14 +01:00
Matt Wilson 008f246e97 PV-GRUB: Check for errors when applying patches to GRUB
We want to ensure that patches apply cleanly without rejects. Bail if
patch returns a non-zero exit code.

Signed-off-by: Matt Wilson <msw@amazon.com>
Committed-by: Ian Jackson <ian.jackson.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
2012-04-04 11:09:14 +01:00
Ian Jackson e869aa12da QEMU_TAG update 2012-04-03 18:25:56 +01:00
Olaf Hering a434834c1e tools/libfsimage: include Rules.mk first
Move the inclusion of Rules.mk up so that things like CFLAGS get initialized
properly. Currently only zfs appends CFLAGS. If CFLAGS get reset by Rules.mk
the private settings are lost and compilation of zfs support fails.

Signed-off-by: Olaf Hering <olaf@aepfle.de>
Committed-by: Ian Jackson <ian.jackson.citrix.com>
2012-03-14 17:53:56 +01:00
Olaf Hering 645c523d0a tools/blktap: reorder MEMSHR_DIR to fix CFLAGS
In blktap2 MEMSHR_DIR is used before it is set. This removes the
required -D_GNU_SOURCE from CFLAGS, its used as option for -I
Fix this by moving memshr related flags to the place where its actually
used.
The failure is a missing O_DIRECT define.

Signed-off-by: Olaf Hering <olaf@aepfle.de>
Committed-by: Ian Jackson <ian.jackson.citrix.com>
2012-03-14 17:02:23 +01:00
Anthony PERARD ccd266a2e7 libxl: Pass actual RAM amount to qemu-xen
QEMU upstream need to kown the amount of RAM given to a guest. This patch give
the correct value.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
2012-04-03 18:15:11 +01:00
Roger Pau Monne 43774fe3f1 autoconf: change AX_ARG_{DISABLE/ENABLE}_AND_EXPORT to make more sense
Change disable/enable feature macros to have a more significative name
of what they actually do, to avoid confusions.

New macros have the following names:

AX_ARG_DEFAULT_ENABLE: feature is enabled by default, provides the
--disable-{feature} option to disable it.

AX_ARG_DEFAULT_DISABLE: feature is disabled by default, provides the
--enable-{feature] option to enable it.

Signed-off-by: Roger Pau Monne <roger.pau@entel.upc.edu>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Olaf Hering <olaf@aepfle.de>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
2012-04-03 18:02:46 +01:00
Olaf Hering 436292b074 config/Tools.mk: remove unused IP
Signed-off-by: Olaf Hering <olaf@aepfle.de>
Acked-by: Roger Pau Monne <roger.pau@entel.upc.edu>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
2012-04-03 15:56:53 +01:00
Ian Campbell d2be49378e libxl: Document API and ABI compatibility guarantees.
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Committed-by: Ian Jackson <ian.jackson.citrix.com>
2012-03-19 15:06:19 +00:00
Ian Campbell 8c8ee1cc11 libxl: log device model arguments to aid debugging
At the moment the only easy way to get at these is to strace xl.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Committed-by: Ian Jackson <ian.jackson.citrix.com>
2012-03-19 14:24:01 +00:00
Olaf Hering 33076529ba tools: specify datadir for qemu-xen build to fix firmware loading
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>
2012-04-03 15:25:01 +01:00
Olaf Hering 526112fcc4 tools/vtpm: use LDLIBS to pass -lgmp
Linking tpmd will fail with recent toolchains because -lgmp is passed
via LDFLAGS instead of LDLIBS. With this change -lgpm is placed at the
end of the gcc cmdline and linking tpmd succeeds again.

Signed-off-by: Olaf Hering <olaf@aepfle.de>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
2012-04-03 15:12:21 +01:00
David Vrabel 6f3536e90c docs: clarify documentation for the the dom0_mem command line option
This addresses Ian C's comments on v1 of a previous patch (which
was applied instead of v2).

Signed-off-by: David Vrabel <david.vrabel@citrix.com>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
2012-04-03 14:40:08 +01:00
Roger Pau Monne 474a0e59d8 autoconf: fix python-dev detection on old python versions
Replaced the use of python-config (that is only present in Python >= 2.5.x)
with the distutils python module.

Signed-off-by: Roger Pau Monne <roger.pau@entel.upc.edu>
Cc: Zhang, Yang Z <yang.z.zhang@intel.com>
Tested-by: KUWAMURA Shin'ya <kuwa@jp.fujitsu.com>
Cc: Ian Campbell <ian.campbell@citrix.com>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
2012-04-03 14:28:45 +01:00
Jan Beulich 570c311ca2 remove ia64
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>
2012-04-03 12:35:35 +02:00
Ian Jackson 62872b0f03 QEMU_TAG update 2012-04-02 18:14:31 +01:00
Ian Campbell b444072b49 libxl: Use enum values for qemu version not raw numbers
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Committed-by: Ian Jackson <ian.jackson.citrix.com>
2012-03-22 09:02:29 +00:00
Konrad Rzeszutek Wilk 5d55ddd882 linux-xencommons: Load xen-acpi-processor
Upstream the "xen/acpi-processor: C and P-state driver that
uploads said data to hypervisor." takes care of uploading power information
information that normally a cpu frequency scaling driver would using
in the initial domain. We want the hypervisor to take that data and
make good usage of it.

Fortunatly for us we do not have to worry about the native cpu frequency
scaling drivers being loaded first, as the upstream commit:
"xen/cpufreq: Disable the cpu frequency scaling drivers from loading."
takes care of that. Meaning we can load the xen-acpi-processor at any time.

By default that driver is built as a module - and since we are
the only user of it - we should load it.

Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Committed-by: Ian Jackson <ian.jackson.citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
2012-03-23 09:45:56 -04:00
Anthony PERARD bfed971ab6 docs: Remove qemu-upstream HowTo, and link to the wiki page.
Instead of having twice the same HowTo in tree and in the wiki, the one in tree
will become a link to the wiki.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Committed-by: Ian Jackson <ian.jackson.citrix.com>
2012-04-02 17:45:07 +01:00
Dario Faggioli b9316da4b0 docs: Document vcpu-pinning in guest config file
Chageset 54000bca7a6a didn't affect xl.cfg.pod.5 properly.

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
Committed-by: Ian Jackson <ian.jackson.citrix.com>
2012-04-02 17:43:06 +01:00
Olaf Hering 9890158671 tools/libxc: send page-in requests in batches in linux_privcmd_map_foreign_bulk
One of the bottlenecks with foreign page-in request is the poor retry
handling in linux_privcmd_map_foreign_bulk(). It sends one request per
paged gfn at a time and it waits until the gfn is accessible. This
causes long delays in mmap requests from qemu-dm and xc_save.

Instead of sending one request at a time, walk the entire gfn list and
send batches of mmap requests. They will eventually end up in the pager's
request ring (if it has room again), and will fill up this ring so that
in turn the pager can also process page-in in batches.

Signed-off-by: Olaf Hering <olaf@aepfle.de>
Committed-by: Ian Jackson <ian.jackson.citrix.com>
2012-03-26 15:22:18 +02:00
Ian Campbell cf3a68283f docs: expand docs/INDEX, sort html index by title rather than filename
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Committed-by: Ian Jackson <ian.jackson.citrix.com>
2012-03-26 10:07:40 +01:00
Lin Ming 6db5126112 libxl: support for "rtc_timeoffset" and "localtime"
Implement "rtc_timeoffset" and "localtime" options compatible as xm.

rtc_timeoffset is the offset between host time and guest time.
localtime means to specify whether the emulted RTC appears as UTC or is
offset by the host.

Acked-by: Ian Campbell <ian.campbell@citrix.com>
Signed-off-by: Lin Ming <mlin@ss.pku.edu.cn>
Committed-by: Ian Jackson <ian.jackson.citrix.com>
---
 docs/man/xl.cfg.pod.5       |    8 ++++++++
 tools/libxl/libxl_create.c  |   11 +++++++++++
 tools/libxl/libxl_dom.c     |    3 +++
 tools/libxl/libxl_types.idl |    2 ++
 tools/libxl/xl_cmdimpl.c    |    5 +++++
 5 files changed, 29 insertions(+), 0 deletions(-)
2012-04-02 17:32:39 +01:00
George Dunlap ac84df4793 libxl: Handle non-ballooned, zero slackmem properly for pci passthru
The e820_sanitize() function in libxl_pci.c expects one of its arguments to
be non-zero; but since a recent changeset, it can typically expect *to be*
zero.  Since the zero case is handled properly, just remove the check.

Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>
Committed-by: Ian Jackson <ian.jackson.citrix.com>
2012-04-02 17:22:31 +01:00
Ian Campbell 69c48b169e xl: do not include xenctrl.h
Toolstacks which use libxl should not need to use libxc.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Committed-by: Ian Jackson <ian.jackson.citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
2012-03-27 13:52:51 +01:00
Ian Campbell a7ce17b686 xl: provide a command to set the saved configuration for a running domain
Pickup this new configuration on reboot.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Committed-by: Ian Jackson <ian.jackson.citrix.com>
2012-04-02 17:07:04 +01:00
Ian Campbell 80687dc9ca README: Document optional ocaml dependencies
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Committed-by: Ian Jackson <ian.jackson.citrix.com>
2012-03-27 11:36:54 +01:00
Ian Jackson 951fab3ace docs: Document some more hypercalls
Some of these could probably do with some review from people who know
what these hypercalls actually do.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Committed-by: Ian Jackson <ian.jackson.citrix.com>

---
 xen/include/public/arch-x86/xen.h |   30 ++++++++++++++++++++++++++++++
 xen/include/public/arch-x86_64.h  |   16 ++++++++++++++++
 xen/include/public/platform.h     |    4 ++++
 3 files changed, 50 insertions(+), 0 deletions(-)
2012-04-02 17:02:45 +01:00
Ian Campbell 378c2694f4 docs: spelling and typoes in misc/xen-command-line.markdown
Run a spell checker over the doc and fix the typos and spelling it uncovers
(including a few I just added myself).

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Committed-by: Ian Jackson <ian.jackson.citrix.com>
Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
2012-03-26 17:11:13 +01:00
Ian Campbell d8fd4c3678 docs: add some missing options to misc/xen-command-line.markdown
These were mostly ones from xen/arch/x86/boot/cmdline.S which are handled early
and therefore do not use the usual infrastructure and so got missed in the
initial trawl.

The document now contains (AFAICT) every still valid option which was
previously documented at:
http://wiki.xen.org/wiki?title=Xen_Hypervisor_Boot_Options&oldid=1379

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Committed-by: Ian Jackson <ian.jackson.citrix.com>
2012-03-26 17:09:59 +01:00
Ian Campbell a77ff6b05c docs: wrap misc/xen-command-line.markdown to 80 columns
Makes it more readable as a text document.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Committed-by: Ian Jackson <ian.jackson.citrix.com>
2012-03-26 17:09:40 +01:00
David Vrabel ae0a90bd8c device tree: print a warning if a node is nested too deep
Since device_tree_for_each_node() is called before printk() works, a
variable is used to switch between using early_printk() and printk().

Signed-off-by: David Vrabel <david.vrabel@citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
Committed-by: Ian Campbell <ian.campbell@citrix.com>
2012-04-02 16:50:44 +01:00
David Vrabel 8166f512ea arm: add dom0_mem command line argument
Add a simple dom0_mem command line argument.  It's not as flexible as
the x86 equivalent (the 'max' and 'min' prefixes are not supported).

Signed-off-by: David Vrabel <david.vrabel@citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
Committed-by: Ian Campbell <ian.campbell@citrix.com>
2012-04-02 16:50:43 +01:00
David Vrabel df8a4a8c5f arm: use bootargs for the command line
Use the /chosen node's bootargs parameter for the Xen command line.
Parse it early on before the serial console is setup.

Signed-off-by: David Vrabel <david.vrabel@citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
Committed-by: Ian Campbell <ian.campbell@citrix.com>
2012-04-02 16:50:42 +01:00
David Vrabel 13bb63b754 device tree,arm: supply a flat device tree to dom0
Build a flat device tree for dom0 based on the one supplied to Xen.
The following changes are made:

  * In the /chosen node, the xen,dom0-bootargs parameter is renamed to
    bootargs.

  * In all memory nodes, the reg parameters are adjusted to reflect
    the amount of memory dom0 can use.  The p2m is updated using this
    info.

Support for passing ATAGS to dom0 is removed.

Signed-off-by: David Vrabel <david.vrabel@citrix.com>
[ removed device_tree_dump call -- ijc ]
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Committed-by: Ian Campbell <ian.campbell@citrix.com>
2012-04-02 16:50:42 +01:00
Tim Deegan 3db570f4f9 arm: Use HTPIDR to point to per-CPU state
Rather than having the per-VCPU stack contain a pointer to the
per-PCPU state, use the CPU's hypervisor thread ID register for that.

Signed-off-by: Tim Deegan <tim@xen.org>
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
[ s/cpuid/id in set_processor_id -- ijc ]
Committed-by: Ian Campbell <ian.campbell@citrix.com>
2012-04-02 10:54:05 +01:00
Tim Deegan e2af2820a3 arm: missing unlock in GIC error path
Signed-off-by: Tim Deegan <tim@xen.org>
Committed-by: Ian Campbell <ian.campbell@citrix.com>
2012-04-02 10:54:05 +01:00
Tim Deegan 8bbff1a751 arm: remove code that sets current to itself
Signed-off-by: Tim Deegan <tim@xen.org>
Committed-by: Ian Campbell <ian.campbell@citrix.com>
2012-04-02 10:54:04 +01:00
Wei Huang d0cb8288cd AMD_LWP: add interrupt support for AMD LWP
This patch adds interrupt support for AMD lightweight profiling. It
registers interrupt handler using alloc_direct_apic_vector(). When
notified, SVM reinjects virtual interrupts into guest VM using
guest's virtual local APIC.

Signed-off-by: Wei Huang <wei.huang2@amd.com>
Signed-off-by: Keir Fraser <keir@xen.org>
Committed-by: Keir Fraser <keir@xen.org>
2012-03-30 21:05:54 +01:00
Keir Fraser 8db87324fc x86: Unify direct-apic and hiprio irq vector allocations.
Signed-off-by: Keir Fraser <keir@xen.org>
2012-03-30 10:01:15 +01:00
Keir Fraser bdc31d56d8 x86: Allow direct vectored interrupts to be dynamically allocated.
Use this for Intel's CMCI and thermal interrupts.

Signed-off-by: Keir Fraser <keir@xen.org>
2012-03-30 09:14:25 +01:00
Keir Fraser 33c4b1044d Remove single use of fastcall from hypervisor common code.
Signed-off-by: Keir Fraser <keir@xen.org>
2012-03-30 08:52:19 +01:00
Keir Fraser b57458c1d0 x86: All vectored interrupts go through do_IRQ().
Signed-off-by: Keir Fraser <keir@xen.org>
2012-03-30 08:50:33 +01:00
Tim Deegan d928515d76 x86/mm: allow mem_event ops on AMD processors too.
(Experimental, for now).

Signed-off-by: Tim Deegan <tim@xen.org>
Committed-by: Tim Deegan <tim@xen.org>
2012-03-29 16:59:33 +01:00
Tim Deegan f325f4a1ac IOMMU: clean up handling of 'foo' and 'no-foo' command-line options
Signed-off-by: Tim Deegan <tim@xen.org>
Acked-by: Keir Fraser <keir@xen.org>
Committed-by: Tim Deegan <tim@xen.org>
2012-03-29 12:08:41 +01:00