Commit Graph
47 Commits
Author SHA1 Message Date
Keir Fraser 50bddc9307 libxc: The following patch replace the libxc interface to use
vcpu_guest_context_any_t (which is both 32 and 64 bits) instead of
vcpu_guest_context_t.

Signed-off-by: Jean Guyader <jean.guyader@eu.citrix.com>
2008-06-19 16:15:05 +01:00
Keir Fraser 8543c562dd stubdom: complete libxc support
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-05-23 09:35:23 +01:00
Keir Fraser a07275a632 libxc: Minor clean up of xc_core, and fix for -fstrict-overflow.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2007-11-22 10:40:45 +00:00
Keir Fraser c316590403 libxc: Consolidate read()/write() syscall wrappers to read/write an
exact number of bytes. The consolidated versions are more watertight
than the various versions previously distributed around the library
source code.
Signed-off-by: Keir Fraser <keir@xensource.com>
2007-11-11 18:22:33 +00:00
Alex Williamson 34070c37f5 [IA64] Don't share privregs with hvm domain
Don't share privregs with hvm domain and twist IA64 xen dump core format
slightly.  Xen shares privregs pages with IA64 HVM domain for xm dump-core
to dump the pages.  However sharing the page allows hvm guest domain
peek/destroy the page contents that might cause xen crash.  And the xen
dump core file doesn't need privregs page because cpu context should be
obtained from vcpu context in case of IA64 HVM domain.

Although this patch modify xen dump core format, current crash utility
(at least crash 4.0-4.7) doesn't look into .xen_ia64_mmapped_regs section
and I don't know any other tools to understand xen dump core file.
So this format modification doesn't cause incompatibility issue.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2007-10-22 12:26:53 -06:00
Keir Fraser ac2a30fcff libxc: Avoid overflow in xc_domain_dumpcore_via_callback().
nr_pages*PAGE_SIZE can overflow a 32-bit long.
From: Daisuke Nishimura <nishimura@mxp.nes.nec.co.jp>
Signed-off-by: Keir Fraser <keir@xensource.com>
2007-10-15 12:20:43 +01:00
Tim Deegan 120bafda14 [TOOLS] Make xc_domain_{save, restore} understand compat guests
Signed-off-by: Tim Deegan <Tim.Deegan@xensource.com>
2007-09-19 17:44:23 +01:00
kfraser@localhost.localdomain 75dabf614d Introduce xc_core_arch_gpfn_may_present() hook.
On ia64 trying to map a foreign domain page which isn't allocated
cause annoying warning message. xm dump-core results in too many
warnings. With this hook, ia64 dump-core can suprress warning.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2007-08-30 15:00:21 +01:00
kfraser@localhost.localdomain 0e0204500e Optimize xc_core.c implementation.
Optimize out unnecessary map/unmap foreign domain page
by moving p2m/pfn talbe after pages array.
This patch doesn't change the xm dump-core format.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2007-08-30 14:58:40 +01:00
kfraser@localhost.localdomain c583625712 Some minor cleanup of xc_core.c.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2007-08-30 14:57:24 +01:00
kfraser@localhost.localdomain 310da2e989 tools: Fix compiler warning.
From: Charles Coffing <ccoffing@novell.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
2007-06-19 15:55:13 +01:00
Steven Hand e2a44bc7a4 Some save/restore cleanups.
Signed-off-by: Steven Hand <steven@xensource.com>
2007-04-02 16:46:52 +01:00
kfraser@localhost.localdomain 49a55b0fb3 coredump: Allow mmap of shinfo to fail for any HVM guest (x86 or ia64).
Signed-off-by: Keir Fraser <keir@xensource.com>
2007-03-19 16:55:21 +00:00
kfraser@localhost.localdomain 0cb97f4d8b dump-core: always use elfclass64 format to support x86_32pae.
Without this patch xen dump-core format can't handle over 4GB case.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2007-03-07 10:53:34 +00:00
Tim Deegan a9ddde26e2 [TOOLS] fix sizeof() usage in xc_core
Signed-off-by: Tim Deegan <Tim.Deegan@xensource.com>
2007-02-26 14:47:54 +00:00
kfraser@localhost.localdomain f7e153faad Resolve conflict over use of name xen_elfnote.
Signed-off-by: Keir Fraser <keir@xensource.com>
2007-02-26 11:21:03 +00:00
Keir Fraser e0b421d242 Reduce impact of saving/restoring/dumping large domains on Dom0 memory
usage by means of fadvise64() to tell the OS to discard the cache
pages used for the save/dump file.

Signed-off-by: Simon Graham <Simon.Graham@stratus.com>
2007-02-24 14:48:17 +00:00
Keir Fraser e3ce7ff90f Xen coredump format: ELF formatified with note section.
added PFN-GMFN table for non-auto translated physmap
added PFN table for auto translated physmap.
HVM domain support.
IA64 support

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>

