[PATCH] vmx-worldswitch-1-to-1.patch
Fix VMX world switch to use 1:1 page tables when the guest has paging
disabled. Also do a printk instead of VMX_DBG_LOG() anytime we crash
a domain.
Signed-off-by: Arun Sharma <arun.sharma@intel.com>
Makefile:
Revert previous build "optimization" -- we need check-for-zlib and
more importantly mk-symlinks done before we try to build, otherwise a
highly parallel make (-j 20) fails miserably.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
[PATCH] xen-libxc-static-build.patch
Fix build of the static library.
As it was depending on an undefined objects variable (OBJS), its
dependency list was null and thus it ended up empty.
Also optimize the depedency checking so we don't need a submake. Not
too great an optimization, but it makes it short :)
Signed-off-by: Inaky Perez-Gonzalez <inaky@linux.intel.com>
Signed-off-by: Arun Sharma <arun.sharma@intel.com>
Nothing but vnet uses libxutil -- move it there.
Makefile, xc.c, setup.py, configure, configure.in, Makefile.in:
This doesn't use libxutil.
Makefile, Makefile.vnet, Rules.mk:
Move libxutil into vnet since it's only used there.
Many files:
mvdir
Makefile:
xc_io.[ch] is no longer needed.
xc_vmx_build.c:
offsetof() needs #include <stddef.h>, which was getting pulled in
implicitly from xc_io.h.
.del-xc_io.h~f59d36f1439a3f8d:
Delete: tools/libxc/xc_io.h
.del-xc_io.c~2d9e23eb479fe52:
Delete: tools/libxc/xc_io.c
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
Implement the parts of vm save which need interaction with xend
as part of xend, instead of using xfrd.
Execute xc_linux_save in a seperate process so that it can't
crash xend. Also handle errors passed from xc_linux_save.
xen_domain.c:
Disable save in xfrd.
xc_save.c:
new file
Makefile:
Add xc_save.
XendDomainInfo.py:
Add suspended state and threading Condition with notification, allowing
easy waiting for state changes.
XendDomain.py:
Implement the parts of vm save which need interaction with xend
as part of xend, instead of using xfrd. Set state to "suspended"
when detecting a suspended domain.
Fix reading output from subprocesses.
Fix ValueError in xen_domain().
xc.c:
Remove python binding for xc_linux_save.
xc_linux_save.c:
Implement the parts of vm save which need interaction with xend
as part of xend, instead of using xfrd. Also run xc_linux_save
in a seperate process.
xc_linux_restore.c:
Flush output so that xend picks it up timely.
Also disable debug output again.
xc.h:
Update xc_linux_save prototype and fix comments for xc_linux_{save,restore}.
ignore:
Add tools/xcutils/xc_save.
xpopen.py:
Exit with 127 if exec fails.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
Execute xc_linux_restore in a seperate process so that it can't
crash xend. Also handle errors passed from xc_linux_restore and
log info messages from xc_linux_restore.
XendDomain.py:
Popen xc_restore instead of calling xc_linux_restore directly.
xc.c:
Add pyxc_handle exporting the file descriptor to the control interface.
Remove xc_linux_restore -- replaced by popen of xc_restore directly
from python.
xc_linux_restore.c:
Enable debug output.
xpopen.py:
Add xpopen functionality:
Optionally exclude a list of file descriptors from being closed, allowing
access to those file descriptors from the command.
Remove unused parts.
xpopen.py, Makefile, xc_restore.c:
new file
Makefile:
Add xcutils subdir.
ignore:
Add tools/xcutils/xc_restore.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
XendDomain.py, xc.c, xc_linux_restore.c, xc.h:
Move read of pfn to mfn frame list into xc_linux_restore.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
XendDomainInfo.py, XendDomain.py, xc.c, xc_linux_restore.c, xc.h:
Implement the parts of vm restore which need interaction with xend
as part of xend, instead of using xfrd. The restore functionality
using xfrd was broken anyway since xend didn't handle the callback
channel from xfrd correctly.
xen_domain.c:
Disable restore in xfrd.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
XendDomainInfo.py, xc.c, xc_linux_restore.c, xc_domain.c, xc.h:
Split pincpu, setcpuweight, setmaxmem and memory increase reservation
out of xc_domain_create. Add glue to get the missing functions exposed
to python and use.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
Cleaner GDT interface. Xen now reserves the last 2 pages of a full-size
(16 page) GDT. A guest can register a GDT with up to 7k entries. Xen
automatically makes the GDT up to max size with empty page mappings,
and turns page faults in that area to #GP(selector).
Signed-off-by: Keir Fraser <keir@xensource.com>
Remove generic 'fast trap' from the Xen public interfaces. Internally
within Xen, we automatically set up direct trap for int 0x80, which is
the only 'fast trap' vector that we ever supported anyway.
Signed-off-by: Keir Fraser <keir@xensource.com>
[PATCH] [PATCH] libxc: mmap doesn't return NULL on error...
Hi, was reading libxc code, and noticed this. Patch is bigger than
strictly necessary due to indent adjust.
Against latest bk.
Rusty.
Many files:
Merge interface changes from previous 'Split out context fetching into
separate DOM0 op' and 'xen,tools: pincpu use vcpu and cpumap_t' checkins.
xc_linux_save.c:
Undo incorrect change from previous patch.
xc.h, xc_domain.c:
Cleanup whitespace.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
Split out context fetching into separate DOM0 op
make GETDOMAININFO a little more sensible with respect to MP
make coredump dump all cpu contexts
Signed-off-by: Kip Macy <kmacy@netapp.com>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
[PATCH] xen,tools: pincpu use vcpu and cpumap_t
The following patch updates the dom0 pincpu operation to read the VCPU
value from the xend interface rather than hard-coding the exec_domain to
0. This prevented pinning VCPUS other than 0 to a particular cpu. The
pincpu cpu argument is replaced with cpumap, a u64 bitmap representing
which CPUs a VCPU can use.
I added the number of VCPUS to the main xm list output and also included
a new sub-option to xm list to display the VCPU to CPU mapping. While
working on the pincpu code, I fixed an out-of-bounds indexing for the
pincpu operation that wasn't previously exposed since the
vcpu/exec_domain value was hard-coded to 0.
Signed-off-by: Ryan Harper <ryanh@us.ibm.com>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
Clean up IO-APIC handling in domain0, and the hypercall interface
exported by Xen (inc. removal of PCI-related calls). This hopefully
fixes acpi=off.
Signed-off-by: Keir Fraser <keir@xensource.com>
Avoid field duplication between vcpu_guest_context and arch_exec_domain
structures. The latter now includes the former as a sub-field.
Signed-off-by: Keir Fraser <keir@xensource.com>
[PATCH] [PATCH] Assorted VMX patches
This patch contains the following VMX patches:
- ioemu: Update the address when doing a stosb/stosw/stosl. Without this patch
stosb writes req->count times at the same location req->addr. Not exactly
the intended semantics.
- xc_ptrace.c: Use the page_array to refer to partition memory. This allows
you to use gdbserver on a VMX partition (and presumably partitions that use
shadow page tables).
- dom0_ops.c: Preserve ECF_VMX_GUEST flag for gdbserver. Without it you
cannot (re)set the VMX domain state.
- vmx.c: Added support for lmsw. Unmodified FreeBSD uses this when running
inside a VMX partition.
Signed-Off-By: Leendert van Doorn <leendert@watson.ibm.com>
===== tools/ioemu/iodev/cpu.cc 1.8 vs edited =====
Remove memory and cpu parameters from DOM0_CREATEDOMAIN, and remove
DOM0_SETINITIALMEM. You can get the same effect via PINCPU,
SETMAXMEM, and do_mem_op(increase_reservation).
Signed-off-by: Keir Fraser <keir@xensource.com>
Merge freefall.cl.cam.ac.uk:/auto/anfs/scratch/font/sd386/xen-2.0-testing.bk
into freefall.cl.cam.ac.uk:/auto/groups/xeno/users/iap10/xeno-clone/xen-2.0-testing.bk
Merge freefall.cl.cam.ac.uk:/auto/groups/xeno/users/iap10/xeno-clone/xen-2.0-testing.bk
into freefall.cl.cam.ac.uk:/auto/groups/xeno/users/iap10/xeno-clone/xen-unstable.bk
[PATCH] Install libraries into libdir
Attached makes it so that libxc and libxutil get installed
into /usr/lib64 instead of /usr/lib on x86_64.
Signed-off-by: Jeremy Katz <katzj@redhat.com>
===== Config.mk 1.3 vs edited =====