being invoking in function irq_exit, which is aligned with XEN/X86 and
avoids __enter_schedule being reentered.
Signed-off-by Anthony Xu <anthony.xu@intel.com>
Most functions are safe to call after a timer structure
has been initialised to all zeroes, as long as they are
*never* called concurrently with init_timer().
Signed-off-by: Keir Fraser <keir@xensource.com>
Also fix the i386 play_dead() function to call idle_task_exit(),
which ensures the CPU exits while running the init_mm. Otherwise
other tasks may get stuck.
Signed-off-by: Ryan Grimm <grimm@us.ibm.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
not work when port numbers are modified (bug 447).
tcp_manip_pkt()/udp_manip_pkt() modify the protocol checksum to
reflect the changes to ip addresses and port numbers. When
dev_queue_xmit() finds a message with proto_csum_blank set, it
calculates a new tcp/udp checksum that includes both the modified port
numbers and the modified protocol checksum field... so the change to
the port numbers affects the protocol checksum twice.
This patch modifies net-csum.patch to remove the checksum mangling for
port numbers in tcp_manip_pkt()/udp_manip_pkt()
Signed-off-by: Jim Dykman <dykman@us.ibm.com>
Setting the tbl_control flag to 1 in the vmcb, causes a complete tlb
flush on this core. We have seen issues (blue screens) when utilizing
ASID granularity with WinxpSP1 running on cores>0. we have found that
flushing the TLBs each vmrun alleviates winxpsp1 crashes. We have also
sometimes seen a substantial performance improvement(!) when flushing
each vmrun, which was completely unexpected. We are continuing to
investigate root cause, but for the moment, we would like to just flush
each vmrun. Digging around in the SPT code might be necessary here also.
Signed-off-by: Tom Woller <thomas.woller@amd.com>
Remove the export of evtchn_do_upcall().
Given the constraints on the use of this function (should run at least
with irqcount adjusted properly, preferrably also on irq stack), it
doesn't seem reasonable for this function to be exported.
From: Jan Beulich <JBeulich@novell.com>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
Add a call to exit_idle() when evtchn_do_upcall() calls
evtchn_device_upcall() instead of do_IRQ().
From: Jan Beulich <JBeulich@novell.com>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
Especially in the light of the recent no-idle-tick preparations in
native x86-64 it is important that exit_idle() has proper state
available. For this reason, the processor's irqcount must be adjusted
within upcalls, and for consistency and similarity with native code
this call should also execute on the processor's irq stack.
At once the patch slightly simplifies the pre-existing code by copying
%rdi into %rsp instead of adding 8 to %rsp, and by using %rdi instead
of %rsp (avoiding a needless resource dependency) for storing the event
mask.
From: Jan Beulich <JBeulich@novell.com>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
Change /proc/xen/xsd_mfn to /proc/xen/xsd_kva containing the kernel
virtual address of the dom0 xenstore page. Update xenstored to use
/proc/xen/xsd_kva.
Signed-off-by: Keir Fraser <keir@xensource.com>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
thread, it must not be used in code that can be called in the context
switch path (otherwise the 32-bitness of the outgoing task is used
here rather then the 32-bitness of the incoming one, possibly
resulting in large parts of the page tables not getting converted to
read-only).
Signed-off-by: Jan Beulich <JBeulich@novell.com>
In particular, MSRs that domain0 may write to must now
be 'white listed': default policy is to ignore the write.
This will prevent SYSCALL/SYSENTER instructions from
crashign Xen, by preventing the target MSRs from being
overwritten by domain 0.
Signed-off-by: Keir Fraser <keir@xensource.com>
It saves very little space, no distro will disable it
in their unified build, and it's rather a pain to
implement it properly.
I've left the PRIVILEGED_GUEST option for now, as it
provides some indication of where our platform-bringup
hacks are in our Linux tree. We may wish to exclude
those from upstream merge in the first instance.
Signed-off-by: Keir Fraser <keir@xensource.com>
tables). To support >4GB machines, we use PAE mode for the shadow page
tables; the guests think they are using 2-level page tables.
Signed-off-by: Jun Nakajima <jun.nakajima@intel.com>
Signed-off-by: Xin B Li <xin.b.li@intel.com>
This should not break SVM, however the SVM code will need some small
changes to enable support for non-pae guests on pae hosts.
Signed-off-by: Keir Fraser <keir@xensource.com>
This boots dom0 and domU on an rx2600.
Revert several files that were accidentally reverted by the merge-ups
(that weren't fixed by cset 8743). Those are included here with the
2.6.15 patch re-applied as well as changes between 2.6.15 and 2.6.16-rc2.
Specifically, these are pal.h, processor.h and system.h.
This patch also reverts changes to include/asm-ia64/hypercall.h and
hypervisor.h from cset 8742.
Signed-off-by: Alex Williamson <alex.williamson@hp.com>
GUEST_CONTEXT() macro and the eflags==0 hack to detect
an HVM-guest stack frame. Various cleanups and fixes.
Signed-off-by: Keir Fraser <keir@xensource.com>