Commit Graph
783 Commits
Author SHA1 Message Date
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
kfraser@localhost.localdomain 57b00da84b libxc, ia64: Added new arch_hook for registering ia64 big endian images.
Signed-off-by: Dietmar Hahn <dietmar.hahn@fujitsu-siemens.com>
2007-02-26 10:18:52 +00:00
kfraser@localhost.localdomain 41881805d1 Write Xen ELF notes into xenstore on domain build.
Signed-off-by: Brendan Cully <brendan@cs.ubc.ca>
2007-02-26 09:59:33 +00:00
Keir Fraser 159ce02013 libxc: Code format cleanups.
Signed-off-by: Keir Fraser <keir@xensource.com>
2007-02-24 15:30:19 +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 1c086c444c xc_ptrace_core.c new elf format support
The old format is still supported and the old implementation is left
as is with the slight adjustment to coexist with new implementation.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2007-02-24 14:32:43 +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
Keir Fraser 4062095bcb Move some definitions from xg_save_resotre.h to xg_private.h
which are necessary for the new dump core implementation.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2007-02-24 14:19:42 +00:00
Keir Fraser 7a439455bd x86 hvm domain builder, restore: set shared_info.arch.max_pfn for
dump-core to know the area to dump

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2007-02-24 14:19:05 +00:00
Keir Fraser da97fcd329 Support new xm command: xm trigger <Domain> <nmi|reset|init> [<VCPU>]
Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
Signed-off-by: Akio Takebe <takebe_akio@jp.fujitsu.com>
Signed-off-by: Zhang Xin <xing.z.zhang@intel.com>
2007-02-24 14:10:27 +00:00
kfraser@localhost.localdomain 7379f53a09 hvm: Fix save/restore to handle missing pages.
Signed-off-by: Keir Fraser <keir@xensource.com>
2007-02-23 16:17:00 +00:00
Emmanuel Ackaouy 81665f8e30 [XEN] [TOOLS] 32on64 compat save/restore: unadjust L3E flags at save time
Get rid of USER|RW|ACCESSED L3 PTE flags which may be present
in a PAE guest when running on a 64bit hypervisor at save time.
This prevents the restore operation from getting confused by
these flags.
Reset disallowed L3E flags to match PAE case.

Signed-off-by: Emmanuel Ackaouy <ack@xensource.com>
2007-02-23 12:58:20 +00:00
kfraser@localhost.localdomain 4008fb3e4d Remove unnecessary check from HVM builder.
Thanks to Guy Zana for spotting this.
Signed-off-by: Keir Fraser <keir@xensource.com>
2007-02-15 14:38:08 +00:00
kfraser@localhost.localdomain cfafd88d92 Lift physical address restriction in save/restore code.
Bump this to 44 bits for x86-32 and 52 bits for x86-64.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
2007-02-15 14:28:01 +00:00
kfraser@localhost.localdomain a5c9d9c243 libxc: Fix xc_vcpu_{set,get}_affinity (Xen-bugzilla No.900).
http://bugzilla.xensource.com/bugzilla/show_bug.cgi?id=900

Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
2007-02-15 13:36:00 +00:00
kfraser@localhost.localdomain af9049b580 Remove old elf-parsing code from tools and from Xen.
Signed-off-by: Keir Fraser <keir@xensource.com>
2007-02-15 10:25:39 +00:00
kfraser@localhost.localdomain 6422b05e11 Export PRI_xen_pfn rather than PRIpfn: less polluting of namespace.
libxc continues to use PRIpfn internally, #defined to PRI_xen_pfn.

