Commit Graph
656 Commits
Author SHA1 Message Date
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
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
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
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
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 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 e2e7b20674 docs: improve documentation for the the dom0_mem command line option
Signed-off-by: David Vrabel <david.vrabel@citrix.com>
Committed-by: Keir Fraser <keir@xen.org>
2012-03-22 10:23:30 +00:00
Andrew Cooper 3355c1a2a6 KEXEC: Allocate crash structures in low memory
On 64bit Xen with 32bit dom0 and crashkernel, xmalloc'ing items such
as the CPU crash notes will go into the xenheap, which tends to be in
upper memory.  This causes problems on machines with more than 64GB
(or 4GB if no PAE support) of ram as the crashkernel physically cant
access the crash notes.

The solution is to force Xen to allocate certain structures in lower
memory.  This is achieved by introducing two new command line
parameters; low_crashinfo and crashinfo_maxaddr.  Because of the
potential impact on 32bit PV guests, and that this problem does not
exist for 64bit dom0 on 64bit Xen, this new functionality defaults to
the codebase's previous behavior, requiring the user to explicitly
add extra command line parameters to change the behavior.

This patch consists of 3 logically distinct but closely related
changes.
 1) Add the two new command line parameters.
 2) Change crash note allocation to use lower memory when instructed.
 3) Change the conring buffer to use lower memory when instructed.

There result is that the crash notes and console ring will be placed
in lower memory so useful information can be recovered in the case of
a crash.

Changes since v1:
 -  Patch xen-command-line.markdown to document new options

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Committed-by: Keir Fraser <keir@xen.org>
2012-03-16 10:30:12 +00:00
George Dunlap e05b3ee53b xl: Implement sched-credit schedule parameter command-line interface
Add features to the sched-credit interface to allow querying and
displaying scheduler parameters.

Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
2012-03-14 14:06:04 +00:00
Andrew Cooper d4faf5a948 NMI: Command line parameter for watchdog timeout
Introduce a command parameter to set the watchtog timeout.  Manually
specifying "watchdog_timeout=<seconds>" on the command line will also
turn the watchdog on.  For consistency, move opt_watchdog into nmi.c
along with opt_watchdog_timeout.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Committed-by: Keir Fraser <keir@xen.org>
2012-03-08 09:23:27 +00:00
Andrew Cooper 1728459dec DOCS: Initial document regarding Xen's command line parameters
Still a work in progress, but submitted as a start.

Changes since v1:
  - Include all up to date information from the wiki.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
Committed-by: Keir Fraser <keir@xen.org>
2012-03-07 07:44:33 +00:00
Ian Jackson 156ef03248 docs: xen-headers: Remove hard tabs
Remove hard tabs from the Perl script.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Cc: Ian Campbell <Ian.Campbell@citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
Committed-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
2012-03-01 16:51:39 +00:00
Ian Jackson 412b381729 docs: xen-headers: Annotate typedefs
Parse (some) typedef statements.  (Make type names links to the
underlying struct if there is one, rather than to just the typedef.)

Also, exclude the new arch-arm headers.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Cc: Ian Campbell <Ian.Campbell@citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
Committed-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
2012-03-01 16:51:39 +00:00
Attilio Rao 1341ac67a3 libxl, xl: Add the bios option to specify the bios to load
Signed-off-by: Attilio Rao <attilio.rao@citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
2012-02-29 16:25:38 +00:00
Olaf Hering 5e877ea5c4 docs/man: correct autoballoon in xl.conf
Correct wording and default value of autoballoon= in xl.conf(5)
to match code and supplied xl.conf.

Signed-off-by: Olaf Hering <olaf@aepfle.de>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
2012-02-20 18:56:57 +00:00
Juergen Gross 3a8a0f0e10 Add xlcpupool.cfg man page
Add a man page describing the configuration file for creating cpupools
via xl cpupool-create.

Signed-off-by: Juergen Gross <juergen.gross@ts.fujitsu.com>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
2012-02-20 18:26:44 +00:00
Olaf Hering 8abe14a8bb man/xl.cfg: mention not yet documented options
Add dummy entries for parsed but undocumented cfg file options to xl.cfg:

for i in `
grep -Ew 'xlu_cfg_get_(long|string|list|list_as_string_list)' tools/libxl/xl_cmdimpl.c | cut -f 2 -d '"' | sort -u
`
do
	grep -wq $i docs/man/xl.cfg.pod.5 || echo $i
done

current output:
acpi_s3
acpi_s4
cpus
device_model
gfx_passthru
maxmem
nodes
sched
vif2

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-02-20 18:10:47 +00:00
Olaf Hering 84211d0d9c xl.cfg: fix gfx_passthru string
Use correct string for gfx_passthru, and fix comment typo in xmexample.hvm

