]> xenbits.xensource.com Git - xen.git/log
xen.git
19 years agoThis patch updates the documentation and extends the 'xm' man page with
smh22@firebug.cl.cam.ac.uk [Mon, 24 Apr 2006 09:59:57 +0000 (10:59 +0100)]
This patch updates the documentation and extends the 'xm' man page with
the integrated access control management commands. The man page is a
good place to start exploring these commands.

Signed-off by: Reiner Sailer <sailer@us.ibm.com>

19 years agoThis patch integrates the new access control management tools into 'xm'
smh22@firebug.cl.cam.ac.uk [Mon, 24 Apr 2006 09:59:17 +0000 (10:59 +0100)]
This patch integrates the new access control management tools into 'xm'
and 'xend' and supports label/ssid translation support for
migration/life-migration/resume.

Signed-off by: Reiner Sailer <sailer@us.ibm.com>

19 years agoThis patch adds new python access control management scripts, which
smh22@firebug.cl.cam.ac.uk [Mon, 24 Apr 2006 09:58:25 +0000 (10:58 +0100)]
This patch adds new python access control management scripts, which
integrate into Xen Management and which support the new access control
labels (labels replace the ssidref numbers at the management user
interface).

Signed-off by: Reiner Sailer <sailer@us.ibm.com>

19 years agoThis patch deletes the old shell-based security tools.
smh22@firebug.cl.cam.ac.uk [Mon, 24 Apr 2006 09:54:47 +0000 (10:54 +0100)]
This patch deletes the old shell-based security tools.

Signed-off by: Reiner Sailer <sailer@us.ibm.com>

19 years agoThis patch adds support for managing and creating the simplified
smh22@firebug.cl.cam.ac.uk [Mon, 24 Apr 2006 09:52:19 +0000 (10:52 +0100)]
This patch adds support for managing and creating the simplified
policies to the policy generation tools.

Signed-off by: Thomas Lendacky <toml@us.ibm.com>
Signed-off by: Reiner Sailer <sailer@us.ibm.com>

19 years agoThis patch adds support in the hypervisor for the policy name attribute
smh22@firebug.cl.cam.ac.uk [Mon, 24 Apr 2006 09:51:50 +0000 (10:51 +0100)]
This patch adds support in the hypervisor for the policy name attribute
introduced into security policies. It also fixes a minor problem related
to handling unsupported boot policies.

Signed-off by: Reiner Sailer <sailer@us.ibm.com>

19 years agoThis patch adds support in the hypervisor for the policy name attribute
smh22@firebug.cl.cam.ac.uk [Mon, 24 Apr 2006 09:51:20 +0000 (10:51 +0100)]
This patch adds support in the hypervisor for the policy name attribute
introduced into security policies. It also fixes a minor problem related
to handling unsupported boot policies.

Signed-off by: Reiner Sailer <sailer@us.ibm.com>

19 years agoThis patch adds a policy name to the policy definition. This policy name
smh22@firebug.cl.cam.ac.uk [Mon, 24 Apr 2006 09:50:38 +0000 (10:50 +0100)]
This patch adds a policy name to the policy definition. This policy name
must be unique and must change if the content of the file changes. The
policy name is used to ensure that the XM tools and the hypervisor work
on the same policy, i.e., interpret the security information on domains
consistently. This patch also simplifies the policy management by moving
policy and labels into a single file.

Signed-off by: Reiner Sailer <sailer@us.ibm.com>

19 years agoRemove annoying pit debug info when booting smp guest.
kaf24@firebug.cl.cam.ac.uk [Sun, 23 Apr 2006 08:20:31 +0000 (09:20 +0100)]
Remove annoying pit debug info when booting smp guest.
Signed-off-by: Edwin Zhai <edwin.zhai@intel.com>
19 years agoThe Xen checksum offload feature attempts to insert a TCP/UDP
kaf24@firebug.cl.cam.ac.uk [Sat, 22 Apr 2006 09:41:53 +0000 (10:41 +0100)]
The Xen checksum offload feature attempts to insert a TCP/UDP
checksums into already encrypted packets (esp4) in dom0.  Obviously,
it is not possible to insert a checksum into an already encrypted
packet, so this patch inserts the checksum prior to encrypting
packets in net/ipv4/xfrm4_output.c.

To do this cleanly, the TCP/UDP header pointers need to be pointed to
the correct spot, so this functionality has been abstracted into a new
function.

This patch fixes bug 143 (verified by Jim Dykman).  Earlier version
verified by Jon McCune.

