Commit Graph
12805 Commits
Author SHA1 Message Date
Ian Campbell e793ba7d4e [LINUX] Kexec: Do not bug if a kexec hypercall fails.
This is non fatal since we can recover and boot without kexec
functionality.

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
2006-12-08 11:46:48 +00: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
Alastair Tse a3b9408baf [XEND] Fix xm vcpu-set when decrementing VCPU count
Signed-off-by: Alastair Tse <atse@xensource.com>
2006-12-08 11:08:26 +00:00
Steven Hand 9ccd4175a4 Fix potential minor memory leak.
Signed-off-by: Steven Hand <steven@xensource.com>
2006-12-08 10:48:46 +00:00
Ewan Mellor e0abcedc49 Download and symlink the i386 version of the ramdisk when running on x86_64.
This means that people don't need to explicitly set BR_ARCH.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
2006-12-08 10:32:48 +00:00
kfraser@localhost.localdomain 7953e4aa37 [LINUX] CONFIG_XEN_BACKEND=m build properly.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
2006-12-08 09:35:00 +00:00
kfraser@localhost.localdomain ebeefe4ef6 [LINUX] Make CONFIG_XEN_FRAMEBUFFER=m build properly.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-12-08 09:34:24 +00:00
kfraser@localhost.localdomain 03ba7e6e16 Make XEN_DOMCTL_getdomaininfo return shared_info_frame in gmfn not mfn.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2006-12-08 09:32:42 +00:00
kfraser@localhost.localdomain 27c982df5e [LINUX] Make xb_waitq static.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
2006-12-08 09:27:39 +00:00
kfraser@localhost.localdomain e80c00aa78 [LINUX] Clean up and clarify find_unbound_irq().
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-12-08 09:19:37 +00:00
Ewan Mellor ff3ba258ad Fix PERROR.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
2006-12-07 17:48:35 +00:00
Ewan Mellor 4f2a113ba6 Diagnose bad config files.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
2006-12-07 17:47:43 +00:00
Alastair Tse 703d4b3335 Merge 2006-12-07 16:48:23 +00:00
Alastair Tse eee69a2a82 [XEND] Only return valid VIF and VBD parameters via Xen API.
Also fix typo for memory_dynamic_{min,max}.

Signed-off-by: Alastair Tse <atse@xensource.com>
2006-12-07 16:43:22 +00:00
kfraser@localhost.localdomain a8b5e33ac8 [LINUX] Fail gracefully if we run out of spare IRQs.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-12-07 16:43:08 +00:00
Alastair Tse 717675ebaf Merge 2006-12-07 16:09:04 +00:00
Alastair Tse 69370cc992 [XEND] Sync Xen API with newer VDB and VIF specification.
Fix breakage with storing VIF and VBD refs, remove extraneous
debugging. Also fixing some type errors in default values for Xen API
if things are missing in XendConfig.

Signed-off-by: Alastair Tse <atse@xensource.com>
2006-12-07 16:08:44 +00:00
kfraser@localhost.localdomain 0be2a505dd [XEN] Add new safe pte update macros and use as necessary when
updating active pagetables.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-12-07 14:57:14 +00:00
Alastair Tse dee1d9ba0c [XEND] Make SXP parsing re-use device_add in XendConfig
This will fix the IP address configuration problem for vifs.

Signed-off-by: Alastair Tse <atse@xensource.com>
2006-12-07 14:40:13 +00:00
Alastair Tse 6fe80e69d0 [XEND] Prevent None values from appearing in Device SXP
Signed-off-by: Alastair Tse <atse@xensource.com>
2006-12-07 14:38:16 +00:00
kfraser@localhost.localdomain bd52f01c26 [XEN] Early page fault handler to deal with spurious page faults.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-12-07 14:03:54 +00:00
Alastair Tse e150713e68 [XEND] Fix resume for managed domains.
Signed-off-by: Alastair Tse <atse@xensource.com>
2006-12-07 13:47:13 +00:00
Tim Deegan dd60bc1ebc Merge 2006-12-07 13:18:08 +00:00
Tim Deegan 9ca50215ee [XEN] Init pae_l3_cache lock earlier
In particular, before hvm_vcpu_initialise causes a CR3 update.
Signed-off-by: Tim Deegan <Tim.Deegan@xensource.com>
2006-12-07 13:14:44 +00:00
Ewan Mellor a1aafcf306 This patch checks the contents of XENDOMAINS_SAVE before the restore
process begins, and prevents xendomains from attempting to start any
domain that appears there, whether the domain started successfully or
not.

Signed off by: Hugh Brock <hbrock@redhat.com>
2006-12-07 12:23:35 +00:00
Ewan Mellor b744adfbba The new lifecycle patches in xen-unstable added 3 new operations which can
be performed on domains - new, start and delete.  libvirt has had no-op
stub implementations of these APIs for a while & thus we'd enable their
use for Xen 3.0.4 builds. The new APIs are not currently exposed via the
existing SEXPR protocol, and since the new Xen-API protocol is unsupported
tech-preview for 3.0.4 we don't want to re-write against that just yet.

