Commit Graph
8152 Commits
Author SHA1 Message Date
Ian Jackson 214abecaa3 xl: start numbering vifs from 0
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
2010-07-14 16:46:49 +01:00
Ian Jackson 6a8f8977a1 libxl, xl: support running bootloader (e.g. pygrub) in domain 0
Much of the bootloader interaction (including the Solaris and NetBSD
portability bits) are translated pretty much directly from the python
in tools/python/xen/xend/XendBootloader.py

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
2010-07-14 16:45:38 +01:00
Ian Jackson 2587d9aa4e libxl: add function to attach/detach a disk to/from the local VM
Useful if you need to read a guest filesystem (e.g. pygrub).

I'm not overly thrilled with the implementation WRT tap interfaces,
particularly WRT to detach. I was unable to find a way to get at the
paramters necessary to call tap_ctl_destroy so I assumed for now it
that is OK to assume that the tap device is going to be wanted for the
actual domain at some point in the immediate future and hence there is
no pressing need to destroy it.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
2010-07-14 16:44:18 +01:00
Ian Jackson 108be15853 libxl: support mapping files rather than carrying paths around
This will allow us to map and then unlink the file and therefore
delete the process on process exit or explicit unmap.

Using the mmaped versions of these files required rewriting build_pv
to use the xc_dom builder functionality directly rather than through
the xc_linux_build "compatibility layer". (The status of the
xc_linux_build interface as a compatibility layer seems a bit dubious
since all existing callers use it but if anything is going to replace
it then libxl seems like the likely candidate).

I'm not thrilled with the definition of the maps lifecycle. This could
be solved by adding a helper function to explicitly free the toplevel
structure.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
2010-07-14 16:43:49 +01:00
Ian Jackson adb8dd8440 libxl, xl: exec xenconsole in current process, defer decision to fork to caller
Use this to run xenconsole as the foreground process and move the
connection to the console in the "create -c" case early enough to be
able to view output from the bootloader. This behaviour is consistent
with how both "xm console" and "xm create -c" operate.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
2010-07-14 16:40:33 +01:00
Ian Jackson df9760236b libxl: fix typo in comment
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
2010-07-14 16:40:09 +01:00
Ian Jackson bba3b1da6e libxl: add libxl_strdup convenience function
Use in preference to libxl_sprintf(..., "%s", "...")

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
2010-07-14 16:39:43 +01:00
Ian Jackson 1304d52120 libxl: add printf attribute to libxl_xs_write and fixup resulting warnings
There is an unfortunate warning for the empty format string by default
which I workaround by adding -Wno-format-zero-length.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
2010-07-14 16:38:47 +01:00
Ian Jackson 87f759dea0 xenconsole: do not exit if a pty device is missing
This can just mean we have raced with the bootloader exiting and if we
continue we will likely see the real domain console show up.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
2010-07-14 16:36:47 +01:00
Ian Jackson dc04fe42de pygrub: introduce easier to parse output format
libxl would rather like to parse the output of pygrub. Rather than
implement an SXP parser in libxl add a --output-format option to
pygrub which can select an alternative, simpler to parse,
format. Available formats are:
    sxp:	current SXP output format;
    simple:	simple key+value output with \n separating item ( for
		debugging). key and value are separated by a single
		space (and key therefore cannot contain a space);
    simple0:	as simple but with \0 as a separator;

Also add --output-directory to allow temporary files to be placed
somewhere other than /var/run/xend/boot.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
2010-07-14 16:36:23 +01:00
Ian Jackson c89747d2e9 tools/ocaml: add the missing license file that all OCaml libs refer to
Signed-off-by: Vincent Hanquez <vincent.hanquez@eu.citrix.com>
2010-07-14 16:32:47 +01:00
Ian Jackson 85bd32d908 xl: default timer_mode to 1
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
2010-07-14 16:31:59 +01:00
Ian Jackson c8be2ccfa9 tools/misc/xenpm: provide core/package cstate residencies
According to Intel 64 and IA32 Architectures SDM 3B Appendix B, Intel
Nehalem/Westmere processors provide h/w MSR to report the core/package
cstate residencies.Extend sysctl_get_pmstat interface to pass the
core/package cstate residencies, and modify xenpm to output those
information.

[tools part of the patch]

Signed-off-by: Wei Gang <gang.wei@intel.com>
2010-07-14 16:30:42 +01:00
Ian Jackson 8929f81d2c tools/misc/xenpm: fix get-cpu-topology
fix get-cpu-topology

