Commit Graph
3101 Commits
Author SHA1 Message Date
emellor@leeni.uk.xensource.com a04a7ff5d7 xm top was listed twice in the help message -- remove it from the Host Commands
section, leaving it in the Domain Commands section.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
2006-03-13 11:10:27 +01:00
emellor@leeni.uk.xensource.com a6ecc050ac Merged. 2006-03-11 15:40:33 +01:00
emellor@leeni.uk.xensource.com b8a074a337 Remove blank line -- this was causing all the tests to be run twice, because
the blank line is interpreted as running make check in tests/.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
2006-03-11 15:40:26 +01:00
emellor@leeni.uk.xensource.com fa5d293962 Merged. 2006-03-11 11:53:22 +01:00
emellor@leeni.uk.xensource.com 47c5f83bbf Define TESTS to be the .test files, not the .py files, otherwise the chmod +x
doesn't get called.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
2006-03-11 11:52:40 +01:00
root@dyn9047022116.beaverton.ibm.com 8f846225c2 HG Patch
Add feature to layer xm-test tests, grouping of tests by casename and
execution of tests by user specified lists.

Signed-off-by: Woody Marvel <marvel@us.ibm.com>
2006-03-11 11:46:38 +01:00
emellor@leeni.uk.xensource.com 99aa5b9d69 - Reworked to use your match_domid suggestion and filtering
- Aligned output and help to fit within 80 char limit
- User now deals in milliseconds instead of nanoseconds
- Fixed some missing parens in tests (I had pushed stale versions)
- Updated tests to deal with period/slice/latency in ms

root@bebop:~/xm-test.sedf/tests/sedf # xm sched-sedf
Name                              ID Period(ms) Slice(ms) Lat(ms) Extra Weight
Domain-0                           0      20.0      15.0     0.0      1      0

Signed-off-by: Ryan Harper <ryanh@us.ibm.com>
2006-03-11 11:45:10 +01:00
emellor@leeni.uk.xensource.com ac66d2a120 Merged. 2006-03-11 11:20:32 +01:00
emellor@leeni.uk.xensource.com 9956421b1d Trivial fix to bind implementation.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
2006-03-11 11:19:11 +01:00
kaf24@firebug.cl.cam.ac.uk 996548fdac Enable the ejection of the physical cdrom tray, when user enters
"eject cdrom" in the control console of a VMX guest.

Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com>
2006-03-11 10:44:48 +01:00
kaf24@firebug.cl.cam.ac.uk 945758df89 More build config changes:
- Build -O2 rather than -O3
 - Build with -Wstrict-prototypes
 - Move target-specific generic compiler switches to Config.mk

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-03-10 17:32:04 +01:00
kaf24@firebug.cl.cam.ac.uk 27d7304ed7 Replace memory_op subcommands reserved_phys_area and map_shared_info
with new subcommand add_to_physmap.

This changes the domain0 tools interface, but only when building
shadow-translate-mode guests.

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-03-10 16:00:36 +01:00
emellor@leeni.uk.xensource.com 4c60bf6232 Minor fix to error message.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
2006-03-10 11:47:24 +01:00
emellor@leeni.uk.xensource.com c785b4684e Simplify the interface into httpserver and UnixHttpServer -- the root and
interface parameters are always used, so there's no need for them to be named
parameters with defaults.

Remove unused httpserver.getRoot and getPort, and simplify the main request
loop.  This means that socket errors do not have to be squelched.

Coalesce the two identical bind methods, one in UnixHttpServer, one in
UnixListener.  Fix this bind method to set the permissions on the socket
explicitly.  This closes a security hole, and fixes the intermittent failure
of xm-test/06_list_nonroot.test.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
2006-03-10 11:44:03 +01:00
emellor@leeni.uk.xensource.com 95c4e70768 Untangle XendRoot and XendLogging by having XendLogging check the global
params.XEND_DEBUG value itself.  This removes the need for addLogStderr and
removeLogStderr.  Remove the maxBytes and backupCount parameters to init, as
they are unused and we only use the hardcoded values anyway.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
2006-03-10 11:38:15 +01:00
emellor@leeni.uk.xensource.com e3667a70ba The attached patch cleans up the parsing of /proc/xen/balloon that
occurs in xend.  Currently, the parsing is hard-coded; it expects that
the desired number is on the first line.  My patch is more robust; it
lets values be retrieved by a label.  It also exposes a few functions to
retrieve the current allocation and the target allocation.

By abstracting this a little better, I'll be able to address a few
other issues in subsequent patches.  Mostly, this allows for better
error checking and guidance for the user.  For example, by exposing
get_dom0_current_alloc(), we can (elsewhere, in a later patch) calculate
how large of a VM could potentially be started.  This is useful, as it
lets simple VM-creation GUIs guide the user towards reasonable memory
values for new VMs.