Signed-off-by: Keir Fraser <keir@xensource.com>
2007-02-14 19:17:41 +00:00
kfraser@localhost.localdomain b3f09a8a4f Merge with xenppc-unstable.hg 2007-02-14 19:01:35 +00:00
Hollis Blanchard f0f04a6035 [LIBELF] Define PRIpfn next to xen_pfn_t.
Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com>
2007-02-09 14:43:22 -06:00
Hollis Blanchard 9fb65916be [POWERPC][XEN] Opt out of new libxc domain builder.
PowerPC needs more flexibility than the new framework allows.
Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com>
2007-02-09 14:43:21 -06:00
Tim Deegan e0bc4531df [HVM] Save/restore: disentangle max_pfn from nr_pages.
These have been used interchangeably, which is OK for PV domains but
not for HVM.  This fixes an over-allocation by 256MB when restoring
HVM guests that have more than 4GB of RAM.
Signed-off-by: Tim Deegan <Tim.Deegan@xensource.com>
2007-02-09 10:48:41 +00:00
Tim Deegan de602931ef [HVM] Save/restore: don't try to set the console ring MFN
in a HVM restore.  In particular, don't print an uninitialized stack
variable, which causes XMLRPC exceptions in xend.
Signed-off-by: Tim Deegan <Tim.Deegan@xensource.com>
2007-02-08 15:00:33 +00:00
Hollis Blanchard dd887f1615 [POWERPC][XEN] Fix mismerge. 2007-02-07 18:53:33 -06:00
Tim Deegan 2b30444fe2 [HVM] Save/restore: don't try to save the MMIO memory-hole at 4GB.
Also remove two integer arrays that were set to a[i] == i.
Signed-off-by: Tim Deegan <Tim.Deegan@xensource.com>
2007-02-07 17:29:52 +00:00
Tim Deegan 01d0fc79ac [HVM] Save/restore: dynamically calculate the size of the save buffer
Signed-off-by: Tim Deegan <Tim.Deegan@xensource.com>
2007-02-07 12:41:46 +00:00
kfraser@localhost.localdomain 34814f4465 New domain builder arch_setup hook clean up.
arch_setup_early  -> arch_setup_meminit
 arch_setup_middle -> arch_setup_bootearly
 arch_setup_late   -> arch_setup_bootlate

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2007-02-02 15:50:27 +00:00
kfraser@localhost.localdomain 44480a0820 libxc: Domain builder must align initial virtual mapping to 4MB
boundaries.
From: Gerd Hoffmann <kraxel@suse.de>
Signed-off-by: Keir Fraser <keir@xensource.com>
2007-02-02 15:41:45 +00:00
Ian Campbell 9c4ed974a4 [TOOLS] Remove a debug message which is spamming the logs during live
migration.

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
2007-02-01 10:21:42 +00:00
Tim Deegan 782821bcb0 [HVM] Save/restore: clean up the new hypercall interface
Pass a buffer and size through instead of fixed-size structure.

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
Signed-off-by: Tim Deegan <Tim.Deegan@xensource.com>
2007-01-31 17:22:00 +00:00
Tim Deegan 3f44314932 [HVM] Save/restore: save shared-info pfn and re-map it on restore
In the short term this allows us to save the same domain more than once.
Longer-term some more careful shared-info management will be needed.

Signed-off-by: Tim Deegan <Tim.Deegan@xensource.com>
2007-01-31 12:23:35 +00:00
kaf24@localhost.localdomain 2bc69bd7d9 new domain builder fix to boot domU on IA64.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2007-01-30 13:52:52 +00:00
kaf24@localhost.localdomain 7883dce659 xc_linux_save was broken in 13594:30af6cfdb05c. Unbreak it.
Signed-off-by: Brendan Cully <brendan@cs.ubc.ca>
2007-01-30 13:39:37 +00:00
kaf24@localhost.localdomain aacbdffaf8 Replace mlock() calls with lock_pages().
Signed-off-by: Russell Blaine <russell.blaine@sun.com>
2007-01-26 13:31:59 +00:00
kaf24@localhost.localdomain 15fa409662 32-on-64: New set_address_size domctl for switching to compat mode.
From: Gerd Hoffmann <kraxel@suse.de>
Signed-off-by: Keir Fraser <keir@xensource.com>
2007-01-26 13:27:01 +00:00
Emmanuel Ackaouy 2be4a20325 libxc domain builder rewrite, linux builder
use new domain builder for the linux (aka generic elf) loader.

Signed-off-by: Gerd Hoffmann <kraxel@suse.de>
---
 tools/libxc/Makefile              |    7 +-
 tools/libxc/xc_dom_compat_linux.c |  124 ++++++++++++++++++++++++++++++++++++++
 2 files changed, 129 insertions(+), 2 deletions(-)
2007-01-25 22:16:52 +00:00
Emmanuel Ackaouy b4feb14b3d libxc domain builder rewrite, core bits.
Signed-off-by: Gerd Hoffmann <kraxel@suse.de>
---
 tools/libxc/Makefile           |   14
 tools/libxc/xc_dom.h           |  261 +++++++++++++
 tools/libxc/xc_dom_binloader.c |  294 +++++++++++++++
 tools/libxc/xc_dom_boot.c      |  515 +++++++++++++++++++++++++++
 tools/libxc/xc_dom_core.c      |  773 +++++++++++++++++++++++++++++++++++++++++
 tools/libxc/xc_dom_elfloader.c |  283 +++++++++++++++
 tools/libxc/xc_dom_ia64.c      |  118 ++++++
 tools/libxc/xc_dom_powerpc64.c |  100 +++++
 tools/libxc/xc_dom_x86.c       |  559 +++++++++++++++++++++++++++++
 9 files changed, 2917 insertions(+)
2007-01-25 22:16:52 +00:00
Emmanuel Ackaouy a62512128b libxc header fixups.
Make some arch-specific #defines for page table handling
available unconditionally, add a suffix to avoid name clashes.

The versions without suffix are defined depending on the
architecture like they used to, so code using them continues
to work.

