Commit Graph
9720 Commits
Author SHA1 Message Date
kaf24@firebug.cl.cam.ac.uk 83d83bb966 Fix VM_RESERVED check in vm_normal_page(). Pointed out by
Isaku Yamahata.

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-04-22 09:45:45 +01:00
kaf24@firebug.cl.cam.ac.uk b07b5dcc56 Fix command-line parsing in a few respects -- be more
generous about what we accept, avoid stack overflow, and
print the command line during boot (rather useful!).

This should fix the 'lapic' and 'nolapic' boot options.

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-04-21 18:09:32 +01:00
Ian.Campbell@xensource.com a3fd8815ef Don't BUG_ON() if we cannot register an NMI callback since it is not a fatal
problem.

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
2006-04-21 18:06:06 +01:00
kaf24@firebug.cl.cam.ac.uk 118fdd8526 Merged. 2006-04-21 17:51:30 +01:00
kaf24@firebug.cl.cam.ac.uk d36686d5b5 Demote scary IO-APIC REGSEL message to DPRINTK.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-04-21 17:50:19 +01:00
Ian.Campbell@xensource.com 7e360a9957 Rename TSS_sysenter_esp0 to SYSENTER_stack_esp0 to reflect the actual
usage since the TSS is not used under Xen.

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
2006-04-21 17:49:10 +01:00
kaf24@firebug.cl.cam.ac.uk ea608cc36d Pull the Linux percpu interface into Xen. Implemented for
x86 and used it to eliminate the percpu_ctxt struct from
arch/x86/domain.c.

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-04-21 17:35:15 +01:00
Ian.Campbell@xensource.com dadf394db4 Linux support for sysenter/exit on x86_32.
This support is only active when supervisor_mode_kernel is enabled
in the Xen build (and when the hardware supports sysenter).

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
2006-04-21 17:19:31 +01:00
Ian.Campbell@xensource.com 5db7a43ecc Xen support for sysenter/exit on x86_32 when supervisor_mode_kernel is
enabled.

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
2006-04-21 17:19:29 +01:00
Ian.Campbell@xensource.com 8adc4e5ce7 Remove CONFIG_X86_SYSENTER option.
Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
2006-04-21 17:19:26 +01:00
Ian.Campbell@xensource.com 8c18405bb3 Merge nmi_op functionality with the callback_op hypercall.
Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
2006-04-21 17:19:22 +01:00
Ian.Campbell@xensource.com 77d02076f9 Add include/xen/nmi.h and update files which #include <asm/nmi.h>.
Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
2006-04-21 17:19:19 +01:00
Ian.Campbell@xensource.com 41d7f059c5 Use set_callbacks hypercall if callback_op is not available.
Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
2006-04-21 17:18:53 +01:00
kaf24@firebug.cl.cam.ac.uk c9bf3f8f19 Fix inverted BUG_ON().
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-04-21 14:03:07 +01:00
vhanquez@kneesa.uk.xensource.com 4a045cc278 Build blkdev_backend in the kernel.
Signed-off-by: Vincent Hanquez <vincent@xensource.com>
2006-04-21 12:48:58 +00:00
emellor@leeni.uk.xensource.com eb0cb70c38 This patch adds an entry to the xend-config.sxp man page about the
external device migration entry.

Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
2006-04-21 11:58:25 +01:00
emellor@leeni.uk.xensource.com df0c8173e2 The attached patch replaces the current numbers identifying the
individual steps of device migration with constants.

Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
2006-04-21 11:57:34 +01:00
emellor@leeni.uk.xensource.com 3c4f089bd8 This patch adds a test case for local virtual machine migration with a
virtual TPM attached.

Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
2006-04-21 11:56:40 +01:00
emellor@leeni.uk.xensource.com 23920c55d4 The attached patch allows external devices to migrate. The patch
contains code that allows to at least detect local migration of a
virtual machine and handles this for the virtual TPM (results in a no-op
for local migr.). If migration of a virtual machine with attached vTPM
to another machine is attempted, XenD will return an error.

Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
2006-04-21 11:54:12 +01:00
kaf24@firebug.cl.cam.ac.uk e1a1180660 Propagate information about bad (or good) REGSEL register
of chipset IO-APICs to Xen. If REGSEL is bad (some old SiS
chipsets) then we have a slower read-modify-write routine.
Loosely based on an original patch from Jan Beulich.

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-04-21 10:44:54 +01:00
kaf24@firebug.cl.cam.ac.uk 7d67a7ab23 Fix the "hda lost interrupt" issue when creating a VMX guest on a PAE
host.

