Commit Graph
6385 Commits
Author SHA1 Message Date
Keir Fraser a7f2eeb898 ACM: Put hash of XML policy into binary policy to tie them together
This patch extends the ACM binary policy format with an embedded hash
of the corresponding XML policy in order to tie them together. This
allows xend to determine whether it has the correct XML policy in its
repository and react appropriately if it does not have it.

Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
2008-04-23 13:29:09 +01:00
Keir Fraser 8318d7d63d Revert 17499:451ae3b8e5c8
Breaks HVM guest creation (bugzilla #1221).

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-04-23 13:30:24 +01:00
Keir Fraser 3b64ad17ca blktap: Automatically start tapdisk-ioemu on demand
When a domain wants to use a tap:ioemu disk but has no device model,
start a tapdisk-ioemu instance as provider. Also, move the creation
and removal of communication pipes to xend so that qemu-dm doesn't
need the unwanted SIGHUP handler anymore.

Signed-off-by: Kevin Wolf <kwolf@suse.de>
2008-04-22 14:39:33 +01:00
Keir Fraser dfff66aee9 x86_emulate: Support CMPXCHG16B.
Also clean up cmpxchg() callback handling so we can get rid of teh
specific cmpxchg8b handler.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-04-22 14:34:16 +01:00
Keir Fraser fd6c8de67e console: Provide option to stall the inter-domain console ring rather
than discard characters in the console daemon buffers.

New option: -o, --overflow-data=discard|keep

This option changes the behaviour when dealing with data that overflow
the max capacity of the buffer. If overflow-data is set to discard
(the default), the current behaviour is used: we discard some data in
the middle of the buffer.

If overflow-data is set to keep, we stop listening to the ring until
we free some space in the buffer. This can cause the ring to fill up
and the guest kernel internal buffer to fill up as well. When this
happens the guest kernel stops reading characters from the console
device so the application generating data hangs. When xenconsoled
resumes reading from the ring, the guest kernel will be able to resume
reading from the console device as well. At that point the guest
application will be allowed to continue.

The risk of making this behaviour the default is that existing kernel
drivers may assume they can rely on timely ring updates by the console
daemon and thus themselves block on the ring being emptied.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
2008-04-22 10:34:55 +01:00
Keir Fraser 978e9bef8c hotplug scripts: Fix sharing check for blktap
Run check_blktap_sharing() only when a disk is added to guest with blktap.
A check_blktap_sharing() doesn't have to be run when a disk is removed.

Signed-off-by: Hirofumi Tsujimura <tsujimura.hirof@jp.fujitsu.com>
Signed-off-by: Takanori Kasai <kasai.takanori@jp.fujitsu.com>
2008-04-22 10:29:32 +01:00
Keir Fraser bd5b777ef9 xm: Add a new command: xm reset
If a hang-up of a guest OS occurs, we will restart the guest OS by
using
the following commands.
 1. xm destroy
 2. xm create or xm start

To reduce the number of xm commands to use, this patch adds a new
command.  The command is "xm reset".  The command executes destruction
of a domain, and then creation of the domain.

Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
2008-04-22 10:18:13 +01:00
Keir Fraser 4b9fd1bad1 ioemu: Fix cross-build of tapdisk-ioemu
changeset e1962ac0fb1c breaks cross-builds because it assumes the
system strip tool applies to the generated binaries.  This assumption
isn't made anywhere else in the xen tools build.

Signed-off-by: Aron Griffis <aron@hp.com>
2008-04-18 11:08:10 +01:00
Keir Fraser a6836b4fdd x86_emulate: Implement a more dynamic interface for handling FPU
exceptions, which will allow emulation stubs to be built dynamically
in a future patch.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-04-16 16:10:41 +01:00
Keir Fraser a6a8223242 x86, hvm: Lots of MTRR/PAT emulation cleanup.
- Move MTRR MSR initialisation into hvmloader.
 - Simplify initialisation logic by overlaying UC on default WB rather
   than vice versa.
 - Clean up hypervisor HVM MTRR/PAE code's interface with rest of
   hypervisor.

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-04-16 13:36:44 +01:00
Keir Fraser 5539f61f5b stubdom: make use of PVFB resize event
which with the offset support also permits to expose the VGA vram and
non-shared vram throught PVFB at the same time, switching between both
as appropriate.

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-04-16 10:21:08 +01:00
Keir Fraser 426747a871 ioemu: drop reschedule of handle_buffered_io on I/O reqs
Rescheduling the call to handle_buffered_io costs the system call to
qemu_get_clock(), which is very expensive considering the the latency
we would like to achieve for I/O reqs, so we should avoid it.

That means that handle_buffered_io may be called as often as every
0.1s, but that's not so costly.

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-04-16 10:07:49 +01:00
Keir Fraser 28baa78877 stubdom: sparse application's BSS by linking it separately first, put
markers at its beginning and end, and then link with mini-os.
That permits to stick a bit more to upstream qemu.

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-04-16 10:05:57 +01:00
Keir Fraser bb475a64ea [LIBFSIMAGE] Support 256 byte inodes on ext3
Patch taken from Debian grub package version 0.97-32.
See http://bugs.debian.org/463236 & http://bugs.debian.org/463123

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
2008-04-16 09:45:44 +01:00
Keir Fraser b42f8b07d1 hvmloader: Explicitly revert to text section after declaring bss fields.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-04-15 18:11:44 +01:00
Keir Fraser 1eaea3f0b6 hvmloader: Framework for multiprocessor initialisation.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-04-15 16:39:00 +01:00
Keir Fraser 98892a5e57 tools: Build fixes for *BSD.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-04-15 16:07:30 +01:00
Keir Fraser fb6dd9a130 ioemu: COW driver flush method should return an int.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-04-15 16:04:30 +01:00
Keir Fraser ef3c86eb81 xend/acm: Fixes to labelling of resources.
Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
2008-04-15 10:24:55 +01:00
Keir Fraser f541851c79 hvmloader: Small cleanups.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-04-14 14:10:11 +01:00
Keir Fraser 5ace6c1924 hvm: Add HVM_PARAM_DM_DOMAIN to let ioreq events go to a stub domain
instead of dom0.

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-04-11 17:19:07 +01:00
Keir Fraser aa3ca83fda tools: Make xend set time offset for all kinds of domains, so that
ioemu doesn't need to do it.

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-04-11 09:14:03 +01:00
Keir Fraser 8a7227082a libxenguest: Fix a typo.
Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
2008-04-11 09:07:58 +01:00
Keir Fraser f342e8630c hvmloader: Fix build with gcc 4.1 and later.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-04-10 09:12:44 +01:00
Keir Fraser 1386e66a6e libxc: Move xg_memalign() into a proper source file, so that it
definitely does not leak out of tools/libxc. Return to the
ioemu/osdep.c way of checking for posix_memalign() as this works on
Solaris.

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-04-09 17:49:25 +01:00
Keir Fraser 3cb6817ad5 libxc: Leave portability of xg_memalign() as in original patch, rather
than following ioemu/osdep.c. This unbreaks build of readnotes.

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-04-09 16:54:44 +01:00
Keir Fraser 43650c346e save/restore: Use page-aligned allocations for hypercall args that are
mlock()ed across other hypercall invocations, to avoid aliasing with
other hypercall arguments, causing spurious unlocking.

Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
2008-04-09 16:31:16 +01:00
Keir Fraser 9e4828ca8b x86 libxc: Fix mlock sizes in libxc around vcpu context hypercalls
backing off to the old behaviour if we fail.

Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
2008-04-09 16:24:46 +01:00
Keir Fraser 2434aa5074 lsevtchn: Simple tool to list event channel states for a domain.
Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
2008-04-09 16:11:34 +01:00
Keir Fraser b26eb8f848 ioemu: Fix rtl8139 emulation so that reboot works correctly in 64-bit
Windows VMs. Return an error if the guest OS tries to transmit a
packet with the transmitter disabled, so that it doesn't spin forever
waiting for it to complete.

Signed-off-by: Steven Smith <Steven.Smith@eu.citrix.com>
2008-04-09 16:03:40 +01:00
Keir Fraser 02cb043f47 xenstore: Place return statement in the correct place to fix the build.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-04-09 16:02:49 +01:00
Keir Fraser 3d40548921 xenstore: fix canonicalize for metanodes
Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
2008-04-09 15:59:54 +01:00
Keir Fraser be4ba13470 hvm: Allocate memory for hvm domains in batches.
Without this change, dom0 is unresponsive while the hvm domain's
physmap is populated in xen.

Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
2008-04-09 15:25:16 +01:00
Keir Fraser 1a74322648 save/restore: Batch contiguous page-sized writes together during domain save.
Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
2008-04-09 15:19:09 +01:00
Keir Fraser 0691d7b911 Install missing ia64 hvm public headers.
Signed-off-by: Kouya Shimura <kouya@jp.fujitsu.com>
2008-04-09 13:53:38 +01:00
Keir Fraser 656217ee9c hvmloader: Build with -Werror.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-04-09 13:52:52 +01:00
Keir Fraser 472f532c1d hvmloader: Fix parsing Etherboot roms to avoid an infinite loop.
Signed-off-by: Yosuke Iwamatsu <y-iwamatsu@ab.jp.nec.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-04-09 13:52:34 +01:00
Keir Fraser 1cdc9dd9e2 xenstore: fix Solaris compile with newer GCC versions
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-04-09 13:32:21 +01:00
Keir Fraser ad2d0860f3 xenstore: merge xenstore-ls into the multicall binary.
This is done separately from moving the other utilities into the
mutlicall since ls is slightly different and was already separate.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
2008-04-09 13:31:19 +01:00
Keir Fraser 58b534c5d7 xenstore: make the xenstore clients a single multicall binary
rather than multiply compiled source.

This saves a bunch of space when statically compiling.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
2008-04-09 13:30:37 +01:00
Keir Fraser dde3e02b70 xenstore: support building the xenstore clients statically.
This removes threading from libxenstore.a (but not libxenstore.so)
since pthreads is incompatible with static linking and none of the
command line clients require threads anyway.

It is now possible to build these utilities statically with a uclibc
toolchain which is useful for small userspace utility domains.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
2008-04-09 13:27:33 +01:00
Keir Fraser e90bc46da3 x86, vmx: Enable EPT (Extended PageTable) support on new Intel processors.
We use the EPT page table as P2M (guest physical to machine
mapping), removing the linear page table when EPT is used for the
domain (see the new file p2m-ept.c). We did this by adding three
operations in the p2m_domain. If VT-d is enabled, the EPT page table
will be used as the VT-d page table as well (i.e. shared).

Signed-off-by: Xin Li <xin.b.li@intel.com>
Signed-off-by: Jun Nakajima <jun.nakajima@intel.com>
Signed-off-by: Xiaohui Xin <Xiaohui.xin@intel.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-04-09 11:30:32 +01:00
Keir Fraser e5523678d7 ioemu: Add tapdisk-ioemu tool
Currently, tap:ioemu can only be used for domains which have a device
model running. This isn't the case for all domains. The most important
of the missing domains is Dom0 which needs acces e.g. to extract the
kernel from the domain's image.

tapdisk-ioemu is a tool compiled from ioemu source plus a small
wrapper which handles tap:ioemu access for domains without device
model (currently Dom0). You must start tapdisk-ioemu manually before
trying to attach a tap:ioemu disk to Dom0 at the moment. A patch to
blktapctrl will follow to automatically start tapdisk-ioemu when
needed.

Signed-off-by: Kevin Wolf <kwolf@suse.de>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-04-08 11:41:27 +01:00
Keir Fraser 7c4dc2c627 xm: Fix xm shutdown for xendomains.
If xm shutdown command is passed the domain ID, it should still wait
for the shutdown completion of the domain if passed option --wait.

Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
2008-04-08 09:57:37 +01:00
Keir Fraser 54cdc383f1 Split the meaning of "dom0-min-mem = 0" to a new option.
I have written a patch to split the current meaning of
"dom0-min-mem = 0" to a new option "enable-dom0-ballooning".

Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-04-07 15:01:26 +01:00
Keir Fraser 01d02daa5f xend: Don't allow dom0 memory to be ballooned below dom0-min-mem
configuration parameter.

Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
2008-04-05 22:25:30 +01:00
Keir Fraser ded4af0862 ioemu: drop duplicate memory reservation
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-04-05 22:21:42 +01:00
Keir Fraser a17eacb099 stubdom: trivial warning fixup
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-04-05 22:21:01 +01:00
Keir Fraser aae7fe3fa4 stubdom: add asynchronous disk flush support
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-04-05 22:20:25 +01:00
Keir Fraser bbe94b0199 ioemu: advertise write cache feature
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-04-04 15:43:01 +01:00