Signed-off-by:  Charles Coffing <ccoffing@novell.com>
2006-03-10 11:05:59 +01:00
stekloff@elm3b216.beaverton.ibm.com 6527a35765 Fix test 11_create_concurrent_ps.py for HVM domains. HVM can only
load as many disk.img domains as there are loop devices. Added a
small function to get number of loop devices to be used as a max
for number of concurrent domains the test launches.

Signed-off-by: Daniel Stekloff <dsteklof@us.ibm.com>
2006-03-10 10:54:25 +01:00
kaf24@firebug.cl.cam.ac.uk aa3ab8bcd7 Fix the gdbserver-xen for VMX guests.
Signed-Off-By:  Nitin A Kamble <nitin.a.kamble@intel.com>
2006-03-10 09:11:33 +01:00
emellor@leeni.uk.xensource.com 1687b5932a This patch
-Displays current parameters for running domains ala xm list
-Allow users to set one or more parameters without having to
 provide values for parameters they do not wish to change
-Adds additional testing of sched-sedf via new xm-test testcases.

With this patch applied, test 02_sedf_period_lower_neg.py exposes a
bug.  I'll follow up this email with a patch for the bug.

Signed-off-by: Ryan Harper <ryanh@us.ibm.com>
2006-03-10 01:08:59 +01:00
stekloff@localhost.localdomain 0552b3845c Adding hping TCP and UDP tests. They hping a number of packets to
local interface, dom0, and from domU to domU. HVM support included.

Signed-off-by: Jim Dykman <dykman@us.ibm.com>
Signed-off-by: Daniel Stekloff <dsteklof@us.ibm.com>
2006-03-10 00:49:54 +01:00
stekloff@elm3b216.beaverton.ibm.com 872f58b6fd Fix xmtest 13_create_multinic_pos.py to work with HVM.
Signed-off-by: Daniel Stekloff <dsteklof@us.ibm.com>
2006-03-10 00:49:08 +01:00
kaf24@firebug.cl.cam.ac.uk e7ccd01faf Fix a few small issues in xc_domain_dumpcore:
xc_domain_getinfo returns information about a domain, but not
necessarily the one you asked about.  Add check for this.

max_vcpu_id in xc_domain_getinfo is really an ID, not a count, so
make the loop include the last VCPU

Signed-off-by: Ben Thomas <ben@virtualiron.com>
2006-03-09 23:07:27 +01:00
kaf24@firebug.cl.cam.ac.uk d27fbb0061 Move 'debug' build option into the outermost Config.mk file.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-03-09 22:31:45 +01:00
kaf24@firebug.cl.cam.ac.uk 326450f67e Clean up the usage of CFLAGS. This is nice for packagers, who would
like to control the base compilation flags from a central place.

Signed-off-by: Charles Coffing <ccoffing@novell.com>
2006-03-09 21:17:45 +01:00
cl349@firebug.cl.cam.ac.uk e2b8c75165 Change the location of the shared_info page for auto_translated_physmap guests.
Instead of putting the page outside of the guests pseudo-physical address
space, we put it next to the other pages filled by the domain builder,
such that the page is already mapped in the initial pagetables and/or a
lowmem-type memory mapping.

Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2006-03-09 16:24:57 +00:00
kaf24@firebug.cl.cam.ac.uk f736587680 Make xc_linux_build() load the initrd page-by-page rather
than all in one go, to conserve memory. This always has been
the behaviour, but it was changed by a changeset earlier today.

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-03-09 15:16:35 +01:00
kaf24@firebug.cl.cam.ac.uk d2017c7b16 Clean up internal libxc functions to take 'const char *'
parameters where possible, to avoid unnecessary casts.

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-03-09 14:35:36 +01:00
kaf24@firebug.cl.cam.ac.uk 2be317cd91 Add a parallel set of APIs to the domain builders to allow images and
ramdisks to be passed via buffer, rather than via file.  This allows
usage of the underlying domain building routines in "file-challenged"
enviroments.

Specifically, xc_linux_build_mem is the buffer oriented version of the
file-oriented xc_linux_build.  Likewise, xc_hvm_build_mem is the
buffer oriented analog of the file based xc_hvm_build.

Signed-off-by: Ben Thomas (bthomas@virtualiron.com)
2006-03-09 13:00:38 +01:00
kaf24@firebug.cl.cam.ac.uk 2c727b6f3f Adds a new device interface to xend/xm similar to the one for ioports
where an interrupt (irq) can be specified in the configuration file
and permission to bind to that interrupt will be given to a driver
domain.