Occasionally when injecting an IDE DMA interrupt into the guest, a
page fault occurs (e.g., because the IDT mapping is not present in
shadow pagetables).  This causes an immediate vmexit and, because it
occurred during event delivery, the original VM_ENTRY_INTR_INFO_FIELD
is kept in IDT_VECTORING_INFO_FIELD.

The current code copies IDT_VECTORING_INFO_FIELD back to
VM_ENTRY_INTR_INFO_FIELD, intending that the interrupt will be
injected again on next vmresume.

However, there is a corner case: if, before the next vmresume, a timer
interrupt happened then vmx_intr_assist may overwrite the information
on VM_ENTRY_INTR_INFO_FIELD, and the IDE DMA interrupt is effectively
lost.

This patch checks the IDT_VECTORING_INFO_FIELD in vmx_intr_assist and,
if it is set, copies it to VM_ENTRY_INTR_INFO_FIELD and returns.

Signed-off-by: Yunhong Jiang <Yunhong.jiang@intel.com>
Signed-off-by: Eddie Dong <eddie.dong@intel.com>
2006-04-21 10:11:00 +01:00
kaf24@firebug.cl.cam.ac.uk c10f3d80c9 There are instances where we DO NOT want an hvm guest to run an
MP enabled kernel.  In such situations we should have a workaround to
guarantee hvm guests will not detect MP.

For example, in the absence of ACPI and MPS the installation code in some
linux distributions key off the presence of cpuid edx/HTT bit (indicating
the presence of Hyper-Threading Technology) to determine if another
logical processor is present and if so load an MP enabled kernel instead
of a uniprocessor kernel.  SMBIOS is also looked at for the same purpose
and presents a potential problem as well.  While both approaches for
selecting an MP kernel are debatable (since using MPS or ACPI have long
been the standard for MP detection), these approaches are something we
have to live and work around with because making a change in the fully
virtualized guest is not an option.

To solve the problem we need to hide all secondary processors from the hvm
guest.  Since the hvm does not surface MPS tables, we only need to deal
with ACPI, cpuid HTT, and possibly SMBIOS.   (I did not have time right
now to look closely at the hvm BIOS to know if SMBIOS is also going to be
a problem.)

Also fixes a logic problem the code path where apic=0 was not
being handled correctly (vmx path only).

Signed-off-by:  Clyde Griffin <cgriffin@novell.com>
2006-04-21 09:56:50 +01:00
kaf24@firebug.cl.cam.ac.uk 5cf78863a9 PAE pgd construction code should use clone_pgd_range().
Also fix the loop that allocates users pmds.

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-04-21 09:37:22 +01:00
kaf24@firebug.cl.cam.ac.uk f9afb49240 Fix python installation on sles10. Install prefix is being
passed along for some reason, so we explicitly redefine it
to nothing.

Signed-off-by: Ryan Grimm <grimm@us.ibm.com>
2006-04-21 09:14:07 +01:00
kaf24@firebug.cl.cam.ac.uk 10e0943c63 Minor comment fix.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-04-21 09:11:13 +01:00
kaf24@firebug.cl.cam.ac.uk 1880b564e5 Fix user manual regarding trace buffers.
1. debug building is not needed for tracing buffer...
 2. ...but trace buffer default size is 0

Signed-off-by: Atsushi SAKAI <sakaia@jp.fujitsu.com>
2006-04-21 09:09:29 +01:00
vhanquez@kneesa.uk.xensource.com 430375db53 put back XEN_NETDEV_LOOPBACK in kernel.
also requires XEN_NETDEV_BACKEND to be in kernel.

This is temporary, Xend should verify that NETDEV_LOOPBACK is loaded,
and try to load it if not.