Signed-off-by: James Dykman <dykman@us.ibm.com>
Signed-off-by: Jon Mason <jdmason@us.ibm.com>
19 years agoAvoid spurious timer activations in migrate_timer().
kaf24@firebug.cl.cam.ac.uk [Sat, 22 Apr 2006 09:37:24 +0000 (10:37 +0100)]
Avoid spurious timer activations in migrate_timer().

Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agoRemove update_vcpu_system_time() call from the per-VCPU timer
kaf24@firebug.cl.cam.ac.uk [Sat, 22 Apr 2006 09:26:28 +0000 (10:26 +0100)]
Remove update_vcpu_system_time() call from the per-VCPU timer
callback function. It's unnecessary and in fact may occasionally
even run on the wrong CPU.

Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agoAvoid flood of PIT interrupts while debugging an hvm guest.
kaf24@firebug.cl.cam.ac.uk [Sat, 22 Apr 2006 09:14:11 +0000 (10:14 +0100)]
Avoid flood of PIT interrupts while debugging an hvm guest.

This is rebased to the new PIT code now. It has the same logic as
earlier. PIT tries to catch up the missed timer ticks by injected all
the ticks one by one so that Guest time stays close to the wall clock.
But while debugging a hvm guest if you stop the guest by debugger and
then continue, the guest sees flood of interrupts compensating the
missed ticks for the stopped time. This patch just check if the guest is
being debugged, if yes then it does not try to catch up with the missed
ticks.

Signed-off-by: Nitin A Kamble <nitin.a.kamble@.intel.com>
19 years agoFix VM_RESERVED check in vm_normal_page(). Pointed out by
kaf24@firebug.cl.cam.ac.uk [Sat, 22 Apr 2006 08:45:45 +0000 (09:45 +0100)]
Fix VM_RESERVED check in vm_normal_page(). Pointed out by
Isaku Yamahata.

Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agoFix command-line parsing in a few respects -- be more
kaf24@firebug.cl.cam.ac.uk [Fri, 21 Apr 2006 17:09:32 +0000 (18:09 +0100)]
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>
19 years agoDon't BUG_ON() if we cannot register an NMI callback since it is not a fatal
Ian.Campbell@xensource.com [Fri, 21 Apr 2006 17:06:06 +0000 (18:06 +0100)]
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>
19 years agoMerged.
kaf24@firebug.cl.cam.ac.uk [Fri, 21 Apr 2006 16:51:30 +0000 (17:51 +0100)]
Merged.

19 years agoDemote scary IO-APIC REGSEL message to DPRINTK.
kaf24@firebug.cl.cam.ac.uk [Fri, 21 Apr 2006 16:50:19 +0000 (17:50 +0100)]
Demote scary IO-APIC REGSEL message to DPRINTK.
Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agoRename TSS_sysenter_esp0 to SYSENTER_stack_esp0 to reflect the actual
Ian.Campbell@xensource.com [Fri, 21 Apr 2006 16:49:10 +0000 (17:49 +0100)]
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>
19 years agoPull the Linux percpu interface into Xen. Implemented for
kaf24@firebug.cl.cam.ac.uk [Fri, 21 Apr 2006 16:35:15 +0000 (17:35 +0100)]
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>
19 years agoLinux support for sysenter/exit on x86_32.
Ian.Campbell@xensource.com [Fri, 21 Apr 2006 16:19:31 +0000 (17:19 +0100)]
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>
19 years agoXen support for sysenter/exit on x86_32 when supervisor_mode_kernel is
Ian.Campbell@xensource.com [Fri, 21 Apr 2006 16:19:29 +0000 (17:19 +0100)]
Xen support for sysenter/exit on x86_32 when supervisor_mode_kernel is
enabled.

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
19 years agoRemove CONFIG_X86_SYSENTER option.
Ian.Campbell@xensource.com [Fri, 21 Apr 2006 16:19:26 +0000 (17:19 +0100)]
Remove CONFIG_X86_SYSENTER option.

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
19 years agoMerge nmi_op functionality with the callback_op hypercall.
Ian.Campbell@xensource.com [Fri, 21 Apr 2006 16:19:22 +0000 (17:19 +0100)]
Merge nmi_op functionality with the callback_op hypercall.

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
19 years agoAdd include/xen/nmi.h and update files which #include <asm/nmi.h>.
Ian.Campbell@xensource.com [Fri, 21 Apr 2006 16:19:19 +0000 (17:19 +0100)]
Add include/xen/nmi.h and update files which #include <asm/nmi.h>.

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
19 years agoUse set_callbacks hypercall if callback_op is not available.
Ian.Campbell@xensource.com [Fri, 21 Apr 2006 16:18:53 +0000 (17:18 +0100)]
Use set_callbacks hypercall if callback_op is not available.

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
19 years agoFix inverted BUG_ON().
kaf24@firebug.cl.cam.ac.uk [Fri, 21 Apr 2006 13:03:07 +0000 (14:03 +0100)]
Fix inverted BUG_ON().

Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agoBuild blkdev_backend in the kernel.
vhanquez@kneesa.uk.xensource.com [Fri, 21 Apr 2006 12:48:58 +0000 (12:48 +0000)]
Build blkdev_backend in the kernel.

