Commit Graph
245 Commits
Author SHA1 Message Date
kfraser@localhost.localdomain 72e4f39c3f Loop on actual elfnote array size rather than depending on ELFNOTE_MAX
macro.
Signed-off-by: Keir Fraser <keir@xensource.com>
2007-02-28 09:44:59 +00:00
kfraser@localhost.localdomain e5d4e1285c Let xend choose to do hard or soft domain resumption depending on
whether the domain advertises support for soft resumption in its
elfnotes.

Signed-off-by: Brendan Cully <brendan@kublai.com>
2007-02-28 09:39:03 +00:00
kfraser@localhost.localdomain 5f7ac4f0bc Fix off-by-one preventing the last elfnote from being read in xc.c.
Signed-off-by: Brendan Cully <brendan@cs.ubc.ca>
2007-02-28 09:38:14 +00:00
kfraser@localhost.localdomain 41881805d1 Write Xen ELF notes into xenstore on domain build.
Signed-off-by: Brendan Cully <brendan@cs.ubc.ca>
2007-02-26 09:59:33 +00:00
Keir Fraser da97fcd329 Support new xm command: xm trigger <Domain> <nmi|reset|init> [<VCPU>]
Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
Signed-off-by: Akio Takebe <takebe_akio@jp.fujitsu.com>
Signed-off-by: Zhang Xin <xing.z.zhang@intel.com>
2007-02-24 14:10:27 +00:00
Hollis Blanchard 4c03b0792e [POWERPC][XEN] Merge with xen-unstable.hg.
Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com>
2007-02-06 15:03:52 -06:00
kfraser@localhost.localdomain f4e8a7e419 Implement clean return from save/restore failure (so that original
domain can continue execution).
Signed-off-by: Andrei Petrov <andrei.petrov@xensource.com>
2007-01-22 15:15:32 +00:00
Jimi Xenidis 7ba577bada [XEND][POWERPC] Remove FlatDeviceTree.py, eliminate devtree from prose builder.
Signed-off-by: Ryan Harper <ryanh@us.ibm.com>
Signed-off-by: Jimi Xenidis <jimix@watson.ibm.com>
2007-01-21 08:15:39 -05:00
kfraser@localhost.localdomain 115209d91b [XEN] New event-channel reset operation.
Plumbed through libxenctrl to python.

From: Andrei Petrov <andrei.petrov@xensource.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
2007-01-19 17:20:57 +00:00
kfraser@localhost.localdomain b686a7d235 xenstore: add XS_RESUME command; export it to xend.
This clears the shutdown flag for a domain in xenstore, allowing
subsequent shutdowns of the same domain to fire the appropriate
watches.

Signed-off-by: Brendan Cully <brendan@cs.ubc.ca>
2007-01-19 15:28:34 +00:00
kfraser@localhost.localdomain e105919b01 Add resumedomain domctl to resume a domain after checkpoint.
Export resumedomain domctl to libxc, xend.

Signed-off-by: Brendan Cully <brendan@cs.ubc.ca>
2007-01-19 15:23:41 +00:00
Jimi Xenidis 6b06747394 [TOOLS][POWERPC] fixes for the prose builder.
Signed-off-by: Maria Butrico <butrico@watson.ibm.com>
Signed-off-by: Jimi Xenidis <jimix@watson.ibm.com>

--HG--
extra : transplant_source : %C1e%86%00%05%25%F9%D9%DF%BB%E36%D9%D4X%DD%08%B4J%0E
2007-01-17 19:37:20 -05:00
Tim Deegan 4a13cf1b70 [HVM] save restore: frame work
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>