Signed-off-by: Vincent Hanquez <vincent@xensource.com>
2006-04-21 07:45:51 +01:00
vhanquez@kneesa.uk.xensource.com 194076d8b6 Put back BLK_DEV_LOOP in the kernel, to avoid failure in XenRT.
Signed-off-by: Vincent Hanquez <vincent@xensource.com>
2006-04-20 22:48:32 +01:00
kaf24@firebug.cl.cam.ac.uk cfc4a77198 Enable migration of a domain to the local machine - some timing
issues needed to be resolved by executing certain code early/later
Restore the physical to machine array such that balloon-allocated
pages can be deallocated.

Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
2006-04-20 17:32:12 +01:00
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
vhanquez@kneesa.uk.xensource.com 253f67ff6f adjustement to default configs to build BLK_DEV_GENERIC in the kernel directly.
Signed-off-by: Vincent Hanquez <vincent@xensource.com>
2006-04-20 17:09:53 +01:00
kaf24@firebug.cl.cam.ac.uk 4cab737e18 SVM patch to ensure that PAE bit is set for 32bit guests on 32bit PAE,
by using paging levels>=3 rather than ifdef i386.  This patch fixes
the "black screen" hang issue when building w/XEN_TARGET_X86_PAE=y on
32bit.

Tested linux debian and win2003EE guests with pae=1.  The linux
guest boots without error, while the windows guest sometimes hits a
bug() in shadow.c.  Both VT and SVM encounter the same bug.

Signed-off-by: Tom Woller <thomas.woller@amd.com>
2006-04-20 17:02:42 +01:00
vhanquez@kneesa.uk.xensource.com ce969676cb Put back some modules directly in kernel.
ATA_PIIX, PACKET and SECURITY_CAPABILITY are not correctly load on certain
distributions.

Signed-off-by: Vincent Hanquez <vincent@xensource.com>
2006-04-20 15:45:09 +01:00
kaf24@firebug.cl.cam.ac.uk a20dde6f0b In both i386 and x86-64 Linux, using a static variable (and thus
having the potential of missing synchronization there,
as I suspect exists in native Linux) is not needed with the hypercall 
approach. In the hypervisor, the patch adds the
needed synchronization.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
2006-04-20 14:10:35 +01:00
kaf24@firebug.cl.cam.ac.uk 8326f5657a Build frontend drivers into the -xen kernels rather than as
modules. Most people's initrd-building tools will not know
about these drivers so it will only cause confusion not to
include them in the kernel core image.

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-04-20 10:38:07 +01:00
vhanquez@kneesa.uk.xensource.com 0ae76444d3 Update -xen configs for 32/64 bits to be closer to what distributions use.
Signed-off-by: Vincent Hanquez <vincent@xensource.com>
2006-04-19 23:16:58 +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 67d4dc8624 x86/64 e820-parse-and-map code should skip low 1GB now as that
is mapped by the boot code.

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-04-19 22:28:22 +01:00
kaf24@firebug.cl.cam.ac.uk e59000337f Increase size of level-2 initial PDE identity map from first 64MB of
physical RAM to first 1GB of physical RAM. This allows x86_64 xen to boot
larger dom0 images. Without this changes large dom0 images fail to
boot with "Unknown interrupt" on xen console and wedge.

Signed-off-by: Todd Clayton <todd.clayton@sun.com>
2006-04-19 22:23:44 +01:00
kaf24@firebug.cl.cam.ac.uk 56ff805a16 Fix 64-bit Xen build after new PIT (i8254) code.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-04-19 22:23:30 +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 b9d8354383 Clean up the xenoprofile hypercall interface.
Signed-off-by: Jose Renato Santos <jsantos@hpl.hp.com>
2006-04-19 18:43:39 +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 1a7cc0a83c Replace &foo[0] with foo where the latter seems cleaner
(which is usually, and particularly when its an argument
to one of the bitops functions).

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-04-19 18:32:20 +01:00
kaf24@firebug.cl.cam.ac.uk 93564fcf10 This patch defines a test_and_clear bitop for cpumask_t pointers.
Also fixes "wrong pointer type" for type specific bitops by using
&foo[0] instead of &foo.

Signed-off-by: Jimi Xenidis <jimix@watson.ibm.com>
2006-04-19 18:24:49 +01:00