Signed-off-by: Olaf Hering <olaf@aepfle.de>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
2012-02-20 18:09:52 +00:00
Stefan Bader 31c1a7e0cc xl: Add defaultbridge config option for xl.conf
Currently guests created with the xl stack will have "xenbr0"
written as their default into xenstore. It can be changed in
the individual guest config files, but there is no way to
have that default globally changed.

Add a config option to xl.conf that allows to have a different
default bridge name.

Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
2012-02-13 17:45:13 +00:00
Daniel De Graaf da41740d00 flask/policy: add device model types to example policy
This adds an example user for device_model_stubdomain_seclabel.

Signed-off-by: Daniel De Graaf <dgdegra@tycho.nsa.gov>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
2012-02-09 18:25:49 +00:00
Daniel De Graaf 0e19f276cf libxl: Add device_model_stubdomain_seclabel
This allows the security label of stub domains to be specified.

Signed-off-by: Daniel De Graaf <dgdegra@tycho.nsa.gov>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
2012-02-09 18:25:15 +00:00
Wei Liu ce631b3f25 xl: add reference for vcpu-set command.
Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
2012-02-09 18:03:07 +00:00
Ian Campbell 9faa8b12d8 xl: use json output by default
Move the sxp producing code off into a separate file. It is supported
for legacy reasons and needn't be updated other than the improve
compatibility with xm.

libxl_domain_config is not currently generated by the IDL (adding the
necessary support for Array types is on my to do list) so hand code
the json generation function for now.

Since this rather directly exposes a libxl data structure it's not
clear what sort of forward compatibility guarantees we can
make. However it seems like it should be as stable as libxl's own API
(which we are looking to stabilise)

(Gratuitous string.h include needed for memset in libxl_util.h)

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-02-07 17:01:57 +00:00
Daniel De Graaf 21149fb130 flask/policy: Add boolean example
This shows an example boolean (prot_doms_locked) which can be set at
runtime to prevent dom0 from mapping memory of domains of type
prot_domU_t.

Signed-off-by: Daniel De Graaf <dgdegra@tycho.nsa.gov>
Committed-by: Keir Fraser <keir@xen.org>
2012-02-02 15:25:23 +00:00
Daniel De Graaf a15e8b800a flask/policy: Add user and constraint examples
These examples show how to use constraints and the user field of the
security label to prevent communication between virtual machines of
different customers in a multi-tenant environment.

Signed-off-by: Daniel De Graaf <dgdegra@tycho.nsa.gov>
Committed-by: Keir Fraser <keir@xen.org>
2012-02-02 15:21:13 +00:00
Ian Campbell 00f3b62505 xl: allow enable automatic fallback to ACPI events if PV control not available.
Add a -F (fallbacks) option to xl destroy|reboot to cause an ACPI shutdown or
reset event to be sent to the guest in the event that the guest does not
support the PV control interface.

This is not the default because the response to these triggers is an
guest-internal configuration.

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-01-31 16:34:39 +00:00
Ian Campbell 6116cf8aef docs: document /etc/xen/xl.conf
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-01-31 16:34:39 +00:00
Ian Campbell f80309d431 libxl: remove libxl_button_press in favour of libxl_send_trigger.
send_trigger already included all the operations covered by button_press.

Rework send_trigger to take an enum instead of a string.

I stopped short at removing the xl "button-press" command but instead have
marked it as deprecated.

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-01-31 16:34:39 +00:00
Andres Lagar-Cavilla 8a93efd7f0 Tools: Add a sharing command to xl for information about shared pages
Also add the global sharing statistics to the libxl physinfo.  This is a slight
departure from libxc, but there's no reason libxl physinfo can't include extra
bits of useful and relevant information.

Signed-off-by: Andres Lagar-Cavilla <andres@lagarcavilla.org>
Signed-off-by: Adin Scannell <adin@scannell.ca>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
Committed-by: Tim Deegan <tim@xen.org>
2012-01-26 12:46:26 +00:00
Keir Fraser 8311d176ea docs: Remove outdated LaTex documentation.
Signed-off-by: Keir Fraser <keir@xen.org>
2012-01-25 15:52:47 +00:00
Stefano Stabellini 004d103be6 docs: xl.pod.1: introduction to FLASK
Add a simple introduction to FLASK to the xl man page, at the beginning
of the FLASK chapter. Link to the xsm-flask.txt document.
Currently FLASK, TMEM and PCI PASS-THROUGH are defined as =head2 so they
look like sub-chapters of VIRTUAL DEVICE COMMANDS. Make them =head1.