frame work for HVM save restore in Control Panel
2007-01-18 16:48:03 +00:00
Ewan Mellor 674fb7f63e Allow xend configuration via Solaris SMF as well as the config file.
Signed-off-by: John Levon <john.levon@sun.com>
2007-01-18 15:07:51 +00:00
Hollis Blanchard d9e6a2856c [POWERPC][TOOLS] Fix xc.c mismerge.
Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com>
2007-01-03 17:11:55 -06:00
Ewan Mellor dba11d1f26 Fix the error handling in acm.policy.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
2007-01-02 13:32:35 +00:00
awilliam@xenbuild2.aw a3e94225c7 [IA64][HVM] Use vcpu info from getdomaininfo
This replaces the get/set_param using HVM_PARAM_VCPUS

Signed-off-by: Alex Williamson <alex.williamson@hp.com>
2006-12-14 09:56:41 -07:00
kfraser@localhost.localdomain 15e8ea54ac [TOOLS] Fix the build. Clearly demarcate PPC-specific stuff.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-12-13 10:23:53 +00:00
Hollis Blanchard 8cadd348b3 [POWERPC] Merge with xen-unstable.hg.
Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com>
2006-12-12 09:58:42 -06:00
Hollis Blanchard bdd61e7052 [POWERPC] Merge in outstanding changes from xenppc-unstable.hg.
It's a long story, but basically a small divergence in xenppc-unstable meant a
large number of changesets couldn't be directly imported to xen-unstable, so
this changeset includes all of them.
Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com>
2006-12-12 09:56:06 -06:00
awilliam@xenbuild2.aw 0741834153 merge with xen-unstable.hg 2006-12-08 09:09:18 -07:00
kfraser@localhost.localdomain 43ff8f0aef [XEN] Implement XENMEM_set_memory_map, which specifies memory map to
be returned by XENMEM_memory_map. Hook this into the domain builder.

Based on a patch by Glauber de Oliveira Costa <gcosta@redhat.com>

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-12-08 11:30:30 +00:00
kfraser@localhost.localdomain 3679c60f52 [LIBXC] Python error extraction tweak.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-12-07 11:46:07 +00:00
kfraser@localhost.localdomain b07ced9c1f [LIBXC] Add an error reporting API to the libxc library.
- An 'xc_error' struct is used to pass around error
   details. Currently contains two members 'code' an enumeration of
   error types, and 'message' a free text description of the specific
   problem.

 - The xc_get_last_error() method returns a const pointer to the
   internal instance of this struct manged by libxc. By returning a
   const pointer we can add extra members to the end of the struct at
   any time without worrying about ABI of callers. This will let us
   provide more fine-grained info if needed in the future.

 - The xc_error instance is statically defined inside libxc and marked
   __thread. This ensures that errors are recorded per-thread, and
   that when dealing with errors we never need to call malloc - all
   storage needed is statically allocated.

 - The xc_clear_last_error() method resets any currently recorded
   error details

 - The xc_error_code_to_desc() method converts the integer error code
   into a generic user facing messsage. eg "Invalid kernel". Together
   with the 'message' field from xc_error, this provides the user
   visible feedback. eg "Invalid kernel: Non PAE-kernel on PAE host."

 - A callback can be registered with xc_set_error_handler to receive
   notification whenever an error is recorded, rather than querying
   for error details after the fact with xc_get_last_error

 - If built with -DDEBUG set, a default error handler will be
   registered which calls fprintf(stderr), thus maintaining current
   behaviour of logging errors to stderr during developer builds.

 - The python binding for libxc is updated to use xc_get_last_error
   to pull out error details whenever appropriate, instead of
   returning info based on 'errno'

 - The xc_set_error method is private to libxc internals, and is used
   for setting error details

 - The ERROR and PERROR macros have been updated to call xc_set_error
   automatically specifying XC_INTERNAL_ERROR as the error code. This
   gives a generic error report for all current failure points

 - Some uses of the ERROR macro have been replaced with explicit
   calls to xc_set_error to enable finer grained error reporting. In
   particular the code dealing with invalid kernel types uses this
   to report about PAE/architecture/wordsize mismatches