Signed-off-by: Gerd Hoffmann <kraxel@suse.de>
---
 tools/libxc/xg_private.h |  114 +++++++++++++++++++++++++++--------------------
 1 file changed, 67 insertions(+), 47 deletions(-)
2007-01-25 22:16:52 +00:00
Emmanuel Ackaouy 8db57dddd1 Add more xc_error_code values.
XC_INVALID_PARAM
  such as asking for features unsupported by either xen or guest kernel.
XC_OUT_OF_MEMORY
  no comment ;)

Signed-off-by: Gerd Hoffmann <kraxel@suse.de>
---
 tools/libxc/xc_private.c |    4 ++++
 tools/libxc/xenctrl.h    |    2 ++
 2 files changed, 6 insertions(+)
2007-01-25 22:16:52 +00:00
Emmanuel Ackaouy 0b7ba47b46 libelf: use for hvm builder.
This patch switches over the hvm domain builder to libelf
(for loading hvmloader).

Signed-off-by: Gerd Hoffmann <kraxel@suse.de>
---
 tools/libxc/xc_hvm_build.c |  220 +++++++++++++--------------------------------
 1 file changed, 65 insertions(+), 155 deletions(-)
2007-01-25 22:16:52 +00:00
Emmanuel Ackaouy 98d5cfb308 libelf: add to libxc
This patch makes libelf available to the tools, by symlinking the source
files and compiling them into libxc.

Signed-off-by: Gerd Hoffmann <kraxel@suse.de>
---
 tools/libxc/Makefile |   15 +++++++++++++++
 1 file changed, 15 insertions(+)
2007-01-25 22:16:52 +00:00
Emmanuel Ackaouy eca96c65d9 add libelf: an ELF binary parser library.
This patch adds a library with a small collection of helper functions
to parse and load elf binaries.  The library handles endianess and
elfsize at runtime.

The patch also shuffles around the include files a bit.  Now there is
*one* include file holding all the elf structures
(xen/include/public/elfstructs.h) which is included by everyone who
needs them.

It's dead code with this patch only, putting the code into use happens
in followup patches.

Signed-off-by: Gerd Hoffmann <kraxel@suse.de>
---
 tools/libxc/xc_elf.h                |  525 -----------------------------------
 xen/arch/x86/boot/mkelf32.c         |    2
 xen/common/Makefile                 |    2
 xen/common/libelf/Makefile          |    4
 xen/common/libelf/README            |    1
 xen/common/libelf/libelf-dominfo.c  |  420 ++++++++++++++++++++++++++++
 xen/common/libelf/libelf-loader.c   |  156 ++++++++++
 xen/common/libelf/libelf-private.h  |   51 +++
 xen/common/libelf/libelf-relocate.c |  345 +++++++++++++++++++++++
 xen/common/libelf/libelf-tools.c    |  225 +++++++++++++++
 xen/include/public/elfstructs.h     |  527 ++++++++++++++++++++++++++++++++++++
 xen/include/public/libelf.h         |  238 ++++++++++++++++
 xen/include/xen/elf.h               |  490 ---------------------------------
 13 files changed, 1972 insertions(+), 1014 deletions(-)
2007-01-25 22:16:52 +00:00
kfraser@localhost.localdomain bec755ea3c During suspend, return immediately with a failure if the domain will
never suspend, instead of pointlessly retrying.

Signed-off-by: John Levon <john.levon@sun.com>
2007-01-25 12:30:25 +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 a3fb2cebf9 libxenguest: Fix xc_resume() build for non-x86.
Signed-off-by: Keir Fraser <keir@xensource.com>
2007-01-24 10:18:44 +00:00
john.levon@sun.com 95d3856e97 Close save-after-restore race.
Make xc_linux_save() wait for the frame_list_list MFN to be updated by the
domain before trying to use it. Make Linux set the top-level MFN /after/
updating the other MFN lists.

Signed-off-by: John Levon <john.levon@sun.com>
2007-01-23 19:06:31 -08:00
kfraser@localhost.localdomain 1fd75e7150 [LIBXC] Provide weak stub default implementations of xc_hvm_save() and
xc_hvm_restore() for architectures with no full implementation.
Signed-off-by: Keir Fraser <keir@xensource.com>
2007-01-23 15:58:05 +00:00
kfraser@localhost.localdomain f4e8a7e419 Implement clean return from save/restore failure (so that original
domain can continue execution).
Signed-off-by: Andrei Petrov <andrei.petrov@xensource.com>
2007-01-22 15:15:32 +00:00
kaf24@localhost.localdomain 8b8c4769ed Fix byte-to-long bitmap conversions.
Signed-off-by: Keir Fraser <keir@xensource.com>
2007-01-21 17:10:58 +00:00
kaf24@localhost.localdomain 9b80096622 [LIBXC] Fix non-x86 build.
Signed-off-by: Keir Fraser <keir@xensource.com>
2007-01-21 15:39:04 +00:00