Commit Graph
3237 Commits
Author SHA1 Message Date
emellor@leeni.uk.xensource.com d4184d7e40 Continue to diagnose the device state, even if Xend has crashed.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
2006-04-20 17:16:27 +01:00
stekloff@dyn9047022152.beaverton.ibm.com 05a89012eb Add small memory warning message to domain configuration examples.
Signed-off-by: Daniel Stekloff <dsteklof@us.ibm.com>
2006-04-19 22:58:24 +01:00
stekloff@dyn9047022152.beaverton.ibm.com ab6021d139 Small Memory fix patch #2: I forgot to change the XmTestDomain method
minSafeMem from 16 to 32.

Signed-off-by: Daniel Stekloff <dsteklof@us.ibm.com>
2006-04-19 22:58:16 +01:00
stekloff@dyn9047022152.beaverton.ibm.com 3be2345829 Fix the 15_create_smallmem_pos.py test, which was failing because the
set console.limit command in the test was never being run. The select in
Console.py was never timing out because there was always someting to read on
the fd, the OOM messages are constant. So the test would hang.

The fix includes:

1) Changing MEM in 15_create_smallmem_pos.py to 32MBs, which is the default
   for the tools that should work.
2) Change the XmConsole init to add an argument to set the console limit
   when it's created.
3) Set a default large limit for console so we won't hang in the future.
4) Added a new 16_create_smallmem_neg.py test to handle failure situation.
5) Added comment in README.