The patch has been tested by calling xm create against a varietry of
config files defining invalid kernels of various kinds. It has also
been tested with libvirt talking to xend. In both cases the error
messages were propagated all the way back up the stack.

There is only one place where I need to do further work. The suspend
& restore APIs in Xend invoke external helper programs rather than
calling libxc directly. This means that error details are essentially
lost. Since there is already code in XenD which scans STDERR from
these programs I will investigate adapting this to extract actual
error messages from these helpers.

Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
2006-12-07 11:36:26 +00:00
awilliam@xenbuild.aw 04d0fece67 [IA64] Fix VTi domain creation
Signed-off-by: Zhang Xin <xing.z.zhang@intel.com>
2006-12-05 09:44:24 -07:00
kfraser@localhost.localdomain 9cac7135b1 [LIBXC] Fix Solaris build: Use XC_PAGE_SIZE not PAGE_SIZE.
Signed-off-by: John Levon <john.levon@sun.com>
2006-11-30 17:36:03 +00:00
kfraser@localhost.localdomain da38d1f64b [HVM] Re-introduce the 'apic' configuration option, default to 1.
Also simplify the HVM builder interface by doing more work in
the python wrapper, and fix mapping of shared_info page after the
change to map foreign pages by GMFN rather than MFN.

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-11-27 17:49:41 +00:00
kaf24@localhost.localdomain 6bc01e4efd [XEN] Replace hvm_setup_platform() with hvm_domain_initialise()
and extra code in hvm_vcpu_initialise(). Remove 'apic' config
option -- HVM CPUs will always have an APIC (which should be
set up in virtual wire mode for backward compatibility, just as
in a real system).
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-11-05 20:17:40 +00:00
kfraser@localhost.localdomain 457ee10d4c [XEN] Remove VGCF_hvm_guest, replace with XEN_DOMINF_hvm_guest.
Rename DOMFLAGS_* to XEN_DOMINF_*.
Clean up tools to deal with flags changes.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-11-03 10:52:29 +00:00
kfraser@localhost.localdomain 7554501778 [TOOLS] Paravirt guests have their memory allocated in the
libxenguest builder function.

Again, PPC and IA64 will need to do some fixing up.

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-11-02 11:11:28 +00:00
kfraser@localhost.localdomain 3f4c0e0087 [HVM] HVM is now a flag parameter to domain-creation hypercall.
This cleans up HVM start-of-day in Xen and means that the
HVM status of a domain is maintained from cradle to grave.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-11-01 16:08:19 +00:00
kfraser@localhost.localdomain 2a46b1b066 [ACM] Don't use uninitialised struct value if hypercall fails.
From: Jan Beulich <jbeulich@novell.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-10-23 09:57:24 +01:00
Jimi Xenidis 6d0d1bff96 [TOOLS][POWERPC] Add Prose Domain Builder
The following patch addes a Prose domain builder.  For the moment it
is a clone of the linux ppc64 builder but will diverge quickly.
Signed-off-by: Jonathan Appavoo <jappavoo@us.ibm.com>
Signed-off-by: Jimi Xenidis <jimix@watson.ibm.com>
Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com>
2006-10-18 06:43:33 -04:00
Alastair Tse a5f7c42094 [XEND] Add more API implementations, add sched_id_get to xc.
Signed-off-by: Alastair Tse <atse@xensource.com>
2006-10-26 17:59:49 +01:00
acnt2@huggins.lce.cl.cam.ac.uk 70527787db [XEND] Python API break. Replacing ambiguious 'dom' with 'domid'
Signed-off-by: Alastair Tse <atse@xensource.com>
2006-10-05 17:29:19 +01:00
kfraser@localhost.localdomain 1df421476a Replace dom0_ops hypercall with three new hypercalls:
1. platform_op -- used by dom0 kernel to perform actions on the
    hardware platform (e.g., MTRR access, microcode update, platform
    quirks, ...)
 2. domctl -- used by management tools to control a specified domain
 3. sysctl -- used by management tools for system-wide actions

