Commit Graph
9946 Commits
Author SHA1 Message Date
kaf24@firebug.cl.cam.ac.uk 31d6525e2b Fix injection of guest faults resulting from failed injection of a
previous event. We enter an infinite loop if the original failed
injection cannot be fixed up by Xen (e.g., because it's not a shadow
pagetable issue).

   The RHEL4 HVM guest hang issue was actually a side effect of
change-set 9699. In the rhel4 guest hang rc.sysinit init-script was
calls kmodule program to probe the hardware. The kmodule uses the kudzu
library call probeDevices(). For probing the graphics hardware in the
vbe_get_mode_info() function, sets up the environment and goes into the
vm86 mode to do the int x10 call. For returning back to protected mode
it sets up a int 0xff call. At the time of calling the int 0xff the
guest process pages were not filled up. And it was causing an infinite
loop of vmexits with the IDT_VECTORING_INFO on the int 0xff instruction.

        The reason for the infinite loop is changeset 9699. With that
the guest page fault was always getting overridden by the int 0xff gp
fault coming from the IDT_VECTORING_INFO. With the attached patch if VMM
is injecting exceptions like page faults or gp faults then
IDT_VECTORING_INFO field does not override it, and that breaks the
vmexit infinite loop for the rhel4.

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Jun Nakajima <jun.nakajima@intel.com>
Signed-off-by: Edwin Zhai <edwin.zhai@intel.com>
2006-05-05 14:05:31 +01:00
kaf24@firebug.cl.cam.ac.uk be3309cba2 Fix python pciif script to reference correct 2.0 compatibility variable.
In the Xen 2.0.x compatibility section of xend (where we try to parse
the s-expressions if they came from an SXP configuration file for Xen
2.0.x), the wrong variable is referenced. This fix corrects the python
script to use the correct variable.

Thanks to Mike Wright for reporting this.

Signed-off-by: Ryan Wilson <hap9@epoch.ncsc.mil>
2006-05-05 14:01:43 +01:00
kaf24@firebug.cl.cam.ac.uk 5451ced6be Fix dr access from or to extended registers on x86_64.
Also some cleanups.
Signed-off-by: Xin Li <xin.b.li@intel.com>
2006-05-05 13:59:17 +01:00
kaf24@firebug.cl.cam.ac.uk 1f516c94dc Replace a bash-specific redirection in tools/ioemu/configure with a
standard POSIX one which allows the Xen tools to be built with a POSIX
shell other than bash.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2006-05-05 13:58:13 +01:00
kaf24@firebug.cl.cam.ac.uk 71b15b97e4 It's unnecessary on MOV CRn to use "q" or "l" to indicate default
oparand size.
Signed-off-by: Xin Li <xin.b.li@intel.com>
2006-05-05 13:57:16 +01:00
kaf24@firebug.cl.cam.ac.uk 4a0f8a20b8 Replace a bash-specific substitution with equivalent POSIX /bin/sh
substitutions.  This allows a Xen-patched Linux to build when /bin/sh
is a POSIX shell other than bash.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2006-05-05 13:51:03 +01:00
kaf24@firebug.cl.cam.ac.uk b7f7d7a8ec Adjust skb->truesize appropriately in netback driver.
When you generate non-linear skb's as netback does, it is up to you
to ensure that truesize reflects the size of paged part of the skb.
Otherwise socket memory accounting in Linux falls apart.

Thanks to the new check that David Miller added to TCP we were able
to catch this bug.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2006-05-05 13:49:49 +01:00
kaf24@firebug.cl.cam.ac.uk 3b5459241b Fix IA64 transparent-virtualization issue (Xen may not be running).
Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
2006-05-05 13:46:59 +01:00
kaf24@firebug.cl.cam.ac.uk fa9b01924f Add missing spin_unlock_irq() at xen/arch/x86/irq.c
Changeset 9889:42a8e3101c6c reorganized the code on this file, and
missed this spin_unlock_irq().  Without this patch, my machine hangs
completely during boot.  With this, it works.

Signed-off-by: Juan Quintela <quintela@redhat.com> 
Signed-off-by: Chris Wright <chrisw@sous-sol.org>
2006-05-05 13:41:35 +01:00
cl349@firebug.cl.cam.ac.uk bc1d3194fa Don't try to write to pmd pages, there is no writeable-pmd support.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2006-05-05 00:27:10 +01:00
kaf24@firebug.cl.cam.ac.uk f9caf5ffab SVM patch for 64bit hv, to reset the ss, es, ds host selectors to NULL
during a context switch to the SVM domain's vcpu. This patch also
initializes the tlb_control to 1 for the initial do_launch().
Signed-off-by: Tom Woller <thomas.woller@amd.com>
2006-05-04 21:24:39 +01:00
cl349@firebug.cl.cam.ac.uk d3997b960e Linux: upgrade patches to 2.6.16.13.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>