Use the guest's own p2m table instead of xc_get_pfn_list(), which
cannot handle PFNs with no MFN.
Dump a zeroed page for PFNs with no MFN.
Clearly deprecate xc_get_pfn_list().
Do not include a P2M table with HVM domains.
Refuse to dump HVM until we can map its pages with PFNs.

Signed-off-by: John Levon <john.levon@sun.com>
2007-02-24 14:31:42 +00:00
kfraser@localhost.localdomain 46c01e0595 Make domctl/sysctl interfaces 32-/64-bit invariant.
This kills off a fair amount of unpleasant CONFIG_COMPAT shimming and
avoids needing to keep the compat paths in sync as these interfaces
continue to develop.
Signed-off-by: Keir Fraser <keir@xensource.com>
2007-01-24 16:33:19 +00:00
kfraser@localhost.localdomain b65f717688 [LIBXC] Clean up use of sterror(). Define a thread-safe
version which uses strerror_r(), and tries to cope with
the POSIX and GNU versions of that function.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-12-08 11:57:06 +00:00
kfraser@localhost.localdomain 457ee10d4c [XEN] Remove VGCF_hvm_guest, replace with XEN_DOMINF_hvm_guest.
Rename DOMFLAGS_* to XEN_DOMINF_*.
Clean up tools to deal with flags changes.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-11-03 10:52:29 +00:00
kaf24@firebug.cl.cam.ac.uk 2928514138 [LIBXC] Convert all printf/fprintf uses to use a macro instead.
Thus all can be disabled at compile time. It would be easy to
make enabling/disabling a run-time option too.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-07 14:07:36 +01:00
kaf24@firebug.cl.cam.ac.uk ab8096f27d Represent PFNs with their own type, rather than 'unsigned long'.
('long' changes size and alignment between 32- and 64-bit ABIs.)
Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com>
2006-06-06 09:48:17 +01:00
kfraser@dhcp93.uk.xensource.com 3f2522e1ac Use a global build configuration file, and rework libxc Makefile for PPC.
Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com>
2006-05-31 11:31:52 +01:00
kaf24@firebug.cl.cam.ac.uk c702fb4c9d Fix whitespace in libxc. Tabs are manually fixed.
Trailing whitespace removed with:
 perl -p -i -e 's/\s+$/\n/g' tools/libxc/*.[ch]

Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com>
2006-04-15 10:07:31 +01:00
kaf24@firebug.cl.cam.ac.uk 2acf021310 Remove unnecessary zlib includes.
Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com>
2006-03-23 18:57:21 +01:00
kaf24@firebug.cl.cam.ac.uk 0c5dfaeeb4 Fix memory leak in xc_domain_dumpcore and simplify copy_from_domain_page.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-03-14 15:33:57 +01:00
kaf24@firebug.cl.cam.ac.uk 8a68ed87f8 The existing xc_domain_dumpcore is very specific to disk/file based
output.  Refactor the code slightly to allow more user-specified
control.  This is done by adding a parallel
xc_domain_dumpcore_via_callback, which allows the specification of a
callback routine and an opaque argument block.  The existing dumpcore
routine is modified to use the callback for all write operations and
to turn the single seek into a small write (it's for page alignment).

Signed-off-by: Ben Thomas <bthomas@virtualiron.com>
2006-03-13 11:47:56 +01:00
kaf24@firebug.cl.cam.ac.uk e7ccd01faf Fix a few small issues in xc_domain_dumpcore:
xc_domain_getinfo returns information about a domain, but not
necessarily the one you asked about.  Add check for this.

max_vcpu_id in xc_domain_getinfo is really an ID, not a count, so
make the loop include the last VCPU

Signed-off-by: Ben Thomas <ben@virtualiron.com>
2006-03-09 23:07:27 +01:00
kaf24@firebug.cl.cam.ac.uk 6a883b0d6a Fix order-of-evaluation issue in xc_domain_dumpcore. The intent is
to move blocks of memory 4096 pages at a time, and a buffer is
allocated for this.  Unfortunately, the #define is without
parentheses and %/* are the same order and evaluated left to right.
Result: very big buffer being used 4 pages at a time.

Signed-off-by: Ben Thomas (bthomas@virtualiron.com)
2006-03-09 11:16:46 +01:00
kaf24@firebug.cl.cam.ac.uk 9603c69e65 libxc: Verify Magic number when reading dump
The xen core files record a magic number, 
but when they are loaded it isn't checked.
This patch resolves this.

Signed-Off-By: Horms <horms@verge.net.au>
2006-03-06 15:04:18 +01:00
kaf24@firebug.cl.cam.ac.uk c7466ca15d Fix libxc warnings with gcc-4.1 and glibc-2.3.90.
Signed-off-by: Charles Coffing <ccoffing@novell.com>
2006-03-02 21:36:03 +01:00
kaf24@firebug.cl.cam.ac.uk 5becda0913 Fix a couple of bogus dom0_op names:
setdomaininfo -> setvcpucontext
  pincpudomain  -> setvcpuaffinity

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-01-06 12:53:19 +01:00
kaf24@firebug.cl.cam.ac.uk 981d9b117d Plumb GETVCPUINFO dom0_op through to Python. Remove
n_vcpu field from GETDOMAININFO: replaced with
nr_online_vcpus and max_vcpu_id (both plumbed through to
Python).

TODO: Remove 'vcpus' entry in getdomaininfo Python
      dictionary.

TODO: Don't represent 'cpumap' as a bitmap in Python.
      It would be more sensible to represent as a list
      of integer CPU numbers.

Signed-off-by: Keir Fraser <keir@xensource.com>
2005-10-17 11:36:36 +01:00
kaf24@firebug.cl.cam.ac.uk 30ce2a9295 Store an opaque handle (tools uuid) in the domain structure
within Xen. Refactor GETVCPUCONTEXT into an op of the same
name plus a new op GETVCPUINFO. Move the cpumap and cpu info
arrays from GETDOMAININFO and move into new GETVCPUINFO.

Signed-off-by: Keir Fraser <keir@xensource.com>
2005-10-14 15:40:48 +01:00
kaf24@firebug.cl.cam.ac.uk d8263e8dba Fix Xen public interfaces and the tools to consistently
use stdint-format bitsize types (uint32_t and friends).

Signed-off-by: Keir Fraser <keir@xensource.com>
2005-10-12 11:07:37 +01:00
kaf24@firebug.cl.cam.ac.uk e701d05c8a Re-indent libxc to avoid hard tabs. Also, fix the PAE
domain builder to correctly write PTEs that map pages
above 4GB.

Signed-off-by: Keir Fraser <keir@xensource.com>
2005-09-19 11:06:05 +00:00
kaf24@firebug.cl.cam.ac.uk 19fd798dab Fix build failure due to missing unistd.h
Signed-off-by: Michal Ostrowski <mostrows@watson.ibm.com>
2005-08-30 13:16:05 +00:00
cl349@firebug.cl.cam.ac.uk acc63faffa Break the building/save/restore code out into a separate library libxenguest.
Also update the tools accordingly.
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2005-08-25 00:51:20 +00:00
vh249@arcadians.cl.cam.ac.uk e08e53f151 make needlessly global functions static and use NULL instead of 0 for pointer
Signed-off-by: Vincent Hanquez <vincent@xensource.com>
2005-08-12 13:05:50 +00:00
vh249@arcadians.cl.cam.ac.uk 39b35eca80 not valid file descriptor is -1 not 0 2005-08-12 10:51:39 +00:00
vh249@arcadians.cl.cam.ac.uk 3abb5c2914 remove pointless NULL checks before free()
Signed-off-by: Vincent Hanquez <vincent@xensource.com>
2005-08-12 10:48:42 +00:00
kmacy@netapp.com[kaf24] 8f30481cc5 bitkeeper revision 1.1411 (42884f321efBfAPblIV0mrlYL-DYpA)
[PATCH] [PATCH] SMP coredump fix

# This is a BitKeeper generated diff -Nru style patch.
#
# ChangeSet
#   2005/05/15 18:03:44-07:00 kmacy@octopus.eng.netapp.com
#   Fix SMP coredumps
#   Signed-off-by: Kip Macy <kmacy@netapp.com>
#
# BitKeeper/etc/logging_ok
#   2005/05/15 18:03:43-07:00 kmacy@octopus.eng.netapp.com +1 -0
#   Logging to logging@openlogging.org accepted
#
# tools/libxc/xc_core.c
#   2005/05/15 18:03:21-07:00 kmacy@octopus.eng.netapp.com +11 -7
#   handle discontiguous CPUs correctly
#   make offsets in core header correct for MP case
#
2005-05-16 07:43:46 +00:00
smh22@firebug.cl.cam.ac.uk 43c44b436d bitkeeper revision 1.1389.1.60 (4284eff8xPCiJXQdVwPYSYL7MEB5zA)
fix calls to xc_domain_getinfo()

Signed-off-by: Steven Hand <steven@xensource.com>
2005-05-13 18:20:40 +00:00
cl349@firebug.cl.cam.ac.uk 1ab02347d8 bitkeeper revision 1.1389.15.14 (428242a6WycHvjFblUGQbKtJd94NPg)
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>
2005-05-11 17:36:38 +00:00
cl349@firebug.cl.cam.ac.uk[cl349] 6d6ca3b27e bitkeeper revision 1.1389.15.13 (42821f23dLMLc5Ql8Y-rUwoatYBI6g)
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>
2005-05-11 15:05:07 +00:00
kaf24@firebug.cl.cam.ac.uk[kaf24] b61e6cb4e9 bitkeeper revision 1.1389.1.16 (4273458eyxEjHSppjkQyDsXHHxOY9Q)
coredump.patch
Extend libxc and gdb server to coredump a domain.
Signed-off-by: Kip Macy <kmacy@fsmware.com>
2005-04-30 08:45:02 +00:00