Signed-off-by: Vincent Hanquez <vincent@xensource.com>
19 years agoThis patch adds an entry to the xend-config.sxp man page about the
emellor@leeni.uk.xensource.com [Fri, 21 Apr 2006 10:58:25 +0000 (11:58 +0100)]
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>
19 years agoThe attached patch replaces the current numbers identifying the
emellor@leeni.uk.xensource.com [Fri, 21 Apr 2006 10:57:34 +0000 (11:57 +0100)]
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>
19 years agoThis patch adds a test case for local virtual machine migration with a
emellor@leeni.uk.xensource.com [Fri, 21 Apr 2006 10:56:40 +0000 (11:56 +0100)]
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>
19 years agoThe attached patch allows external devices to migrate. The patch
emellor@leeni.uk.xensource.com [Fri, 21 Apr 2006 10:54:12 +0000 (11:54 +0100)]
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>
19 years agoPropagate information about bad (or good) REGSEL register
kaf24@firebug.cl.cam.ac.uk [Fri, 21 Apr 2006 09:44:54 +0000 (10:44 +0100)]
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>
19 years agoFix the "hda lost interrupt" issue when creating a VMX guest on a PAE
kaf24@firebug.cl.cam.ac.uk [Fri, 21 Apr 2006 09:11:00 +0000 (10:11 +0100)]
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>
19 years agoThere are instances where we DO NOT want an hvm guest to run an
kaf24@firebug.cl.cam.ac.uk [Fri, 21 Apr 2006 08:56:50 +0000 (09:56 +0100)]
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>
19 years agoPAE pgd construction code should use clone_pgd_range().
kaf24@firebug.cl.cam.ac.uk [Fri, 21 Apr 2006 08:37:22 +0000 (09:37 +0100)]
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>
19 years agoFix python installation on sles10. Install prefix is being
kaf24@firebug.cl.cam.ac.uk [Fri, 21 Apr 2006 08:14:07 +0000 (09:14 +0100)]
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>
19 years agoMinor comment fix.
kaf24@firebug.cl.cam.ac.uk [Fri, 21 Apr 2006 08:11:13 +0000 (09:11 +0100)]
Minor comment fix.

Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agoFix user manual regarding trace buffers.
kaf24@firebug.cl.cam.ac.uk [Fri, 21 Apr 2006 08:09:29 +0000 (09:09 +0100)]
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>
19 years agoput back XEN_NETDEV_LOOPBACK in kernel.
vhanquez@kneesa.uk.xensource.com [Fri, 21 Apr 2006 06:45:51 +0000 (07:45 +0100)]
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>
19 years agoPut back BLK_DEV_LOOP in the kernel, to avoid failure in XenRT.
vhanquez@kneesa.uk.xensource.com [Thu, 20 Apr 2006 21:48:32 +0000 (22:48 +0100)]
Put back BLK_DEV_LOOP in the kernel, to avoid failure in XenRT.

Signed-off-by: Vincent Hanquez <vincent@xensource.com>
19 years agoEnable migration of a domain to the local machine - some timing
kaf24@firebug.cl.cam.ac.uk [Thu, 20 Apr 2006 16:32:12 +0000 (17:32 +0100)]
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>
19 years agoContinue to diagnose the device state, even if Xend has crashed.
emellor@leeni.uk.xensource.com [Thu, 20 Apr 2006 16:16:27 +0000 (17:16 +0100)]
Continue to diagnose the device state, even if Xend has crashed.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
19 years agoadjustement to default configs to build BLK_DEV_GENERIC in the kernel directly.
vhanquez@kneesa.uk.xensource.com [Thu, 20 Apr 2006 16:09:53 +0000 (17:09 +0100)]
adjustement to default configs to build BLK_DEV_GENERIC in the kernel directly.