--HG--
rename : patches/linux-2.6.16/device_bind.patch => patches/linux-2.6.16.13/device_bind.patch
rename : patches/linux-2.6.16/i386-mach-io-check-nmi.patch => patches/linux-2.6.16.13/i386-mach-io-check-nmi.patch
rename : patches/linux-2.6.16/net-csum.patch => patches/linux-2.6.16.13/net-csum.patch
rename : patches/linux-2.6.16/pmd-shared.patch => patches/linux-2.6.16.13/pmd-shared.patch
rename : patches/linux-2.6.16/rename-TSS_sysenter_esp0-SYSENTER_stack_esp0.patch => patches/linux-2.6.16.13/rename-TSS_sysenter_esp0-SYSENTER_stack_esp0.patch
rename : patches/linux-2.6.16/smp-alts.patch => patches/linux-2.6.16.13/smp-alts.patch
rename : patches/linux-2.6.16/x86-increase-interrupt-vector-range.patch => patches/linux-2.6.16.13/x86-increase-interrupt-vector-range.patch
rename : patches/linux-2.6.16/xenoprof-generic.patch => patches/linux-2.6.16.13/xenoprof-generic.patch
2006-05-04 17:44:14 +01:00
cl349@firebug.cl.cam.ac.uk 44cf443c79 Linux: upgrade to 2.6.16.13.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2006-05-04 17:38:25 +01:00
cl349@firebug.cl.cam.ac.uk f6238c87af Remove unused LINUX_SRCS.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2006-05-04 16:49:58 +01:00
stekloff@dyn9047022152.beaverton.ibm.com de2daba817 Add a HOWTO to help writing tests, includes domains with networking.
Signed-off-by: Daniel Stekloff <dsteklof@us.ibm.com>
2006-05-04 14:22:38 +01:00
stekloff@dyn9047022152.beaverton.ibm.com 38a79ca247 Add new networking infrastructure to Xm-Test. The goal is to make
creating domains with networking very easy. This patch:

1) Adds new XenDevice class, with the XenNetDevice subclass. These
   classes represent devices for xm-test and are tied to XenDomains.
   This can eventually be used for block devices as well. Currently,
   devices must be added to domains prior to starting the domain. The
   attach and detach needs to be handled.

2) Adds a new NetConfig class to handle configuring the network
   environment in which the tests run. This patch only handles ranges
   of IPs in a bridged environment. DHCP needs to be added as well as
   handling NAT and routed environments.

3) Modifies XenDomain class to handle XenDevices.

4) Adds new configuration options for defining a range of IPs, their
   network address, and their netmask.

5) Removes the old Network.py and Network class.

6) Modifies the existing tests to use the new infrastructure.

7) Adds some documentation to help creating domains.

Signed-off-by: Daniel Stekloff <dsteklof@us.ibm.com>
2006-05-04 14:22:29 +01:00
emellor@leeni.uk.xensource.com 57a3f4ca82 Second step toward a new network infrastructure, move XmConsole to be
in XenDomain. The devices we will add, like network, will need to run
console commands when a domain is started. So I have made console be
a part of domain object, which it's tied to anyway.

Signed-off-by: Daniel Stekloff <dsteklof@us.ibm.com>
2006-05-04 14:22:17 +01:00
stekloff@dyn9047022152.beaverton.ibm.com 5b27032111 First step to network infrastructure, add a type to XenDomain to identify
it as HVM or PV rather than using the config time option. The forthcoming
XenNetDevice will need to check. This is also the first step toward running
PV and HVM domains at the same time.