Thus the attached patch adds the 3 neccessary bindings for the SEXPR protocol
to allow the lifecycle functionality to be invoked. It also allows the 'state'
parameter to be specified when listing domains, so we can explicitly request
inactive domains if we know we're running against a 3.0.4 era XenD

Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
2006-12-07 12:15:30 +00:00
Ewan Mellor 504c725be0 Scrub VNC passwords from the logs.
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
2006-12-07 12:14:22 +00:00
Ewan Mellor a2b0be5248 Do an explicit check for bootloader path existence prior
to the one for executable permissions. Also print out the path being
tested.

Signed-off-by: Daniel P, Berrange <berrange@redhat.com>
2006-12-07 12:11:40 +00:00
Ewan Mellor 09ddbb1ce5 The HTTP service used for SEXPR based RPC calls currently serializes all
incoming client requests. Since some requests can take non-trivial time
blocking out other clients in this way has bad consequences. The attached
patch makes XenD spawn a new thread to handle each incoming HTTP request.
This same approach is already taken in the XML-RPC service in XenD so I
don't anticipate any multi-thread issues (at least none which don't already
exist).

Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
2006-12-07 12:07:53 +00:00
kfraser@localhost.localdomain 0bbc8c5421 [HVM] qemu mouse: Adds support for USB mouse/tablet status check and
restricts Universal Host Controller interrupt generating when received
NAK in interrupt transfer.

According to usb spec, USB mouse/tablet device returns NAK to host
controller if its status does not alter in interrupt transfer.
And UHC should leave a TD active when receiving NAK and execute this
incompleted TD in a subseqent frame. UHC only generates an interrupt
on complete after the TD with ICO bit is completed.

This patch make UHC & USB mouse/tablet behave consistently with spec.

Signed-off-by: Xinmei Huang <xinmei.huang@intel.com>
2006-12-07 11:52:26 +00:00
Alastair Tse ba855e2974 Merge 2006-12-07 11:51:22 +00:00
Alastair Tse 948c26c48d [XM] Fix xm uptime TypeError exception.
Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
2006-12-07 11:50:11 +00:00
kfraser@localhost.localdomain a8740815ef merge 2006-12-07 11:47:10 +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
Ewan Mellor df8016fc0b Remove broken call to XendDomainInfo.getSsidref(), fixing the obsolete HTTP
server.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
2006-12-07 11:45:04 +00:00
Alastair Tse 0370b76da1 Merge 2006-12-07 11:45:00 +00:00
Alastair Tse 4cf8135a04 Merge 2006-12-07 11:44:05 +00:00
Ian Campbell 99280a4af4 Remove unused KEXEC_RANGE_VA_XEN.
KEXEC_RANGE_VA_XEN is currently unused and there is no point in exporting it.

Signed-Off-By: Magnus Damm <magnus@valinux.co.jp>
---

 Applies to xen-unstable-12756

 xen/common/kexec.c         |   13 +++----------
 xen/include/public/kexec.h |    3 +--
 2 files changed, 4 insertions(+), 12 deletions(-)
2006-12-07 11:43:19 +00:00
Alastair Tse 4393b66b51 [XEND] Fix configureBootloader to work with HTTP/SEXP.
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
2006-12-07 11:41:38 +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
kfraser@localhost.localdomain d3f023e9ad [XEN] Make multiboot-related code more readable.
Tested on i386 and x86_64 with GRUB and PXELINUX bootmanagers.

From: Christoph Egger <Christoph.Egger@amd.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-12-07 11:22:26 +00:00
kfraser@localhost.localdomain 40574f04b4 VMXAssist cleanups
Signed-off-by: Xin Li <xin.b.li@intel.com>
2006-12-07 11:18:38 +00:00
kfraser@localhost.localdomain 03b88d5789 [VTPM][HVM] Transmit the locality in which the command was sent in the
highest 3 bits of the 4 bytes prepended to each packet.
Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
2006-12-07 11:17:28 +00:00
kfraser@localhost.localdomain a490953a59 [HVM] Fix reboot failure when configured 'cdrom', i.e. bug 832.
Signed-off-by : Xinmei Huang <xinmei.huang@intel.com>
2006-12-07 11:16:17 +00:00
kfraser@localhost.localdomain 58cd802d51 merge 2006-12-07 11:14:21 +00:00
kfraser@localhost.localdomain 56e9db683b [HVM] qemu: Add guest address-space mapping cache.
On IA32 host or IA32 PAE host, at present, generally, we can't create
an HVM guest with more than 2G memory, because generally it's almost
impossible for Qemu to find a large enough and consecutive virtual
address space to map an HVM guest's whole physical address space.
The attached patch fixes this issue using dynamic mapping based on
little blocks of memory.

Signed-off-by: Jun Nakajima <jun.nakajima@intel.com>
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-12-07 11:12:52 +00:00
Alastair Tse 59a3344cac [XEND] Update vcpu_avail when parsing configuration.
Signed-off-by: Alastair Tse <atse@xensource.com>
2006-12-07 11:12:05 +00:00
Alastair Tse dc960266aa [XEND] Fix reboot for HVM domains if cdrom is empty.
Signed-off-by: Alastair Tse <atse@xensource.com>
2006-12-07 10:54:43 +00:00
Ewan Mellor 12e12aa8f9 Added VM.set_VCPUs_features_force_on, VM.set_VCPUs_features_force_off,
VM.set_otherConfig.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
2006-12-06 16:33:48 +00:00
Ewan Mellor a784042736 Make VM.VCPUs.number a writable field.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
2006-12-06 16:26:53 +00:00