This small patch intends to fix domain pause/unpause bug.
Current xm pause operation will do sync_vcpu_execstate to
sync vcpu status, but it saves dom0's fpu and other registers
to VTi domain or domainU due to xm pause from control panel.
Because sync_vcpu_execstate was called after vcpu_sleep which
has saved all status when schedule out ,in addition, currently
no lazy states need to be saved in IPF side, so sync_vcpu_execstate
would need do nothing now.
Signed-off-by: Kevin Tian <kevin.tian@intel.com> Signed-off-by: Zhang xiantao <xiantao.zhang@intel.com>
This patch will fix VTi domain destroy bug. On tip, we couldn't
destroy VTi successfully at times. It was caused by misusing
vhpt base address for VTi domain in vhpt_flush function.
This script automates merging the sparse tree to new upstream
kernel revisions. When possible the files are automatically
patched to the new version, if that fails, the xen and upstream
patches are tried in reverse order, if that fails, the method
producing the smallest reject is left for manual merging.
Run as:
# LINUXPATH=$HOME/linux-2.6 sparse-merge
Where LINUXPATH is a local mercurial tree of the upstream kernel
(available from http://www.kernel.org/hg/linux-2.6). NEWTAG and
OLDTAG may also be specified if the autodetection does not work.
By default, NEWTAG will be the latest upstream version. If NEWTAG
or OLDTAG is an extra-version (ex. 2.6.16.13), ketchup will be
used to update the mercurial tree and add the appropriate tag.
Signed-off-by: Alex Williamson <alex.williamson@hp.com> Signed-off-by: Aron Griffis <aron@hp.com>
[IA64] Allow multiple-time mmap of the privcmd device
Allow multiple-time mmap of the privcmd device. The old implemntation
doesn't allow multiple-time mmap for a same struct file_struct.
However xend or qemu does multiple-time mmap.
This patch affects only dom0 vp model. With this patch multiple domu can
boot simultaneously and vti domain can boot on vp model dom0.
[IA64] Clear rse invalid partition before resuming to VTi guest
This patch intends to provide mechanism for clearing rse invalid
partition before rbs switch to guest. To avoid leaking hypervisor
bits to guest, it is a must to clear registers which are in
invalid partition before leaving hypervisor.
This patch modifies the interruption handler to display the
information about the interruption and then do panic in the case of the
fault occurred in hypervisor, or reflect to the guest when handling the
fault in guest.
The modification is as follows:
1. In each handler in IVT, the procedure is added to branch to fault
handler or reflection according to ipsr.cpl.
2. In the case of the fault occurred in hypervisor(ipsr.cpl==0), the
fault handler displays the information (vector, registers, and stack by
calling show_registers()), and then do panic().
3. In the case of the fault occurred in guest(ipsr.cpl!=0), it is
reflected to the guest.
With this modification, some faults which were always treated to be
reflected to the guest are changed to do panic when they occur in
hypervisor.
xen/ia64 XENMEM_increase_reservation, XENMEM_decrease_reservation,
XENMEM_populate_reservation are broken.
work around for it.
This patch should be removed after those hypercalls are fixed.
In theory, after Guest executes "cover", incomplete frame changes to complete
frame. So Guest should set INCOMPL to 0 just after "cover". At least before
guest psr.ic and psr.i are turned on.
Previously, only when Guest executes "rfi", INCOMPL is set to 0. The window
between "cover" and "rfi" causes trouble in below scenario.
1. Application A calls system call.
2. In OS breaks handler entry, INCOMPL is 0. Due to its system call,
Linux kernel doesn't execute "cover".
3. Before returning to Application A, schedule happens, Application B begins
to run.
4. A TLB miss happens on the context of B, this may make INCOMPL 1, before
Returning to B, (that means "rfi" is not executed, and INCOMPL is still 1)
schedule happens again. A resumes to run with INCOMPL 1 (this is incorrect now).
5. As mentioned before, this is system call, "cover" is executed in
ia64_leave_kernel path. Because INCOMPL is 1, this "cover" is not actually
executed, but this "cover" should be executed.
5. Thus application A's frame is destroyed. Issue appears.
From: Anthony Xu <anthony.xu@intel.com> Signed-off-by: Alex Williamson <alex.williamson@hp.com>
vcpu_ptc_e: fix flush order.
vcpu_ptc_g: fix typo (only local vcpu v-tlb was flushed)
itlb_pte/dtlb_pte removed.
vcpu_itr_* and vcpu_itc_no_srlz call vcpu_set_tr_entry coherently.
in_tpa parameter of vcpu_translate removed.
handle_lazy_cover is now static and unused 'isr' removed.
The current Xen code for VMX is setting the gp fault vmexiting in
the EXCEPTION_BITMAP vmcs control. There is no need for that as VMM is
just plainly re-injecting back to the guest. The attached is a simple
patch to set the vmcs control properly.
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> Signed-off-by: Jun Nakajima <jun.nakajima@intel.com>
Fix code which finds the default interface if there are static routes.
The current code will break if there are multiple scope global routes
since the "ip route list default" command doesn't use "default" as a
filter, and will output multiple devices which breaks the rest of the
script.
Also make the vif/xenbr/eth naming consistent, i.e. if your default
network interface is eth1, you get vif1 and xenbr1.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
The buildroot xm-test grabs is no longer present, this patch fixes it.
Made it a minor release bump for xm-test so old ramdisk will work. The
ramdisk is functionally the same.
Signed-off-by: Daniel Stekloff <dsteklof@us.ibm.com>
Instead of just having the bootloader config sxp replace anything else,
merge with given values. This will allow a bootloader to not have to
specify everything which is useful for bootloaders other than pygrub.
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>
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.
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>
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>
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>
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>
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>
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>
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>
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>
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>
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
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>
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.