Signed-off-by: Wei Gang <gang.wei@intel.com>
2010-07-13 19:34:48 +01:00
Ian Jackson d524f866ca tools/ocaml: Properly adjust fields in ocaml structure to match the C layer.
Signed-off-by: Vincent Hanquez <vincent.hanquez@eu.citrix.com>
2010-07-13 19:28:13 +01:00
Ian Jackson e94b5fc097 tools/ocaml: add a simple logger to the ocaml bindings
Signed-off-by: Vincent Hanquez <vincent.hanquez@eu.citrix.com>
2010-07-13 19:27:50 +01:00
Ian Jackson e4f42ed7ec tools/ocaml: register the ocaml exception so it can be used at the C level.
Signed-off-by: Vincent Hanquez <vincent.hanquez@eu.citrix.com>
2010-07-13 19:27:33 +01:00
Ian Jackson 59135ebd28 tools/debugger/gdbsx: enabled by only x86
The changeset 21752:29e545151078 breaks ia64, since gdbsx supports
only x86.

Signed-off-by: KUWAMURA Shin'ya <kuwa@jp.fujitsu.com>
2010-07-13 19:08:48 +01:00
Ian Jackson ec9afc69fe tools/hotplug: xencommons: xenconsoled tracing
cut and paste error lead to using the xenstored command line syntax
for xenconsoled.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
2010-07-09 18:46:07 +01:00
Keir Fraser fa1c92c8ce Merge 2010-07-09 12:35:58 +01:00
Keir Fraser 0e0a3eacbc hvmloader: customize the SMBIOS strings based on xenstore keys
...written at domain creation time by xapi.

Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
2010-07-09 12:34:40 +01:00
Keir Fraser dc6c53ebb6 hvmloader: Add a xenbus frontend so it can read values from xenstore
Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
2010-07-09 12:33:57 +01:00
Ian Jackson 772aebeab9 tools/libxl: implement support for nomigrate option in VM profiles
Signed-off-by: Gianni Tedesco <gianni.tedesco@citrix.com>
Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
2010-07-08 17:54:42 +01:00
Ian Jackson 7182d1d11b tools/libxl: Read soundhw option and pass it on to qemu
Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>
Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
2010-07-08 17:53:19 +01:00
Ian Jackson a87a580e8a tools/xentrace: increase default xentrace buffer size.
increase default xentrace buffer size to reduce the number of
lost records.

Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
2010-07-08 17:39:00 +01:00
Ian Jackson 84b1ed809c tools/libxl/xl: fix for short BDF (without domain specified)
Check that BDF have been parsed correctly.  Before this fix, BDF could
be parsed incorrectly if user omitted the domain.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Contributed-by: Sergey Tovpeko <tsv.devel@gmail.com>
Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
2010-07-08 17:22:18 +01:00
Ian Jackson 28c4011332 tools/debugger/gdbsx: build enabled by default
Submitted-by: Bruce Edge <bruce.edge@gmail.com>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
2010-07-08 16:50:34 +01:00
Keir Fraser c9de4c5c3c xend: Continue domain building even if memshr extensions are not
present in the hypervisor.

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2010-07-08 09:56:10 +01:00
Keir Fraser f3e5b69ec8 rombios: use explicit SS prefix for calculated on-stack array accesses.
The bcc compiler gets constant array offsets right but does all
calculated array offsets via DS.

Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
2010-07-08 09:52:01 +01:00
Keir Fraser 6456803dab rombios: move the stack to 0x9e000 and protect it with an e820 entry
so that we don't corrupt E820_RAM memory with stack ops in S3 wakeup.
It has to move up so the lowest contiguous RAM area is >= 512MiB.

This relies on the previous fix to let DS != SS

Signed-off-by: Paul Durrant <Paul.Durrant@citrix.com>
Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
2010-07-08 09:51:40 +01:00
Keir Fraser b825e251d2 rombios: wait 30s after a failed boot
Prevents waiting forever for a keypress that may never come if boot is
unattended.

Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
2010-07-08 09:46:09 +01:00
Keir Fraser 876e14ee83 Merge 2010-07-06 17:58:37 +01:00
Ian Jackson 1b54711eae tools/libxl: revert 15bcf57fcf24 (disable_migrate)
That patch is entirely wrong.  xc_domain_disable_migrate does not work
like that, and the config parameter is misnamed.
2010-07-06 17:38:19 +01:00
Ian Jackson 62996c01c1 tools/ocaml: Fix up ocaml build for timer_mode, hpet and vpt_align
c/s da46b25cf17d broke the ocaml build.  This fixes it.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
2010-07-06 17:31:04 +01:00
Ian Jackson dcb2947e81 tools/libxl: support the "disable_migrate" domain config option
Signed-off-by: Gianni Tedesco <gianni.tedesco@citrix.com>
2010-07-06 17:22:39 +01:00
Ian Jackson 0a34b3481d tools/libxl: allow setting of timer_mode, hpet and vpt_align parameters
Implement parsing for timer_mode, hpet and vpt_align parameters.