Signed-off-by: Daniel Stekloff <dsteklof@us.ibm.com>
2006-05-04 14:20:11 +01:00
emellor@leeni.uk.xensource.com 136423974c Merged. 2006-05-04 14:19:19 +01:00
kaf24@firebug.cl.cam.ac.uk f2882b8726 Change Mini-OS so that it uses stddef.h to define size_t and
NULL. This problem fixes errors that occur when linking Mini-OS with
ANSI standard code that uses stddef.h.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-05-04 11:24:19 +01:00
kaf24@firebug.cl.cam.ac.uk 55723b70ac This patch
- moves the TPM frontend completely into the char/tpm directory where it
is a plug-in to the generic TPM driver
- removes a now obsolete include file
- adapts part of the documentation
- fixes some locking problems where copy_to/from_user was called with
IRQs blocked

Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
2006-05-04 11:22:19 +01:00
kaf24@firebug.cl.cam.ac.uk f5ca520dc4 Fix fault handler for both 32 and 64 bit architecture. Clean up unused code.
Signed-off-by: Grzegorz Milos <gm281@cam.ac.uk>
Signed-off-by: Aravindh Puthiyaparambil 
<aravindh.puthiyaparambil@unisys.com>
2006-05-04 11:19:27 +01:00
kaf24@firebug.cl.cam.ac.uk 4ea3fb1c8f SVM patch to cleanup the host save area allocation and deallocation,
including removing  memory leaks concerning these areas.  Also fixes
problem where the HSA MSR was not initialized properly for cores>0.

Signed-off-by: Tom Woller <thomas.woller@amd.com>
2006-05-04 11:14:45 +01:00
cl349@firebug.cl.cam.ac.uk 79d14c1747 Fix xenbus userspace device transaction tracking.
If a transaction end command fails, the semaphore which keeps track
of whether we're in a transaction or not was not getting updated.

Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2006-05-04 10:25:27 +01:00
kaf24@firebug.cl.cam.ac.uk 0d6ad09a09 Fix mismerge of vmx vm86 patch: 9915:e1409c2ace46afd67b54de1f5c0b2b6d3721ca3b
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-05-03 13:33:01 +01:00
kaf24@firebug.cl.cam.ac.uk daac965083 Instead of knowing explicitly about the pygrub entry option, allow
passing arbitrary options to the bootloader and deprecate the bootentry
option.

Signed-off-by: Jeremy Katz <katzj@redhat.com>
2006-05-03 11:02:30 +01:00
kaf24@firebug.cl.cam.ac.uk 3d8b0ffdd4 Introduce some finer-grained locking to prevent calling
copy_from/to_user while preventing interrupts and fix allocation of
memory from within a task and other issues.

Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
2006-05-03 11:00:57 +01:00
kaf24@firebug.cl.cam.ac.uk 2c76a9ef09 Clean up xen-mkbuildtree-pre for ia64 xenlinux.
Signed-off-by: Dan Magenheimer <dan.magenheimer@hp.com>
2006-05-03 10:59:54 +01:00
kaf24@firebug.cl.cam.ac.uk 65f178cd12 Use native value for SPLIT_PTLOCK_CPUS except on xen/x86.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-05-03 10:58:43 +01:00
kaf24@firebug.cl.cam.ac.uk 877e8e6638 Ensure segment bases are consistent with their
selectors for VMX guests in VM86 mode.

Signed-off-by: David Lively <dlively@virtualiron.com>
2006-05-03 10:56:19 +01:00
kaf24@firebug.cl.cam.ac.uk 26886d1cc3 Turn page-structure layout assertions into BUILD_BUG_ON().
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-05-03 07:44:20 +01:00
emellor@leeni.uk.xensource.com e5fb08210d Xm-tests 01_memset_basic_pos.test and 03_memset_random_pos.test start
domUs with 64MB of memory,
and assume that all of that memory is available in the domU. They then
perform various xm memset tests
based on the assumed starting conditions.

When netback & blkback are comiled into the domU kernel, they eat about
5MB. This mismatch will cause
01_memset_basic_pos.test to fail every time. 03_memset_random_pos.test
will probably fail, but can
pass with some lucky numbers from the random number generator.

This patch changes both tests to read the starting memory allocation from
the balloon driver in the domU.

Signed-off-by: Jim Dykman <dykman@us.ibm.com>
2006-05-02 18:17:59 +01:00
kaf24@firebug.cl.cam.ac.uk 9a10a080aa Balloon driver should hijack the ->lru list field rather than
adding another list field to every page structure.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-05-02 17:23:21 +01:00
kaf24@firebug.cl.cam.ac.uk 9f33fcb4bd Remove i386/x8664 differences in vmx reg store/load routines.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-05-02 17:17:15 +01:00
kaf24@firebug.cl.cam.ac.uk cba8d491b2 Virtual net drivers advertise multicast capabilities.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-05-02 15:46:15 +01:00
kaf24@firebug.cl.cam.ac.uk da8197de83 This patch changes to format in which EIP is printed to be consistent on 64-bit regardless of whether the addresses
leading bits are set or clear. It additionally changes the formatting so that trailing spaces are avoided, and it
suppresses the printing of empty records. It also prevents combining records with identical EIP but from different
domains.