Based on a text written by Daniel De Graaf.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Signed-off-by: Daniel De Graaf <dgdegra@tycho.nsa.gov>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
2012-01-10 16:13:06 +00:00
Daniel De Graaf ed6ec8137c docs: Update xsm-flask documentation
Signed-off-by: Daniel De Graaf <dgdegra@tycho.nsa.gov>
Committed-by: Ian Jackson <ian.jackson.citrix.com>
2012-01-10 16:04:25 +00:00
Ian Campbell 8528d14fd1 libxl: report failure to reboot/shutdown due to lackof PV interfaces to caller
This allow the caller to react as they think is appropriate. xl now prints a
message much like the library did previously, although hopefully somewhat more
informative.

Update the xl(1) man page to be similarly more informative.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Committed-by: Ian Jackson <ian.jackson.citrix.com>
Acked-by: Ian Jackson <ian.jackson.citrix.com>
2011-12-21 10:47:30 +00:00
Daniel De Graaf e628c3b0b8 xl.pod.1: improve documentation of FLASK commands
Signed-off-by: Daniel De Graaf <dgdegra@tycho.nsa.gov>
2011-12-18 14:35:03 +00:00
Ian Jackson e68ffca28b docs: Say in xm(1) that xm is obsolete
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
2011-12-08 16:55:00 +00:00
Juergen Gross d166bd34e8 Support of xl sched-sedf
Supports the xl subcommand sched-sedf.
The man page is only a minimal version (copy from xm man page without
examples). BTW: the xm man page seems not to be in sync with xm sched-sedf -h
regarding the time units. I used milliseconds in the xl implementation.
Only minimal semantical checks of parameters.

Signed-off-by: juergen.gross@ts.fujitsu.com
Acked-by: Ian Jackson <ian.jackson.citrix.com>
Committed-by: Ian Jackson <ian.jackson.citrix.com>
2011-11-28 13:37:17 +01:00
Juergen Gross aea984916c Support of xl sched-credit2
Supports the xl subcommand sched-credit2.

Signed-off-by: juergen.gross@ts.fujitsu.com
Acked-by: Ian Jackson <ian.jackson.citrix.com>
Committed-by: Ian Jackson <ian.jackson.citrix.com>
2011-11-28 13:31:27 +01:00
Juergen Gross 31c2ace79d Support cpupools in xl sched-credit
Adds cpupool awareness to output of xl sched-credit. Output can now be
restricted to a specific cpupool. The domains are printed for each cpupool
seperately.

The loop over cpupools and domains is seperated from the main command
implementation to be able to support other schedulers as well.

Signed-off-by: juergen.gross@ts.fujitsu.com
Acked-by: Ian Jackson <ian.jackson.citrix.com>
Committed-by: Ian Jackson <ian.jackson.citrix.com>
2011-11-28 13:27:15 +01:00
Juergen Gross 25097df017 xl sched-credit: support long options
The help text of xl sched-credit supported long options. Neither the man page
nor the implementation did.

Signed-off-by: juergen.gross@ts.fujitsu.com
Acked-by: Ian Jackson <ian.jackson.citrix.com>
Committed-by: Ian Jackson <ian.jackson.citrix.com>
2011-11-28 13:23:31 +01:00
Stefano Stabellini ca3a3fefd2 xl.pod.1: add a note about autoballoon and dom0_mem
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Committed-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
2011-12-01 16:26:36 +00:00
Stefano Stabellini 04b3a805b9 xl.pod.1: add a refence to http://wiki.xen.org/xenwiki/ReportingBugs
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Committed-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
2011-12-01 16:26:36 +00:00
Stefano Stabellini b58d71d2b1 xl.pod.1: remove AUTHORS section
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Committed-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
2011-12-01 16:26:35 +00:00
Stefano Stabellini 747a54427a xl.pod.1: improve description of virtual device subcommands
Add a reference to xl-disk-configuration and xl-network-configuration.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Committed-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
2011-12-01 16:26:35 +00:00
Stefano Stabellini d3bbc3bef6 xl.pod.1: remove dry-run option from create and cpupool-create
there is already a global dry-run option, there is no point in adding
another one for each subcommand

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Committed-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
2011-12-01 16:26:35 +00:00
Stefano Stabellini e1509f2fd3 xl.pod.1: improve the description of pci-list-assignable-devices
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Committed-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
2011-12-01 16:26:34 +00:00
Stefano Stabellini ceb314efcc xl.pod.1: improve the description of the info subcommand
also update the example

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Committed-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
2011-12-01 16:26:34 +00:00