Benefits include more sensible factoring of actions to
hypercalls. Also allows tool compatibility to be tracked separately
from the dom0 kernel. The assumption is that it will be easier to
replace libxenctrl, libxenguest and Xen as a matched set if the
dom0 kernel does not need to be replaced too (e.g., because that
would require vendor revalidation).

From here on we hope to maintain dom0 kernel compatibility. This
promise is not extended to tool compatibility beyond the existing
guarantee that compatibility will not be broken within a three-level
stable release [3.0.2, 3.0.3, etc.].

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-08-25 18:39:10 +01:00
kfraser@localhost.localdomain db51cd09d3 Remove all traces of the obsolete BVT scheduler.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-08-23 17:14:38 +01:00
kfraser@localhost.localdomain 07f2bdb30d [SHADOW] Clean up the DOM0_SHADOW_OP interface.
Also bump the dom0 interface version for tools (but
not for dom0 kernel!).
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-08-22 18:50:01 +01:00
tdeegan@york.uk.xensource.com 49f7c7364e Replace shadow pagetable code with shadow2. 2006-08-16 17:02:35 +01:00
kfraser@localhost.localdomain b76fbc3cc5 [LIBXC] Remove unused xc_evtchn_status().
Signed-off-by: John Levon <john.levon@sun.com>
2006-08-14 16:39:35 +01:00
emellor@leeni.uk.xensource.com 49849e9c0c Revert inadvertent code change from "replace tabs with spaces" changeset.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
2006-08-10 14:29:04 +01:00
kfraser@localhost.localdomain 6c892c42ad [LIBXC] replace tabs with spaces
Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com>
2006-08-10 10:52:46 +01:00
kaf24@firebug.cl.cam.ac.uk ecb13a587e [BALLOON] Make the domain0 ballooning logic in xend aware of pages that are on the page scrub list.
This fixes the case where crashing/restarting a domain can cause dom0 to balloon more than
necessary.

I changed the physinfo dictionary in Python to be in KiB, rather than
MiB, to avoid accumulating ugly rounding errors.  I tried to avoid
changing units anywhere else.

Signed-off-by: Charles Coffing <ccoffing@novell.com>
2006-06-27 12:03:46 +01:00
kaf24@firebug.cl.cam.ac.uk 3d8026009b Add XENVER_pagesize hypercall.
Make xen pagesize available through xm info and sysfs.
Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
2006-06-27 10:44:33 +01:00
kaf24@firebug.cl.cam.ac.uk 42fae7ae02 [XEN] localtime support for paravirtualized guests
It is quite minimal
in its approach, satisfying the purposes of the paravirtualized
NetWare operating system as well as any others that expect the time
base to be provided in localtime.

Signed-off-by: Bruce Rogers <brogers@novell.com>
2006-06-21 17:09:14 +01:00
kaf24@firebug.cl.cam.ac.uk 8d7ca20f1e [ACM] Replace enumerations with macros with qualified names.
Old unqualified enumeration names polluted the global namespace.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-09 16:49:49 +01:00
kaf24@firebug.cl.cam.ac.uk abb88790d2 [XEN][ACM] Clean up ACM interface to use explicitly-sized types
and guest handles.
Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com>
2006-06-09 16:26:05 +01:00
Anthony Liguori 744e7a3189 Expose the exception thrown by xen.lowlevel.xs. 2006-06-01 12:13:11 +01:00
kaf24@firebug.cl.cam.ac.uk 3903e920a1 Rename csched -> sched_credit/sched-credit in control plane.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-05-27 10:13:27 +01:00
ack@kneesa.uk.xensource.com 46ecd27056 New weighted fair-share CPU scheduler w/ automatic SMP load balancing
Signed-off-by: Emmanuel Ackaouy <ack@xensource.com>
2006-05-26 11:14:36 +01:00