It further changes the type of some variables from plain int to unsigned int, as that is yielding more efficient code
on x86-64 (signed 32-bit array indices require explicit sign extension, whereas in most cases an extra copy can be
avoided when the index type is unsigned, since all 32-bit operations already zero-extend their results).

Signed-off-by: Jan Beulich <jbeulich@novell.com>
2006-05-02 15:36:07 +01:00
kaf24@firebug.cl.cam.ac.uk bd4b0a4f9d This patch conditionalizes some output from perfc_printall(), thus making relevant information more compact and easier
legible. It additionally changes the formatting so that trailing spaces are avoided.

Also changing the type of some variables from plain int to unsigned int, as that is yielding more efficient code on
x86-64 (signed 32-bit array indices require explicit sign extension, whereas in most cases an extra copy can be avoided
when the index type is unsigned, since all 32-bit operations already zero-extend their results).

Signed-off-by: Jan Beulich <jbeulich@novell.com>
2006-05-02 15:33:47 +01:00
kaf24@firebug.cl.cam.ac.uk ce375a4e0f Fix perfc array range on reset.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
2006-05-02 15:21:19 +01:00
kaf24@firebug.cl.cam.ac.uk 2d0922d515 Move Linux-specific privcmd code into private libxc implementations.
Make header path for kernel's privcmd/evtchn headers generic.
Remove pointless xi_*() interface that was using private libxc
interfaces.

Signed-off-by: John Levon <john.levon@sun.com>
2006-05-02 15:12:06 +01:00
kaf24@firebug.cl.cam.ac.uk 6a4be408e4 Remove obsolete privcmd_blkmsg struct.
Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com>
2006-05-02 09:18:55 +01:00
kaf24@firebug.cl.cam.ac.uk 5a7345f01f Fix ia64 build. do_physdev_op* declared incorrectly
Signed-off-by: Dan Magenheimer <dan.magenheimer@hp.com>
2006-05-02 09:16:02 +01:00
kaf24@firebug.cl.cam.ac.uk f08246e197 Fix x86/64 version of Mini-OS. It encompasses the following:
a) 64-bit switch_to scheduler macro (by Aravindh Puthiyaparambil)
b) implements 64-bit hypervisor_callback
c) fixes thread creation issues (thread_starter used to perform 
initialisation)

Signed-off-by: Grzegorz Milos <gm281@cam.ac.uk>
2006-05-02 09:12:39 +01:00
kaf24@firebug.cl.cam.ac.uk af8fc368d7 Clean up compiler.h to define a few more things and update
for gcc4.

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-05-01 17:44:51 +01:00
kaf24@firebug.cl.cam.ac.uk d305c9af08 A few functions should be static in shutdown.c.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-05-01 17:41:02 +01:00
kaf24@firebug.cl.cam.ac.uk 095470c787 Include string.h in the hypercall header file to ensure that memcpy() is defined.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-05-01 17:02:43 +01:00
kaf24@firebug.cl.cam.ac.uk 11dfd1c079 The Xen netif drivers won't complile if NET is absent.
Signed-Off-By: Horms <horms@verge.net.au>
2006-05-01 15:30:53 +01:00
kaf24@firebug.cl.cam.ac.uk 1c4f3590d1 Compilation fix on ia64. Include linux/vmalloc.h for struct vm_area.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2006-05-01 15:29:38 +01:00
kaf24@firebug.cl.cam.ac.uk 6320cedf16 Compilation fix tpmback.c on ia64. Use pfn_to_mfn instead of
phys_to_machine_mapping.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2006-05-01 15:29:08 +01:00
kaf24@firebug.cl.cam.ac.uk 28ba640091 Change semantics of grant transfers for vp guests so that the
operation automatically gets you a fresh page at the same
pseudo-physical address as Keir suggested.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2006-05-01 15:28:01 +01:00
kaf24@firebug.cl.cam.ac.uk 5308dc5660 Debugging Xend with XEND_DAEMONIZE set to False doesn't work as
expected.  Xend actually creates two children and the XEND_DAEMONIZE  
flag only prevents one of the children from being created.  This  
patch causes none of the children to be created.  With this patch,  
Xend functionality is performed in the process executed from the  
command line (i.e., /usr/sbin/xend).  This patch makes it possible to  
debug Xend with pdb.

Signed-off-by: Randy Thelen <rthelen@netapp.com>
2006-04-30 09:52:59 +01:00