Valgrind cannot see when a hypercall has initialised entries in a data
structure, so appropriate memsets have been placed before using dom0_op_t,
privcmd_hypercall_t, and a couple of miscellaneous blocks passed into this
layer. This initialises the block so that valgrind considers it to be valid,
but the data therein will be immediately overwritten by the hypercall, all
being well.
These changes are semantically neutral if -DVALGRIND is not set.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
be enabled and disabled dynamically while the system is running. The
existing DOM0_TBUFCONTROL hypercall is used, and three new operations
have been added: enable, disable, and set_size. This is to address
concerns that use of the trace buffers impacts system performance.
The initial value of opt_tbuf_size is set to zero, so that trace
buffers remain disabled by default. They can be enabled as they used
to be, by adding tbuf_size= to the xen command line at boot time. They
can also be turned on and off any time when the system is running. The
size of the trace buffer allocation can also be changed dynamically
while the system is running. The trace buffers may be completely
deallocated by setting the size to zero. No change in buffer size can
be done while tracing is enabled;
Other Changes made:
- Update the constants in tools/xentrace/formats to match those in
public/trace.h
- libxc functions for enable/disable, get/set size
Still left to do:
- remove all ifdef's for trace buffers and the 'trace' build option
- xm command to do enable/disable trace buffers and get/set size
Signed-off-by: Rob Gardner <rob.gardner@hp.com>
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>
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>
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>
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>
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>
[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 =====
[PATCH] add-build.patch
Add build targets to all makefiles. Debian does builds as non-root, so
it's better to do as much as possible before requiring root privs.
Signed-off-by: Adam Heath <doogie@brainfood.com>