This should fix the "Assertion '! IS_INVALID_M2P_ENTRY(gpfn)'"-crash in
free_shadow_page on domain destruction.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
nr physical cpus is greater than max virtual cpus per domain.
Also do not initialise secondary CPU smp_processor_id() from
smpboot.c cpucount. It will be wrong if some CPUs fail to boot.
Signed-off-by: Keir Fraser <keir@xensource.com>
option via the 'max_phys_cpus=<nr>' compilation parameter.
Based on a patch from Aravindh Puthiyaparambil at Unisys.
Signed-off-by: Keir Fraser <keir@xensource.com>
1. IRET hypercall must restore the event callback mask. This
was missing on x86/64, and both subarchitectures now restore
from EFLAGS.IF.
2. Failsafe callbacks are fixed to detect whether fault is due to
bad segment or due to IRET. In the latter case we now
immediatiately kill the process. This avoids infinite looping
between IRET hypercall and failsafe callback handler in the guest.
Signed-off-by: Keir Fraser <keir@xensource.com>
1. No longer hold xenbus_lock while taking down VCPUs
in SMP suspend path. This allows block device hotplug
to continue working and so we will not deadlock on
paging in userspace hotplug code.
2. Track xenbus and local-admin permitted cpumasks for
VCPUs to bring online. So, if a local admin takes a
CPU down, that won't surprisingly get overridden next
time the kernel interrogates xenstore.
Signed-off-by: Keir Fraser <keir@xensource.com>
Allow more than 256 interrupt vectors on native by only setting the
highest bit when marking orig_eax to indicate that we're not within
a system call.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
"reversed", as in it actually clears the SMI bit in the VMCB. If you
have a new enough chip (or new BIOS), the SMI bit HAS TO BE SET or it
gives exitcode -1.
Signed-off-by: Mats Petersson <mats.petersson@amd.com>
initializing on domUs. Remove CONFIG_IDE_GENERIC as this is
unnecessary on ia64 systems (no ISA IDE controllers) and causes long
timeouts booting domU.
Signed-off-by: Alex Williamson <alex.williamson@hp.com>
This patch ends up affecting a couple other lines because it is the
result of a new make menuconfig, but those changes should be harmless.
Signed-off-by: Sean Dague <japh@us.ibm.com>
1. gdb_regs for 64bit, and macros to transfer regisers between ptrace
registers to gdb registers
2. xc_ptrace code building for 64bit
3. Implementation of new map_domain_va for 64bit
4. gdbserver-xen build configuration fixes for 64bit
From: Nitin Kamble
Signed-off-by: Keir Fraser <keir@xensource.com>
domain. Otherwise, when running a debug=y xen, we will get a assertion
failure in vmx_request_clear_vmcs(), since some vcpus may be not
initialized for HVM use yet.
Signed-off-by: Xin Li <xin.b.li@intel.com>
Signed-off-by: Jun Nakajima <jun.nakajima@intel.com>
several problems. It will now only read and write a transmit or receive
descriptor once. It will correctly handle transmitting frames with more
than two fragments. It will discard oversize frames instead of
corrupting memory. I have tested all the changes I have made and even
seen an improvement in receive performance from 1.7MB/s to 3.3MB/s.
Your mileage will vary.
The code could be simplified if multi-fragment frames were deleted. It
appears that both Linux and Windows XP don't use fragmented frames.
The mac crc computation code was deleted, since it has never been used.
The code was checking the wrong bit in the control register.
I tested type 3 descriptors by modifying the linux pcnet32 driver, but
did not see any difference in performance over type 2 currently used.
I have not made any change to type 0 (16-bit) transmit/receive
descriptors as I have no way to test the changes.
Please test this as soon as possible, as I will be on vacation next week
and in a class the following week. I will check email from time to
time, but my ability to make changes to code will be greatly dimished.
One other thing I noticed in my testing, is that if I tell a linux domU
to reboot, it will reboot but not have any pcnet32 device after
rebooting. By doing a shutdown, xm destroy and xm create, I was able to
get around that problem.
Signed-off-by: Don Fry <brazilnut@us.ibm.com>
kernels. Distros will be using -xen exclusively, so this change means that
developers and users of unstable will be (by default) using the same
configuration as the distros.
This can be overridden by setting KERNELS="linux-2.6-xen0 linux-2.6-xenU" on the
command line.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
There are two possible root causes for 515, both of which are only problems in the non-udev hotplug case because udev uses udevsend which already implements the required serialisation.
1) Script concurrency.
2) Kernel reordering hotplug events.
This changeset fixes (1) but not (2). Since (1) is the problem that seems to be happening this is probably OK.
A fix for (2) for the hotplug case might be to add extra serialisation using state changes in the store but this would impact all the drivers and the code and extra complexity would be redundant once everyone had moved to udev. This doesn't seem worthwhile unless we actually start to see (2) happening.
XEND_INVALID_DOMAIN faultType.
2) Fix exception logic in XMLRPCServer
3) Fix TCP server
4) Remove catching of ProtocolError in main.py. ProtocolErrors only occur
when there is an exception in the exception handling code which shouldn't
ever happen. I've reproduced the error cases described by Ewan with
xend_domain_setTargetMemory and once I fixed the exception logic, I get a
normal faultType of 1 as would be expected.
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>