Signed-off-by: Vincent Hanquez <vincent@xensource.com>
19 years agoSVM patch to ensure that PAE bit is set for 32bit guests on 32bit PAE,
kaf24@firebug.cl.cam.ac.uk [Thu, 20 Apr 2006 16:02:42 +0000 (17:02 +0100)]
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>
19 years agoPut back some modules directly in kernel.
vhanquez@kneesa.uk.xensource.com [Thu, 20 Apr 2006 14:45:09 +0000 (15:45 +0100)]
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>
19 years agoIn both i386 and x86-64 Linux, using a static variable (and thus
kaf24@firebug.cl.cam.ac.uk [Thu, 20 Apr 2006 13:10:35 +0000 (14:10 +0100)]
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>
19 years agoBuild frontend drivers into the -xen kernels rather than as
kaf24@firebug.cl.cam.ac.uk [Thu, 20 Apr 2006 09:38:07 +0000 (10:38 +0100)]
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>
19 years agoUpdate -xen configs for 32/64 bits to be closer to what distributions use.
vhanquez@kneesa.uk.xensource.com [Wed, 19 Apr 2006 22:16:58 +0000 (23:16 +0100)]
Update -xen configs for 32/64 bits to be closer to what distributions use.

Signed-off-by: Vincent Hanquez <vincent@xensource.com>
19 years agoAdd small memory warning message to domain configuration examples.
stekloff@dyn9047022152.beaverton.ibm.com [Wed, 19 Apr 2006 21:58:24 +0000 (22:58 +0100)]
Add small memory warning message to domain configuration examples.

Signed-off-by: Daniel Stekloff <dsteklof@us.ibm.com>
19 years agoSmall Memory fix patch #2: I forgot to change the XmTestDomain method
stekloff@dyn9047022152.beaverton.ibm.com [Wed, 19 Apr 2006 21:58:16 +0000 (22:58 +0100)]
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>
19 years agoFix the 15_create_smallmem_pos.py test, which was failing because the
stekloff@dyn9047022152.beaverton.ibm.com [Wed, 19 Apr 2006 21:58:03 +0000 (22:58 +0100)]
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>
19 years agoUnder FC5 multi-line commands in bash script language have to be wrapped
emellor@leeni.uk.xensource.com [Wed, 19 Apr 2006 21:54:49 +0000 (22:54 +0100)]
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>
19 years agoThis fixes a path problem with the current ACM scripts.
emellor@leeni.uk.xensource.com [Wed, 19 Apr 2006 21:52:34 +0000 (22:52 +0100)]
This fixes a path problem with the current ACM scripts.

Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
19 years agox86/64 e820-parse-and-map code should skip low 1GB now as that
kaf24@firebug.cl.cam.ac.uk [Wed, 19 Apr 2006 21:28:22 +0000 (22:28 +0100)]
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>
19 years agoIncrease size of level-2 initial PDE identity map from first 64MB of
kaf24@firebug.cl.cam.ac.uk [Wed, 19 Apr 2006 21:23:44 +0000 (22:23 +0100)]
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>
19 years agoFix 64-bit Xen build after new PIT (i8254) code.
kaf24@firebug.cl.cam.ac.uk [Wed, 19 Apr 2006 21:23:30 +0000 (22:23 +0100)]
Fix 64-bit Xen build after new PIT (i8254) code.
Signed-off-by: Keir Fraser <keir@xensource.com>
19 years ago The Xen Hypervisor currently operates a bit differently when the
kaf24@firebug.cl.cam.ac.uk [Wed, 19 Apr 2006 21:19:41 +0000 (22:19 +0100)]
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>
19 years agoClean up the xenoprofile hypercall interface.
kaf24@firebug.cl.cam.ac.uk [Wed, 19 Apr 2006 17:43:39 +0000 (18:43 +0100)]
Clean up the xenoprofile hypercall interface.
Signed-off-by: Jose Renato Santos <jsantos@hpl.hp.com>
19 years agoFix swapped calloc() arguments.
kaf24@firebug.cl.cam.ac.uk [Wed, 19 Apr 2006 17:39:36 +0000 (18:39 +0100)]
Fix swapped calloc() arguments.
Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com>
19 years agoSync PIT device model with latest qemu and move it to hypervisor.
kaf24@firebug.cl.cam.ac.uk [Wed, 19 Apr 2006 17:38:14 +0000 (18:38 +0100)]
Sync PIT device model with latest qemu and move it to hypervisor.
Signed-off-by: Edwin Zhai <edwin.zhai@intel.com>
19 years agoReplace &foo[0] with foo where the latter seems cleaner
kaf24@firebug.cl.cam.ac.uk [Wed, 19 Apr 2006 17:32:20 +0000 (18:32 +0100)]
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>
19 years agoThis patch defines a test_and_clear bitop for cpumask_t pointers.
kaf24@firebug.cl.cam.ac.uk [Wed, 19 Apr 2006 17:24:49 +0000 (18:24 +0100)]
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>
19 years agoThis is an update on the vTPM installation instructions.
emellor@leeni.uk.xensource.com [Wed, 19 Apr 2006 15:08:41 +0000 (16:08 +0100)]
This is an update on the vTPM installation instructions.

Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
19 years agoOnly BSP can really do clear_all_shadow_status.
kaf24@firebug.cl.cam.ac.uk [Sun, 16 Apr 2006 14:41:31 +0000 (15:41 +0100)]
Only BSP can really do clear_all_shadow_status.
This fixes SMP IA32 VMX guest booting on IA32 xen.

Signed-off-by: Xin Li <xin.b.li@intel.com>
19 years agoClean up new EOI ack method some more and fix unbinding
kaf24@firebug.cl.cam.ac.uk [Sun, 16 Apr 2006 14:04:21 +0000 (15:04 +0100)]
Clean up new EOI ack method some more and fix unbinding
IRQ from guest (penidng EOIs must be forcibly flushed).

Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agoMerged.
emellor@leeni.uk.xensource.com [Sat, 15 Apr 2006 18:25:21 +0000 (19:25 +0100)]
Merged.

19 years agoRead the message type out of the message before sending it to xenstored, and
emellor@leeni.uk.xensource.com [Sat, 15 Apr 2006 18:25:09 +0000 (19:25 +0100)]
Read the message type out of the message before sending it to xenstored, and
use that saved value when handling the reply.  Xenstored will leave the
message type intact, _except_ when returning an error, in which case it will
change the type to XS_ERROR.  This meant that we failed to remove a
transaction from our internal list if xenstored returned EAGAIN, as we did not
realise that the message was XS_TRANSACTION_END.  This manifested itself as
the intended behaviour until the connection was closed, at which point all of
those failed transactions would erroneously be aborted.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
19 years agoBig fixes for the new IO-APIC acknowledging method. The problems
kaf24@firebug.cl.cam.ac.uk [Sat, 15 Apr 2006 17:09:52 +0000 (18:09 +0100)]
Big fixes for the new IO-APIC acknowledging method. The problems
were:
 1. Some critical Xen interrupts could get blocked behind
    unacknowledged guest interrupts. This is avoided by making
    all Xen-bound interrrupts strictly higher priority.
 2. Interrupts must not only be EOIed on the CPU that received
    them, but also in reverse order when interrupts are nested.
    A whole load of logic has been added to ensure this.

There are two boot parameters relating to all this:
 'ioapic_ack=old' -- use the old IO-APIC ACK method
 'ioapic_ack=new' -- use the new IO-APIC ACK method (default)
 'force_intack'   -- periodically force acknowledgement of
                     interrupts (default is no; useful for debugging)

Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agoRemove bogus extern declaration.
kaf24@firebug.cl.cam.ac.uk [Sat, 15 Apr 2006 14:53:53 +0000 (15:53 +0100)]
Remove bogus extern declaration.

Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agoThis patch adds a section to the documentation on the late binding
kaf24@firebug.cl.cam.ac.uk [Sat, 15 Apr 2006 10:28:55 +0000 (11:28 +0100)]
This patch adds a section to the documentation on the late binding
feature for PCI devices. It provides some examples (mostly stolen from
the e-mail which accompanied the late-binding patch) of how to use the
sysfs attributes for late binding.

This patch was revised from the last documentation patch that I
submitted which included this and some documentation on the permissive
flag. I've divided the two sections up and I'd like this one considered
for acceptance now while I revise the permissive flag code.

Signed-off-by: Ryan Wilson <hap9@epoch.ncsc.mil>
19 years agoTouch softlockup watchdog while warning user about use of
kaf24@firebug.cl.cam.ac.uk [Sat, 15 Apr 2006 09:16:05 +0000 (10:16 +0100)]
Touch softlockup watchdog while warning user about use of
tls libraries.

Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agoFix whitespace in libxc. Tabs are manually fixed.
kaf24@firebug.cl.cam.ac.uk [Sat, 15 Apr 2006 09:07:31 +0000 (10:07 +0100)]
Fix whitespace in libxc. Tabs are manually fixed.
Trailing whitespace removed with:
 perl -p -i -e 's/\s+$/\n/g' tools/libxc/*.[ch]

Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com>
19 years agoFix SETMAXMEM dom0_op with proper locking.
kaf24@firebug.cl.cam.ac.uk [Sat, 15 Apr 2006 08:52:32 +0000 (09:52 +0100)]
Fix SETMAXMEM dom0_op with proper locking.

Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agoCurrently, it is possible to set the mem-max value to value lower than
kaf24@firebug.cl.cam.ac.uk [Sat, 15 Apr 2006 08:47:55 +0000 (09:47 +0100)]
Currently, it is possible to set the mem-max value to value lower than
what has been currently allocated to the domain causing the kernel to
crash. This patch validates the value passed in and prevents setting the
value below the current allocation level.

Signed-off-by: ksrinivasan@novell.com
19 years agoThis patch enables external devices, such as for example a mounted hard
emellor@leeni.uk.xensource.com [Fri, 14 Apr 2006 20:22:09 +0000 (21:22 +0100)]
This patch enables external devices, such as for example a mounted hard
drive image or a TPM, to be migrated to a remote machine. The patch
hooks into the checkpointing (XendCheckpoint.py) code and performs
migration in 4 different steps:

In a 1st step (step = 0 in the code) migration of all devices of a
domain is 'tested', that means their driver implementations (blkif.py,
netif.py, tpmif.py, usbif.py, pciif.py) are queried whether migration is
possible at all. Currently all device representations respond with a
'yes' (=0), although probably a VM mounting a hard drive partition
should respond with a 'no' (-1) already. This first step is a quick
check to see whether devices can be migrated.

The 2nd step is to do whatever can be done before the domain is
suspended. At this point migration of the device could be initiated, if
at all possible.

The 3rd step is to migrate a device after the domain has been suspended,
meaning that it is not scheduled anymore and the VM is 'settled'. All
devices are called again and a good implementation would initiate the
migration in a background process to achieve as much concurrency as
possible.

The 4th step is to synchronize with the 3rd step. At this point the
implementor has to make sure that anything that was initiated in step 3
has completed. Once all steps 4 have been processed, the VM will resume
on the remove machine.

I have implemented hooks for migration of a virtual TPM in
xen/xend/server/tpmif.py. These hooks call a configurable external
migration tool using the os.popen() call with a fixed command line
parameter set. The implementation refuses to migrate a VM attached to a
virtual TPM if no tool has been provided for migration.
All other devices do not currently overload the 'migrate' method defined
in the DevController.py and therefore will just let migration happen.

I have added hooks for error recovery such that whatever part of
migration has been initiated can be rolled back when any of the devices
fail to migrate in one of the steps. The interface (in tpmif.py) to the
external application now uses os.popen() to allow error handling by
reading the application's output.

Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
19 years agoAllow cpus parameter to xm create to accept a range string by removing the
Ryan Harper [Fri, 14 Apr 2006 20:15:38 +0000 (21:15 +0100)]
Allow cpus parameter to xm create to accept a range string by removing the
restriction of cpus accepting only integers.

Signed-off-by: Ryan Harper <ryanh@us.ibm.com>
19 years agoRestrict netfront to 256 grant references to avoid
kaf24@firebug.cl.cam.ac.uk [Fri, 14 Apr 2006 14:05:28 +0000 (15:05 +0100)]
Restrict netfront to 256 grant references to avoid
exhausting the global pool.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
19 years agoIntroduce gnttab_empty_grant_references() to check whether grant
kaf24@firebug.cl.cam.ac.uk [Fri, 14 Apr 2006 14:05:04 +0000 (15:05 +0100)]
Introduce gnttab_empty_grant_references() to check whether grant
references is empty.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
19 years agoReplace grant-table typedefs with explicit structs.
kaf24@firebug.cl.cam.ac.uk [Fri, 14 Apr 2006 13:54:46 +0000 (14:54 +0100)]
Replace grant-table typedefs with explicit structs.
Reduce MAPTRACK_MAX_ENTRIES to something plausible.

Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agoClean up grant_mapping_t. Increase its size from 4bytes to 8bytes and
kaf24@firebug.cl.cam.ac.uk [Fri, 14 Apr 2006 13:40:30 +0000 (14:40 +0100)]
Clean up grant_mapping_t. Increase its size from 4bytes to 8bytes and
removed tight encoding of flag and ref.  This change is xen-internal
so this shouldn't affect domain api.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
19 years agoUse ioremap instead of __va to map VGA memory area (to be uncached).
kaf24@firebug.cl.cam.ac.uk [Fri, 14 Apr 2006 13:37:19 +0000 (14:37 +0100)]
Use ioremap instead of __va to map VGA memory area (to be uncached).

Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
19 years agoThis patch removes the ignored "Unconditional I/O exiting" setting in VMCS for
kaf24@firebug.cl.cam.ac.uk [Fri, 14 Apr 2006 13:33:53 +0000 (14:33 +0100)]
This patch removes the ignored "Unconditional I/O exiting" setting in VMCS for
the vmx guest since "Use I/O bitmaps" setting is being used.

Signed-off-by: Himanshu Raj <rhim.list@nosuchaddr.com>
19 years agoThis patch enables tracing VMEXIT/ENTRY for 64-bit systems.
kaf24@firebug.cl.cam.ac.uk [Fri, 14 Apr 2006 13:31:27 +0000 (14:31 +0100)]
This patch enables tracing VMEXIT/ENTRY for 64-bit systems.

Signed-off-by: Himanshu Raj <rhim.list@nosuchaddr.com>
19 years agoSince we don't reset the proto_csum_blank flag in the skb, the
kaf24@firebug.cl.cam.ac.uk [Fri, 14 Apr 2006 13:23:40 +0000 (14:23 +0100)]
Since we don't reset the proto_csum_blank flag in the skb, the
checksum calculation gets done twice, which is not twice as good as
once.

With this patch, TCP/UDP checksum errors from dom0 are fixed, and
domUs can use TCP/UDP without turning off TX checksum offload.  Normal
non-VLAN bridged configs still work fine, tested with xm-test.

Signed-off-by: Jim Dykman <dykman@us.ibm.com>
19 years agoThis is a patch for XenMon which only applies to the userspace tools.
kaf24@firebug.cl.cam.ac.uk [Fri, 14 Apr 2006 13:21:12 +0000 (14:21 +0100)]
This is a patch for XenMon which only applies to the userspace tools.
The primary purpose of this patch is to add support for non-polling
access to the xen trace buffers. The hypervisor changes have already
been accepted.

Also included are a few bug fixes and some minor new features:

1. If xenmon is run without first allocating trace buffers (via
'setsize') and enabling them (via 'tbctl'), then this is done
automatically using sensible defaults.

2. There was a bug that caused the first second's worth of data output
from xenmon to be erroneous; This has been fixed.

3. There was a bug that caused xenmon to sometimes not display data for
newly created domains; This has also been fixed.

4. The xenmon display has a 'heartbeat' which flickers once per second.
This is to show that xenmon is still alive, even though the display
isn't changing at all, a situation that can happen sometimes when there
is nothing at all happening on a particular cpu.

5. Added cpu utilization display to the top of the xenmon window.

6. Added a bunch of options in xenmon to control exactly which metrics
are displayed, so the screen doesn't get cluttered with stuff you're not
interested in. The new options are:
  --allocated
  --noallocated
  --blocked
  --noblocked
  --waited
  --nowaited
  --excount
  --noexcount
  --iocount
  --noiocount

7. Added an option ("--cpu=N") to xenmon to specify which physical cpu
you'd like data displayed for.

8. Updated the README with information about default trace buffer size, etc.

Signed-off-by: Rob Gardner <rob.gardner@hp.com>
19 years agoTrivial patch to fix x86_64 builds in which XEN_TARGET_ARCH
kaf24@firebug.cl.cam.ac.uk [Fri, 14 Apr 2006 13:18:39 +0000 (14:18 +0100)]
Trivial patch to fix x86_64 builds in which XEN_TARGET_ARCH
is specified on the make command line, e.g.:
     make XEN_TARGET_ARCH=x86_64

This busted the vmxassist and hvmloader builds, which must
be done -m32.  Using "override" in the vmxassist/hvmloader
Makefiles fixes the problem by not allowing this to be
overridden from the command line.

Signed-off-by: Dave Lively <dlively@virtualiron.com>
19 years agoNew IO-APIC ACK method seems to cause problems on some systems
kaf24@firebug.cl.cam.ac.uk [Fri, 14 Apr 2006 13:14:24 +0000 (14:14 +0100)]
New IO-APIC ACK method seems to cause problems on some systems
(e.g., Dell 1850). Disable it by default for now, but allow the
new mwethod to be tested by passing boot parameter 'new_ack'
to Xen.

You can tell which ACK method you are using because Xen prints
out "Using old ACK method" or "Using new ACK method" during boot.

This workaround can be removed if/when the problems with the new
ACK method are flushed out.

Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agoFix Xen's interrupt acknowledgement routines on certain
kaf24@firebug.cl.cam.ac.uk [Fri, 14 Apr 2006 11:01:15 +0000 (12:01 +0100)]
Fix Xen's interrupt acknowledgement routines on certain
(apparently broken) IO-APIC hardware:
 1. Do not mask/unmask the IO-APIC pin during normal ISR
    processing. This seems to have really bizarre side effects
    on some chipsets.
 2. Since we instead tickle the local APIC in the ->end
    irq hook function, it *must* run on the CPU that
    received the interrupt. Therefore we track which CPUs
    need to do final acknowledgement and IPI them if
    necessary to do so.

Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agoCall move_irq() during evtchn ->ack irq hook functions. This
kaf24@firebug.cl.cam.ac.uk [Fri, 14 Apr 2006 10:58:49 +0000 (11:58 +0100)]
Call move_irq() during evtchn ->ack irq hook functions. This
triggers SMP affinity work.

Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agoMust use __copy_to_user_inatomic() in swiotlb's sync_single()
kaf24@firebug.cl.cam.ac.uk [Fri, 14 Apr 2006 10:58:11 +0000 (11:58 +0100)]
Must use __copy_to_user_inatomic() in swiotlb's sync_single()
function, as we cannot sleep there.

Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agoFix stack corruption in the libxs python interface. domid_t is a short;
kaf24@firebug.cl.cam.ac.uk [Thu, 13 Apr 2006 18:14:11 +0000 (19:14 +0100)]
Fix stack corruption in the libxs python interface. domid_t is a short;
instead use uint32_t like we do in xc.c.

Signed-off-by: John Levon <john.levon@sun.com>
19 years agoadd quota to xenstored.
vhanquez@kneesa.uk.xensource.com [Thu, 13 Apr 2006 16:21:13 +0000 (16:21 +0000)]
add quota to xenstored.

Signed-off-by: Vincent Hanquez <vincent@xensource.com>
19 years agoAllow PCI-E and PCMCIA config on 64-bit Xenlinux.
kaf24@firebug.cl.cam.ac.uk [Thu, 13 Apr 2006 14:15:56 +0000 (15:15 +0100)]
Allow PCI-E and PCMCIA config on 64-bit Xenlinux.

Signed-off-by: Keir Fraser <keir@xensource.com>
19 years agoThis is to align PIT counter with TSC more accurately.
kaf24@firebug.cl.cam.ac.uk [Thu, 13 Apr 2006 10:26:01 +0000 (11:26 +0100)]
This is to align PIT counter with TSC more accurately.

Signed-off-by: Eddie Dong <eddie.dong@intel.com>
19 years agoUse memmove instead of memcpy for overlapping areas (console scroll).
kaf24@firebug.cl.cam.ac.uk [Thu, 13 Apr 2006 10:25:03 +0000 (11:25 +0100)]
Use memmove instead of memcpy for overlapping areas (console scroll).
Use memset instead of memcpy to clear line.

Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
19 years agoIn some cases, say for instance for some bizzare reason
kaf24@firebug.cl.cam.ac.uk [Thu, 13 Apr 2006 10:24:00 +0000 (11:24 +0100)]
In some cases, say for instance for some bizzare reason
the tree was checked out of CVS, which doens't neccessarily
store file permissions, mkbuildtree may not be executable.
So run them explicitly via bash.

Signed-Off-By: Horms <horms@verge.net.au>
19 years agoSVM patch to add BP exception intercept support.
kaf24@firebug.cl.cam.ac.uk [Thu, 13 Apr 2006 10:08:20 +0000 (11:08 +0100)]
SVM patch to add BP exception intercept support.

Signed-off-by: Tom Woller <thomas.woller@amd.com>
19 years agoSVM patch to init rsp properly.
kaf24@firebug.cl.cam.ac.uk [Thu, 13 Apr 2006 10:07:28 +0000 (11:07 +0100)]
SVM patch to init rsp properly.

Signed-off-by: Tom Woller <thomas.woller@amd.com>
19 years agoSVM patch to add PAE support.
kaf24@firebug.cl.cam.ac.uk [Thu, 13 Apr 2006 10:06:43 +0000 (11:06 +0100)]
SVM patch to add PAE support.

Signed-off-by: Tom Woller <thomas.woller@amd.com>