Signed-off-by: Daniel Stekloff <dsteklof@us.ibm.com>
2006-04-19 22:58:03 +01:00
emellor@leeni.uk.xensource.com 00ee1f9b78 Under FC5 multi-line commands in bash script language have to be wrapped
in $(...) instead of '`...`', otherwise the parser seems to get
confused.

Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
2006-04-19 22:54:49 +01:00
emellor@leeni.uk.xensource.com 6b884f9876 This fixes a path problem with the current ACM scripts.
Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
2006-04-19 22:52:34 +01:00
kaf24@firebug.cl.cam.ac.uk 202f5a0b35 The Xen Hypervisor currently operates a bit differently when the
guest is being debugged. The differences are handling of int3 exception
and missed pit timer injections. The Xen hypervisor should get back to
the normal mode when the gdb connection is closed. With the attached
patch gdbserver properly detaches from the guest when the gdb detaches
or quits.

Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com>
2006-04-19 22:19:41 +01:00
kaf24@firebug.cl.cam.ac.uk 44d4831475 Fix swapped calloc() arguments.
Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com>
2006-04-19 18:39:36 +01:00
kaf24@firebug.cl.cam.ac.uk dacb15d5e4 Sync PIT device model with latest qemu and move it to hypervisor.
Signed-off-by: Edwin Zhai <edwin.zhai@intel.com>
2006-04-19 18:38:14 +01:00
kaf24@firebug.cl.cam.ac.uk c702fb4c9d Fix whitespace in libxc. Tabs are manually fixed.
Trailing whitespace removed with:
 perl -p -i -e 's/\s+$/\n/g' tools/libxc/*.[ch]

Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com>
2006-04-15 10:07:31 +01:00
emellor@leeni.uk.xensource.com abd30192c0 This patch enables external devices, such as for example a mounted hard
drive image or a TPM, to be migrated to a remote machine. The patch
hooks into the checkpointing (XendCheckpoint.py) code and performs
migration in 4 different steps:

In a 1st step (step = 0 in the code) migration of all devices of a
domain is 'tested', that means their driver implementations (blkif.py,
netif.py, tpmif.py, usbif.py, pciif.py) are queried whether migration is
possible at all. Currently all device representations respond with a
'yes' (=0), although probably a VM mounting a hard drive partition
should respond with a 'no' (-1) already. This first step is a quick
check to see whether devices can be migrated.

The 2nd step is to do whatever can be done before the domain is
suspended. At this point migration of the device could be initiated, if
at all possible.

The 3rd step is to migrate a device after the domain has been suspended,
meaning that it is not scheduled anymore and the VM is 'settled'. All
devices are called again and a good implementation would initiate the
migration in a background process to achieve as much concurrency as
possible.

The 4th step is to synchronize with the 3rd step. At this point the
implementor has to make sure that anything that was initiated in step 3
has completed. Once all steps 4 have been processed, the VM will resume
on the remove machine.

I have implemented hooks for migration of a virtual TPM in
xen/xend/server/tpmif.py. These hooks call a configurable external
migration tool using the os.popen() call with a fixed command line
parameter set. The implementation refuses to migrate a VM attached to a
virtual TPM if no tool has been provided for migration.
All other devices do not currently overload the 'migrate' method defined
in the DevController.py and therefore will just let migration happen.

I have added hooks for error recovery such that whatever part of
migration has been initiated can be rolled back when any of the devices
fail to migrate in one of the steps. The interface (in tpmif.py) to the
external application now uses os.popen() to allow error handling by
reading the application's output.

Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
2006-04-14 21:22:09 +01:00
Ryan Harper 73b491c2a0 Allow cpus parameter to xm create to accept a range string by removing the
restriction of cpus accepting only integers.

Signed-off-by: Ryan Harper <ryanh@us.ibm.com>
2006-04-14 21:15:38 +01:00
kaf24@firebug.cl.cam.ac.uk e4287d87ae This is a patch for XenMon which only applies to the userspace tools.
The primary purpose of this patch is to add support for non-polling 
access to the xen trace buffers. The hypervisor changes have already 
been accepted.

Also included are a few bug fixes and some minor new features:

1. If xenmon is run without first allocating trace buffers (via 
'setsize') and enabling them (via 'tbctl'), then this is done 
automatically using sensible defaults.

2. There was a bug that caused the first second's worth of data output 
from xenmon to be erroneous; This has been fixed.

3. There was a bug that caused xenmon to sometimes not display data for 
newly created domains; This has also been fixed.

4. The xenmon display has a 'heartbeat' which flickers once per second. 
This is to show that xenmon is still alive, even though the display 
isn't changing at all, a situation that can happen sometimes when there 
is nothing at all happening on a particular cpu.

5. Added cpu utilization display to the top of the xenmon window.

6. Added a bunch of options in xenmon to control exactly which metrics 
are displayed, so the screen doesn't get cluttered with stuff you're not 
interested in. The new options are:
  --allocated
  --noallocated
  --blocked
  --noblocked
  --waited
  --nowaited
  --excount
  --noexcount
  --iocount
  --noiocount

7. Added an option ("--cpu=N") to xenmon to specify which physical cpu 
you'd like data displayed for.

8. Updated the README with information about default trace buffer size, etc.

Signed-off-by: Rob Gardner <rob.gardner@hp.com>
2006-04-14 14:21:12 +01:00
kaf24@firebug.cl.cam.ac.uk 2256643d06 Trivial patch to fix x86_64 builds in which XEN_TARGET_ARCH
is specified on the make command line, e.g.:
     make XEN_TARGET_ARCH=x86_64

This busted the vmxassist and hvmloader builds, which must
be done -m32.  Using "override" in the vmxassist/hvmloader
Makefiles fixes the problem by not allowing this to be
overridden from the command line.

Signed-off-by: Dave Lively <dlively@virtualiron.com>
2006-04-14 14:18:39 +01:00
kaf24@firebug.cl.cam.ac.uk e59a11f58d Fix stack corruption in the libxs python interface. domid_t is a short;
instead use uint32_t like we do in xc.c.

Signed-off-by: John Levon <john.levon@sun.com>
2006-04-13 19:14:11 +01:00
vhanquez@kneesa.uk.xensource.com e43071c7b1 add quota to xenstored.
Signed-off-by: Vincent Hanquez <vincent@xensource.com>
2006-04-13 16:21:13 +00:00
kaf24@firebug.cl.cam.ac.uk ba4a95bee1 In some cases, say for instance for some bizzare reason
the tree was checked out of CVS, which doens't neccessarily
store file permissions, mkbuildtree may not be executable.
So run them explicitly via bash.

Signed-Off-By: Horms <horms@verge.net.au>
2006-04-13 11:24:00 +01:00
kaf24@firebug.cl.cam.ac.uk a94a960c97 The default value used to control whether the guest is set up with localtime
or utc in the RTC was wrong.

Signed-Off-By: Bruce Rogers <brogers@novell.com>
2006-04-13 10:33:46 +01:00
kaf24@firebug.cl.cam.ac.uk 5c0356ec6f Remove some bogus .PHONY Makefile declarations.
Fixes xentop installation.

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-04-11 09:58:04 +01:00
kaf24@firebug.cl.cam.ac.uk 201c3aa978 Fix a couple of typos.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-04-10 17:28:02 +01:00
kaf24@firebug.cl.cam.ac.uk 4f32cad22c Fix push/pop usage in tools/ioemu for x86/64.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-04-10 17:25:42 +01:00
kaf24@firebug.cl.cam.ac.uk 73004d34e4 If the 'cdrom=' option is specified in the definition file but media is
not found in the CD drive then main() in vl.c exits and the guest appears 
to hang.  This patch modifies vl.c slightly to check for the presents of 
media.  If the cdrom cannot be opened then the cd entry is removed from 
hd_filename[] and bs_table[] allowing the guest to continue initializing. 
If the guest requires the CD media then the guest should report, gracefully
or otherwise, that it's missing.

From: Ross Maxfield <rmaxfiel@novell.com>

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-04-10 17:16:25 +01:00
kaf24@firebug.cl.cam.ac.uk b5fa90ac8e build: Clean up use of .PHONY
* Move .PHONY directives next to targets,
  this makes them a lot harder to miss
* Add missing .PHONY directives
* Remove nonexistent .PHONY directives
* Hopefully I didn'T miss anything...

Signed-Off-By: Horms <horms@verge.net.au>
2006-04-10 17:02:49 +01:00
kaf24@firebug.cl.cam.ac.uk 0198288b1f build: Clean pygrub's a.out
Signed-Off-By: Magnus Damm <magnus@valinux.co.jp>
Signed-Off-By: Horms <horms@valinux.co.jp>
2006-04-10 16:36:38 +01:00
emellor@leeni.uk.xensource.com 224cab0dfd Merged. 2006-04-10 16:36:03 +01:00
emellor@leeni.uk.xensource.com 02e0e0d9bb Initialise offsetopt when offset == 0. Closes bug #599.
Report and diagnosis by Robert Hendrickx <robert.hendrickx@advalvas.be>.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
2006-04-10 16:28:52 +01:00
emellor@leeni.uk.xensource.com 913843e16b Fix call to server, using new XendClient syntax.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
2006-04-10 16:26:23 +01:00
vhanquez@kneesa.uk.xensource.com cfca4d6941 fix bug #609 - error: PIC register bx' clobbered in asm'
Signed-off-by: Vincent Hanquez <vincent@xensource.com>
2006-04-10 14:51:10 +00:00
emellor@leeni.uk.xensource.com 9a74026a08 I used the wrong operator in a couple places for putting together some
error messages out of format strings. This patch corrects those
operators and fixes the strings.

Signed-off-by: Ryan Wilson <hap9@epoch.ncsc.mil>
2006-04-10 14:47:51 +01:00
smh22@firebug.cl.cam.ac.uk 6ca8eebc9b Additional sanity / compatability checks during guest build.
Signed-off-by: Steven Hand <steven@xensource.com>
2006-04-07 15:58:00 +01:00
emellor@leeni.uk.xensource.com 547a12d6d3 Merged. 2006-04-07 11:52:00 +01:00
smh22@firebug.cl.cam.ac.uk 8f07d04c60 Merge. 2006-04-06 17:49:21 +01:00
emellor@leeni.uk.xensource.com 1d060e23af This adds proper cleanup in case of a failure.
Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
2006-04-06 17:41:07 +01:00
smh22@firebug.cl.cam.ac.uk 5e1e26bd96 Make root page table sanity check on restore more generic.
Signed-off-by: Steven Hand <steven@xensource.com>
2006-04-06 17:34:54 +01:00
kaf24@firebug.cl.cam.ac.uk 66edd49a38 Add code to make handling domain poweroff/reboot symmetrical between
paravirtualized and fully virtualized.  This approach uses the new
sched_op to handle other domains than the current domain.  The new
code, SCHEDOP_remote_shutdown, is very much like SCHEDOP_shutdown, but
is called with the id of the domain which is to be shut down. This
allows fully virtualized shutdown and para-virtualized shutdown to be
identical from that point forward.

A paravirtualized domain uses sched_op to shut down and set the reason
code. This will send a VIRQ_DOM_EXC, which can be handled in dom0 by
control software.  In some ways, this resembles SIGCHILD/waitpid, and
is a reasonable model.

The fully virtualized case has qemu invoke xm directly. This is a
different path than paravirtualized. It also removes decision and
policy making choices from the rest of the control software and places
it within qemu. When any dom0 logic eventually gets a VIRQ_DOM_EXC,
the information about the domain is gone having been destroyed by xm.

A libxenctrl wrapper, xc_shutdown_domain has been added and qemu now
calls it.

As a freebie, #if 0 some very verbose logging code in qemu.  Totally
unrelated, but as long as I was there...

Signed-off-by: Ben Thomas <ben@virtualiron.com>
2006-04-06 15:24:00 +01:00
apeace@paploo.uk.xensource.com 4d9b8db9fc Fix the example xend init.d script so it correctly detects when it is running
in a guest.

Signed-off by: Andrew Peace <andrew@xensource.com>
2006-04-06 14:58:55 +01:00
emellor@leeni.uk.xensource.com 45bd0044c4 Factor out the parsing of XAUTHORITY, so that it can be used by the unit test,
and fix that test to use it.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
2006-04-06 14:22:52 +01:00
emellor@leeni.uk.xensource.com d5ed151f12 Fix test to match change to DCE formatting of UUIDs.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
2006-04-06 14:21:45 +01:00
kaf24@firebug.cl.cam.ac.uk a6ac8cd281 Remove some unnecessary code from the vTPM hotplug scripts.
Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
2006-04-06 09:40:15 +01:00
emellor@leeni.uk.xensource.com f743566e86 Merged. 2006-04-06 00:59:18 +01:00
emellor@leeni.uk.xensource.com d220279c33 Further workarounds for the broken string marshalling in xmlrpclib. Regardless
of the encoding used, one still may not include non-printable characters in an
XML document.  When a dmesg contains a ^D character, something seen on one of
our test machines, an invalid XML document is generated.

Use a trick by David Mertz to work around this -- escape the string using
Python's repr function.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
2006-04-06 00:59:06 +01:00
kaf24@firebug.cl.cam.ac.uk beac48024f gdbserver readme update.
Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com>
2006-04-05 10:54:29 +01:00
kaf24@firebug.cl.cam.ac.uk e95a4836bc Define Xen interface version for tools build.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-04-05 10:41:11 +01:00
emellor@leeni.uk.xensource.com c0693d2c6e Workaround bug in xmlrpclib's string escaping. That library outputs invalid
UTF-8 if given a string containing high-bit characters, so instead pass in
Unicode strings, for which the escaping is correct.

This fixes a bug seen when the dmesg of a machine contains high bit characters,
but I'm sure there are other ways in which it might be triggered.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
2006-04-04 11:08:20 +01:00
emellor@leeni.uk.xensource.com cb52e35a60 Merged. 2006-04-03 23:58:40 +01:00
emellor@leeni.uk.xensource.com 2df295f268 Lookup backend by name _or_id_. This is important for domain 0, for example!
Signed-off-by: Ewan Mellor <ewan@xensource.com>
2006-04-03 23:57:42 +01:00
emellor@leeni.uk.xensource.com d0263f0fa4 Fix cpus string parsing, wrt use of ^ to remove elements.
Patch from Satoshi Uchida <s-uchida@ap.jp.nec.com>.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
2006-04-03 18:39:21 +01:00
mip@xencore04.1virtual.net ea0ce2d439 Improve pygrub error reporting when opening ext2 fs is not possible
As reported in the thread:
http://lists.xensource.com/archives/html/xen-users/2006-03/msg00721.html,
pygrub does not open ext2 file systems in partitioned images or sub
partitions on e.g. CentOS/RHEL 4, because e2fsprogs ext2fs_open does not
support an offset into the file to be opened.

With this patch, the error is correctly reported instead of a generic
"unable to open file" (and leaving the user searching in the dark).

Signed-off-by: Michael Paesold <mpaesold@gmx.at>
2006-04-03 18:28:54 +01:00
tkuik@tkuik-lnx2.cisco.com d2a5e52e8c Allow a domain other than Domain-0 to be a backend.
Signed-off-by: Tim Kuik tkuik@cisco.com
2006-04-03 18:23:00 +01:00
kaf24@firebug.cl.cam.ac.uk 6daae768eb Remove some dead code from the consoled client.
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2006-04-03 17:48:39 +01:00