These are all HVM only parameters and hpet/vpt_align are boolean so
change types and place in hvm union accordingly. Also HPET is x86 only
on principle so make this compile-time conditional on arch as-is
viridian.

Signed-off-by: Gianni Tedesco <gianni.tedesco@citrix.com>
2010-07-06 16:55:49 +01:00
Keir Fraser 9e3ba38157 rombios: fix implicit assumption that DS == SS
by passing boot device info by value, not by reference.

Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
2010-07-06 16:51:54 +01:00
Keir Fraser 5bcc7775a7 rombios: pause for a keypress after a failed boot
rombios: inform the user and pause for a keypress after a failed boot
rather than powering off immediately.

Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
2010-07-06 16:49:59 +01:00
Ian Jackson 0c85cce09c tools/hotplug: locking.sh script: fix lock directory remains on error bug
_release_lock should be used instead of release_lock.
sigerr is introduced so that it can be redefined by
xen-hotplug-common.sh to a version which writes error status to xenstore.

Signed-off-by: Kouya Shimura <kouya@jp.fujitsu.com>
2010-07-06 13:10:14 +01:00
Ian Jackson 2157eba42a tools/xenstore: add XS_RESTRICT operation to C xenstore client libs.
The OCaml xenstored supports the XS_RESTRICT operation, which
deprivileges a dom0 xenstore connection so it can only affect one
domain's entries.   Add the relevant definitions to the C libraries
so that callers can use it.

Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
2010-07-06 11:57:20 +01:00
Ian Jackson f2402d342d Merge 2010-07-06 11:54:40 +01:00
Keir Fraser 1b9cecdb88 blktap2: make protocol specific usage of shared sring explicit
I don't think protocol specific data really belongs in this header
but since it is already there and we seem to be stuck with it let's at
least make the users explicit lest people get caught out by future new
fields moving the pad field around.

This is the Xen portion of this change. The kernel portion will be
sent separately. There is no dependency between the two.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Cc: Jeremy Fitzhardinge <jeremy@goop.org>
Cc: Daniel Stodden <daniel.stodden@citrix.com>
Cc: Dongxiao Xu <dongxiao.xu@intel.com>
2010-07-02 18:58:02 +01:00
Ian Jackson c55f511297 tools/pygrub: --not-really option for debugging
Add a --not-really option to pygrub that lets us see what files it would
have extracted instead of actually extracting them.

Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
2010-07-02 17:57:53 +01:00
Ian Jackson 79b518480a tools/pygrub: Fix a typo handling device specs with no partition part
pygrub: fix a typo that causes exceptions when looking at device
specifications that don't have a partition part (e.g. (hd0)).

Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
2010-07-02 17:56:05 +01:00
Ian Jackson baa1aae9cf tools/debugger/gdb: Remove gdb
This code is not maintained, does not work properly, and no-one is
using it.  Delete it, following discussion on xen-devel.
2010-07-02 17:46:01 +01:00
Ian Jackson cb2b6edf55 Merge 2010-07-02 17:34:44 +01:00
Keir Fraser 8c5c89fc7c xenpaging: Fix 32-bit build after fixed-width type changes.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2010-06-30 22:12:54 +01:00
Keir Fraser 79bdfbb588 trace: share t_info pages only in read-only mode
There's no need to share writably the t_info pages (Dom0 only wants
[and needs] to read it)

Signed-off-by: Jan Beulich <jbeulich@novell.com>
Acked-by: George Dunlap <george.dunlap@eu.citrix.com>
2010-06-29 18:18:42 +01:00
Ian Jackson 18aaa3fea9 Merge 2010-06-29 18:02:35 +01:00
Ian Jackson 4b544ba535 tools/pygrub: Fix default when out of range
This is the patch to fix pyGrub default value when it's being set out of
range. This patch makes the quiet and interactive mode select the same
default image when the default value for boot entry is out of range,
i.e. when the guest is having wrong configuration in it's boot loader
(like 3 entries with default mistakenly set to 10 etc).

When the boot entry number is being set out of range it falls back to 0
(first entry of boot loader).

Signed-off-by: Michal Novotny <minovotn@redhat.com>
2010-06-29 16:23:13 +01:00