The set of patches below add support for loading plan9's a.out
format using the linux builder. This is considerably simpler
than having a seperate builder, shares more code and should
be easier to maintain. Hopefully the original plan9 builder
can go away in the future.
I've been able to test this manually with vm-tools but am
still having some problems (unrelated I think) with xm.
Signed-off-by: Tim Newsham <newsham@lava.net>
Rationalise x86 CRn guest state into a ctrlreg array in the per-vcpu
context structure. Most noticeably this means the pt_base field has
gone away -- replaced by ctrlreg[3] (CR3). VCPU_guest_stts is also
gone -- it was never arch-independent anyway.
Signed-off-by: Keir Fraser <keir@xensource.com>
With the patch attached, we can bring up x86_64 domU to the point where
it tries to mount the root fs (see the log below). We are looking at
problems around blkif_connect at this point.
Signed-off-by: Jun Nakajima <jun.nakajima@intel.com>
Signed-off-by: Xin B Li <xin.b.li@intel.com>
[PATCH] vmx-gdbserver-paging.patch
gdbserver should not try to convert guest physical to machine physical if
paging is not enabled.
Signed-off-by: Arun Sharma <arun.sharma@intel.com>
The xc_domain_getinfo does not clear the info structure before filling
it in, and in some circumstances it doesn't completely fill in the
structure for each domain. In particular, it sets the crashed flag if
the domain has crashed, but does not clear it if the domain has not
crashed, so the crashed flag may be random stack garbage from the
calling program. With the attached patch (against the latest nightly),
xc_domain_getinfo zeroes the array of info structures before filling
them in.
Signed-off-by: Josh Triplett <josht@us.ibm.com>
Merge freefall.cl.cam.ac.uk:/auto/groups/xeno-xenod/BK/xen-unstable.bk
into freefall.cl.cam.ac.uk:/auto/groups/xeno/users/iap10/xeno-clone/xen-unstable.bk
[PATCH] RE: [Xen-devel] DOM0_GETDOMAININFO intended behavior
Ok... now that I (unintentionally) went overboard on this, why not just
document how it works and leave it as is?
signed-off-by: dsteklof@us.ibm.com
signed-off-by: ian@xensource.com
Makefile:
Build libxenstore-pic.a.
setup.py:
Link with libxenstore-pic.a.
Makefile:
Build libxc-pic.a.
Build xenstore once is enough.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
xen.h, image.py, XendDomainInfo.py, xc.c, xc_linux_build.c, xc.h:
Create store page for domains and plumb through to python.
XendDomainInfo.py:
Cleanup comments.
Signed-off-by: Mike Wray <mike.wray@hp.com>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
xc_private.h, xc_linux_build.c, Makefile:
Add support for loading ``bin'' format images, as used by ReactOS.
Move image probing/parsing/loading code out of domain builder to allow
multiple image formats without having to duplicate the domain building
code.
xc_load_elf.c, xc_load_bin.c:
new file
xc_vmx_build.c:
Cleanup.
Signed-Off-By: Ge van Geldorp <gvg@reactos.com>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
More console cleanups. The console ring now overwrites its tail when
it fills, rather than stop recording output. The guest serial output
is only allowed to half-fill the serial output buffer, and now
respects hypercall preemption requests.
Signed-off-by: Keir Fraser <keir@xensource.com>
Rationalise debugger stuff in the tree.
Within Xen itself, remove PDB references and fold into domu_debug.
When domu_debug hits a breakpoint, it pauses all vcpus of the domain
and raises VIRQ_DEBUGGER (not VIRQ_PDB). The debugger in domain0 can
either poll pause status or bind to VIRQ_DEBUGGER. Before debugging
a breakpointed domain the debugger should issue PAUSEDOMAIN itself, or
it is not guaranteed to see paused state of the domain!
Outside Xen there's a new dir tools/debugger, containing gdb, pdb and
a new library libxendebug (used by pdb). I also think the ptrace
functions in libxc also ought to be moved out: either to libxendebug
or to a new library libxenptrace.
Signed-off-by: Keir Fraser <keir@xensource.com>
[patch] libxc x86-64
I've redone the patch to add domU launching support to libxc for x86-64.
Signed-off-by: Jerone Young <jyoung5@us.ibm.com>
Signed-off-by: ian@xensource.com
Fix domain shutdown so that the new status, and notification to domain0,
occur *after* the domain is fully descheduled and its execution state
synchronised.
Signed-off-by: Keir Fraser <keir@xensource.com>
[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>