This functionality could be used when trying to give a legacy device
to a driver domain. For example, by specifying the i/o ports and the
interrupt of your serial controller, you can use this patch to put a
serial port in a driver domain. This was discussed briefly on
xen-users in regards to using an external modem in a domU:

http://article.gmane.org/gmane.comp.emulators.xen.devel/20573
http://article.gmane.org/gmane.comp.emulators.xen.user/8754

Also adds the ability to specify irqs on the xm command-line when
creating a domain (the following examples show a serial port being
given to a domU):

xm create serial-dd irq=4 ioports=03f8-03ff

or in a flat config-file:

irq = [4]
ioports = ['03f8-03ff']

or in an SXP config file:

(device (irq (irq 4)))
(device (ioports (from '0x03f8')(to '0x03ff')))

The ioports functionality is already in xen, but this patch also fixes a
bug with it that I assume cropped up due to changes in xend since it was
submitted ('dev' doesn't exist in iopif.py, returning 'None' seems to be
the solution).

Also adds some in-line documentation in tools/python/xen/xm/create.py
to be more accurate regarding adding pci devices and i/o ports on the
command-line.

Signed-off-by: Ryan Wilson <hap9@epoch.ncsc.mil>
2006-03-09 11:20:31 +01:00
kaf24@firebug.cl.cam.ac.uk 6a883b0d6a Fix order-of-evaluation issue in xc_domain_dumpcore. The intent is
to move blocks of memory 4096 pages at a time, and a buffer is
allocated for this.  Unfortunately, the #define is without
parentheses and %/* are the same order and evaluated left to right.
Result: very big buffer being used 4 pages at a time.

Signed-off-by: Ben Thomas (bthomas@virtualiron.com)
2006-03-09 11:16:46 +01:00
kaf24@firebug.cl.cam.ac.uk 97e26d34f2 Clean up the interface for sharing xen-heap pages with guests.
Map trace buffer pages as DOMID_XEN pages.

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-03-09 00:45:40 +01:00
kaf24@firebug.cl.cam.ac.uk a5414d898b Ensure old Python files are overwritten during tools install.
Signed-off-by: Akio Takebe <takebe_akio@jp.fujitsu.com>
2006-03-08 11:18:39 +01:00
kaf24@firebug.cl.cam.ac.uk 6dab2f670d Add next/previous key bindings to XenMon curses mode.
Signed-off-by: Diwaker Gupta <dgupta@cs.ucsd.edu>
2006-03-06 23:47:53 +01:00
kaf24@firebug.cl.cam.ac.uk bcdecd7942 Fix reporting of time intervals in the log mode of XenMon.
Fix duration to sleep between iterations (earlier hardcoded to 1sec)
Signed-off-by: Diwaker Gupta <dgupta@cs.ucsd.edu>
2006-03-06 23:47:14 +01:00
kaf24@firebug.cl.cam.ac.uk 1d9f9d55bd Simplify ptrace_names array declaration.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-03-06 19:26:30 +01:00
kaf24@firebug.cl.cam.ac.uk d3174e2e2e Fix build with some gcc versions.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-03-06 18:05:09 +01:00
kaf24@firebug.cl.cam.ac.uk 9603c69e65 libxc: Verify Magic number when reading dump
The xen core files record a magic number, 
but when they are loaded it isn't checked.
This patch resolves this.

Signed-Off-By: Horms <horms@verge.net.au>
2006-03-06 15:04:18 +01:00
kaf24@firebug.cl.cam.ac.uk e265d47bd6 Consolidate xc_ptrace and xc_ptrace_core
* xc_ptrace
  - Merge xc_ptrace_core into xc_ptrace
  - ATTACH now reads the data argument. If non-zero then
    a corefile is being debuged. Otherwise a thread has
    been attached to. This allows xc_waitdomain_core() or
    xc_waitdomain() to be called as appropriate in
    subsequent xc_ptrace() calls.
* xc_waitdomain
  - Rename xc_waitdomain (xc_ptrace.c version) __xc_waitdomain
  - Rename xc_waitdomain (xc_ptrace_core.c version) xc_waitdomain_core
  - Create xc_waitdomain (in xc_ptrace.c), a wrapper for __xc_waitdomain
    and xc_waitdomain_core.
  Consolidation seemed difficult but ctxt needs to be
  passed into xc_waitdomain_core or made global.
  Alternatively, xc_waitdomain_core could be moved into xc_ptrace.c,
  but this seems messy.
* map_domain_va
  - Rename map_domain_va (xc_ptrace_core.c version) map_domain_va_core
  - Have it accept ctxt, like xc_waitdomain_core
* myptrace and myxcwait (linux-xen-low.c)
  Removed, call the now generic xc_ptrace() and xc_waitdomain() instead

When calling xc_ptrace ATTACH, if a corefile is in use, a fd will
be passed, otherwise a pid. The fd part is important, as this
is saved internally in xc_ptrace_core.c, and passed to xc_waitdomain_core()
as neccessary. Pereviously xc_waitdomain_core() received a pid and
thus could not open the corefile.

Signed-Off-By: Horms <horms@verge.net.au>
2006-03-06 12:06:55 +01:00
kaf24@firebug.cl.cam.ac.uk d531f7eb39 libxc: xc_ptrace cleanups
General Cleanups
* Use { after if consistently in xc_ptrace.c and xc_ptrace_core.c
  (But not in xc_ptrace_core() which should be removed shortly)
* Remove duplicate code and centralise around xc_ptrace.h
* Avoid ifing values covered by case in xc_ptrace()
  - PTRACE_GETREGS, PTRACE_GETFPREGS and PTRACE_GETFPXREGS are grouped into
    a single case, and then with the exception of a call to FETCH_REGS(),
    different code is executed based on ifing the values covered by the
    case.  The PTRACE_GETFPREGS and PTRACE_GETFPXREGS code is actually a
    duplicate.  This patch breaks the code out to two different cases.

Error Handling
* Eliminate FETCH_REGS macro as it forces several functions
  to have an otherwise uneeded error_out label, mittigating
  any code savins.
* Rework error handling in xc_ptrace().
  - Remove FETCH_REGS as above
  - Make sure that all dom0 errors are caught
  - Make sure errno is always set on error
* Eliminate gotos in xc_ptrace_core.c that do nothing but return

Signed-Off-By: Horms <horms@verge.net.au>
2006-03-06 12:05:44 +01:00
emellor@leeni.uk.xensource.com 8ff99da748 Merged. 2006-03-04 19:16:36 +01:00
emellor@leeni.uk.xensource.com 8ee550dbe0 Allow callers to XendClient.xend_list_domains to specify the detail flag, and
turn detail off when doing vcpu-list.  This avoids calls to xenstore just to
get the list of domains for the vcpu-list call, significantly increasing
performance of that command on loaded systems.

Closes bug #545.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
2006-03-04 19:15:36 +01:00
emellor@leeni.uk.xensource.com d34501c219 Log the tdb_error when a read fails with EIO. This is happening after a long
time under load -- hopefully this message will suggest why.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
2006-03-04 19:12:37 +01:00
kaf24@firebug.cl.cam.ac.uk 0a4522458b Fix some warnings when compiling tools.
Signed-off-by: Xin Li <xin.b.li@intel.com>
2006-03-04 10:25:05 +01:00
kaf24@firebug.cl.cam.ac.uk 262bd587ce /proc/xen/xsd_kva exports mmap interface that xenstored now uses to map the
domain0 xenbus page.

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-03-03 19:07:55 +01:00
kaf24@firebug.cl.cam.ac.uk 74bb865dac Avoid floating point in hash table implementation.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-03-03 19:06:50 +01:00
emellor@leeni.uk.xensource.com 39dbaabab7 Merged. 2006-03-03 15:56:34 +01:00
emellor@leeni.uk.xensource.com ecabde4c14 Change the way that reboot-timeouts are handled. Rather than refreshing the
list of domains each time XendDomainInfo.refresh is called, and spawning
threads for each shutdown still in progress, we watch the control/shutdown
node and spawn just the one thread immediately.  When the daemon starts (say
after a crash) all domains are checked for entries in the store indicating a
reboot in progress.

This avoids a large cost on the store and in threads when the list of domains
is refreshed.  This happens every time the server is queried, so the cost can
be quite high.  It's especially a high cost when using xm shutdown -a -w --
this operation should perform a lot better now.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
2006-03-03 15:41:56 +01:00
emellor@leeni.uk.xensource.com c84e1f2ac5 Added further integrity checking, this time checking for duplicate directory
entries and for orphaned nodes in the database.

Added two flags, -R and -L, to disable the recovery code and the remove of
/local at start-up.  This makes it much easier to analyse corrupted tdb files.

Added some missing talloc_free calls in the previous integrity checking code.

Removed the transaction handle from the trace_io message -- unfortunately,
the transaction is always null at this point, as it's not yet been looked up.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
2006-03-03 15:37:28 +01:00
emellor@leeni.uk.xensource.com 988c0cb02e Cope when the filename returned by losetup for an existing loop device is not
fully qualified.  In this case, the readlink -f call to canonicalise that name
fails.

Closes bug #553.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
2006-03-03 15:32:42 +01:00
kaf24@firebug.cl.cam.ac.uk 0814867e26 Minor enhancements to gdbbuild, the build script for gdbserver-xen.
1. Use $MAKE if set
 2. Make mirror configurable from environment

From: Horms <horms@verge.net.au>

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-03-03 11:17:09 +01:00