Commit Graph
65 Commits
Author SHA1 Message Date
Ian Campbell 1459957f98 [TOOLS] Uncompress and allocate memory for gzipped kernel and initrd images on
the fly. We cannot rely on the length contained in the gzip trailer to determine
the length of the decompressed data because images have been observed which have
trailing junk.

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
2006-10-26 16:56:16 +01:00
kfraser@localhost.localdomain 429764f760 [LIBXC] Add -Wmissing-prototypes to CFLAGS, fix warnings resulting from that.
Signed-off-by: Gerd Hoffmann <kraxel@suse.de>
2006-10-25 15:25:13 +01:00
kfraser@localhost.localdomain a3fc4d842e [SOLARIS] Don't mlock() hypercall buffers.
On solaris mlock requires a page aligned address and mlock doesn't
ensure the pages won't minor page fault.

Signed-off-by: Mark Johnson <mark.johnson@sun.com>
2006-10-23 09:52:51 +01:00
kfraser@localhost.localdomain 1df421476a Replace dom0_ops hypercall with three new hypercalls:
1. platform_op -- used by dom0 kernel to perform actions on the
    hardware platform (e.g., MTRR access, microcode update, platform
    quirks, ...)
 2. domctl -- used by management tools to control a specified domain
 3. sysctl -- used by management tools for system-wide actions

Benefits include more sensible factoring of actions to
hypercalls. Also allows tool compatibility to be tracked separately
from the dom0 kernel. The assumption is that it will be easier to
replace libxenctrl, libxenguest and Xen as a matched set if the
dom0 kernel does not need to be replaced too (e.g., because that
would require vendor revalidation).

From here on we hope to maintain dom0 kernel compatibility. This
promise is not extended to tool compatibility beyond the existing
guarantee that compatibility will not be broken within a three-level
stable release [3.0.2, 3.0.3, etc.].

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-08-25 18:39:10 +01:00
awilliam@xenbuild.aw feb1dc3116 [IA64] Creates tools/libxc/ia64 directory.
Split and move xc_ia64_stubs.c into ia64/xc_ia64_hvm_build.c and
ia64/xc_ia64_stubs.c
Creates ia64/Makefile.
Clean up (static in const) in xc_ia64_hvm_build.c

Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
[whitespace cleanups in new files]
Signed-off-by: Alex Williamson <alex.williamson@hp.com>
2006-07-11 11:29:25 -06:00
kfraser@localhost.localdomain 971ec7119c [XEN] getpagframeinfo field name mfn -> gmfn.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-07-05 17:37:08 +01: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
kaf24@firebug.cl.cam.ac.uk ad2de84676 Create new vmassist type 'pae_extended_cr3'. Only advertise
pae_pgdir_above_4gb tp guests that have enabled this vmassist.
Control tools ensure all PAE page directories are below 4GB
unless the vmassist is enabled (triggered via an extended-cr3
option in guest Elf header).
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-06-05 10:42:40 +01:00
kaf24@firebug.cl.cam.ac.uk c263397874 [PAE] Allow pgdirs above 4GB for paravirt guests.
**NOTE**: This obviates the need for lowmem_emergency_pool.
Unpriv guests no longer need to be able to allocate memory
below 4GB for PAE PDPTs.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-05-26 17:22:30 +01:00
kaf24@firebug.cl.cam.ac.uk 2d0922d515 Move Linux-specific privcmd code into private libxc implementations.
Make header path for kernel's privcmd/evtchn headers generic.
Remove pointless xi_*() interface that was using private libxc
interfaces.

Signed-off-by: John Levon <john.levon@sun.com>
2006-05-02 15:12:06 +01:00
kaf24@firebug.cl.cam.ac.uk 54b4ddf0d1 Rename {SG}ET_XEN_GUEST_HANDLE to {sg}et_Xen_guest_handle, as they
are function macros rather than define/declare macros.

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-04-28 09:40:07 +01:00
kaf24@firebug.cl.cam.ac.uk d6f69f0e01 Fix memory_op hypercall mlock/munlock wrapping after the
GET/SET_XEN_GUEST_HANDLE patch.

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-04-27 19:19:59 +01:00
kaf24@firebug.cl.cam.ac.uk 704e9ade0f Wrap all GUEST_HANDLEs in structures, and define SET/GET macros to access them
in Linux and libxc.

Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com>
2006-04-27 13:58:50 +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 27d7304ed7 Replace memory_op subcommands reserved_phys_area and map_shared_info
with new subcommand add_to_physmap.

This changes the domain0 tools interface, but only when building
shadow-translate-mode guests.

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-03-10 16:00:36 +01:00
kaf24@firebug.cl.cam.ac.uk d2017c7b16 Clean up internal libxc functions to take 'const char *'
parameters where possible, to avoid unnecessary casts.

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-03-09 14:35:36 +01:00
kaf24@firebug.cl.cam.ac.uk a582b2638b New memory_op subcall XENMEM_translate_gpfn_list.
Allows translation from GPFNs to MFNs for an auto-translated
guest.

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-02-16 18:52:06 +01:00
kaf24@firebug.cl.cam.ac.uk b2572e0698 Fix some more pfn/mfn/gmfn/gpfn inconsistencies. Fix some direct
uses of max_page variable to use the mfn_valid() predicate.

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-02-02 12:18:28 +01:00
kaf24@firebug.cl.cam.ac.uk 912d32ab97 Replace the MMUEXTOP 'pfn hole' commands with a new
arch-specific XENMEM_ operation.

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-01-28 15:31:43 +01:00
sos22@douglas.cl.cam.ac.uk 5f97716503 Create a block of reserved PFNs in shadow translate mode guests, and
move the shared info and grant table pfns into that block.  This
allows us to remove the get_gnttablist dom0 op, and simplifies the
domain creation code slightly.  Having the reserved block managed by
Xen may also make it slightly easier to handle the case where the
grant table needs to be extended at run time.

Suggested-by: kaf24
Signed-off-by: Steven Smith, sos22@cam.ac.uk
2006-01-26 19:40:13 +01:00
sos22@douglas.cl.cam.ac.uk cd9edced7b Make some basic cases of grant tables work in shadow translate mode.
This is enough to get block devices to work.

Note that this involves assigning PFNs to the machine frames used for
the grant table structures.  While I'm here, I also assigned a PFN to
the shared info frame.

Signed-off-by: Steven Smith, sos22@cam.ac.uk
2006-01-25 18:57:44 +01:00
kaf24@firebug.cl.cam.ac.uk 83120737f5 Implement new memory_op() XENMEM_machphys_mfn_list. Replaces old
privcmd Linux ioctl and includes an implementation for x86/64.

Signed-off-by: Keir Fraser <keir@xensource.com>
2005-11-25 18:43:35 +01:00
emellor@leeni.uk.xensource.com a22292f2bb Make it possible to run valgrind on code linked with the libxc libraries.
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>
2005-11-22 16:31:16 +01:00
kaf24@firebug.cl.cam.ac.uk 9ba9cbdb3f Update the memory_op() hypercall. Add two new subcommands, to
query a domain's current and maximum memory reservation. Also,
XENMEM_maximum_ram_page now returns the max_page directly,
rather than writing through a passed-in pointer.

Also, disable PAE in the default config (accidentally checked
in two changesets ago).

Signed-off-by: Keir Fraser <keir@xensource.com>
2005-11-21 16:56:39 +01:00
smh22@firebug.cl.cam.ac.uk 4c908cf0e3 Many fixes for save/restore and related areas for PAE in particular. Now
should be able to save/restore successfully on machines with up to 16GB 
and any size of guest. 

Signed-off-by: Steven Hand <steven@xensource.com>
2005-11-16 17:45:03 +01:00
kaf24@firebug.cl.cam.ac.uk 568a59e7fc Rename XENVER_parameters to slightly more informative
XENVER_platform_parameters.

Signed-off-by: Keir Fraser <keir@xensource.com>
2005-11-16 12:44:12 +01:00
kaf24@firebug.cl.cam.ac.uk 26ed038491 Clean up xenstore/console shared page initialisation, which is
now handled solely by the domain builder.

Signed-off-by: Keir Fraser <keir@xensource.com>
2005-11-14 11:36:42 +01:00
kaf24@firebug.cl.cam.ac.uk 3947efa1c2 Revert accidentally applied changes from changeset
7783:5aad7e145e501fbfb346954950a33b042a963633.

Signed-off-by: Keir Fraser <keir@xensource.com>
2005-11-14 11:35:50 +01:00
kaf24@firebug.cl.cam.ac.uk e7b975b0b6 If /sbin/ isn't in the path, udev rules will erroneously not get
installed.

Signed-off-by: Nivedita Singhvi <niv@us.ibm.com>
2005-11-14 11:05:34 +01:00
djm@kirby.fc.hp.com 8620f56614 Necessary change to support ia64/vti domain build in common code.
Signed-off-by Ke Yu <ke.yu@intel.com>
Signed-off-by Anthony Xu <anthony.xu@intel.com>
Signed-off-by Kevin Tian <kevin.tian@intel.com>
2005-10-24 20:57:47 -06:00
kaf24@firebug.cl.cam.ac.uk 918a5c1de8 Remove bogus error message in libxenctrl.
Signed-off-by: Keir Fraser <keir@xensource.com>
2005-10-15 16:25:29 +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
djm@kirby.fc.hp.com 6be63db55d Merge latest xen-unstable into xen-ia64-unstable to prep
for push back to xen-unstable
2005-09-14 15:36:10 -06:00
kaf24@firebug.cl.cam.ac.uk 134ef9dc4a Fix xc_make_page_below_4G(). Should fix PAE domain
building on >= 4GB systems.

Signed-off-by: Keir Fraser <keir@xensource.com>
2005-09-14 16:56:05 +00:00
djm@kirby.fc.hp.com 13bad8113d Catchup with xen-unstable, add ia64 specifics to tools, and some VTI merge
Signed-off-by Kevin Tian <Kevin.tian@intel.com>
2005-09-13 13:42:33 -06:00
kaf24@firebug.cl.cam.ac.uk fbfaadacd8 mlock argument to version hypercall in libxc.
Signed-off-by: Ian Pratt <ian@xensource.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
2005-09-12 12:17:31 +00:00
iap10@freefall.cl.cam.ac.uk cab0ef71c3 Improved "PGDs must be under 4GB" handling for PAE.
Signed-off-by: ian@xensource.com
2005-09-08 17:36:23 +00:00
iap10@freefall.cl.cam.ac.uk 558b5c7a89 More tools PAE fixes to avoid loosing high-order pte bits.
Signed-off-by: ian@xensource.com
2005-09-07 23:11:44 +00:00
vh249@arcadians.cl.cam.ac.uk 251e6d181b extends xm info with xen version and various others information.
exports version hypercall to userspace

Signed-off-by: Vincent Hanquez <vincent@xensource.com>
2005-08-31 10:39:53 +00:00
kaf24@firebug.cl.cam.ac.uk e4dfe0cdba Replace dom_mem_op hypercall with memory_op hypercall with
better interface. Fix "mem=" parameter on x86/64 boot.

Signed-off-by: Keir Fraser <keir@xensource.com>
2005-08-30 11:53:47 +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
kaf24@firebug.cl.cam.ac.uk 12b1a321bd Here is our latest patch to enable the Xen tools to
build and work with IA64 Xen.
Signed-off-by: Matt Chapman <matthewc@hp.com>
Acked-by: Dan Magenheimer <dan.magenheimer@hp.com>
2005-07-29 10:34:45 +00:00
kaf24@firebug.cl.cam.ac.uk 8a6c33ded1 bitkeeper revision 1.1726.2.3 (42ba7587nwhnhQJ_hDkHTk8kTKtAFw)
Make sure we save errno across error-path printfs and munlocks. Based
on a patch from Anthony Liguori.
Signed-off-by: Keir Fraser <keir@xensource.com>
2005-06-23 08:40:39 +00:00
cl349@firebug.cl.cam.ac.uk 4f7a49d8d0 bitkeeper revision 1.1681 (42a4172fYhXBx6d4aXa2ofB5qVB2Ww)
xc_gnttab.c, xc_evtchn.c:
  Cleanup error message printing and error exit code path.
xc_vmx_build.c, xc_private.c, xc_plan9_build.c, xc_linux_build.c:
  Cleanup error message printing.
Signed-off-by: Nguyen Anh Quynh <aquynh@gmail.com>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2005-06-06 09:28:15 +00:00
kaf24@firebug.cl.cam.ac.uk 7254a301ec bitkeeper revision 1.1665.1.5 (42a1a779yqLZDCutMj_vFNQlo3q3zw)
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>
2005-06-04 13:07:05 +00:00
kaf24@firebug.cl.cam.ac.uk 7ef0d92af9 bitkeeper revision 1.1389.1.49 (4283701cNLgzy29rE9Sw2-Jbp4DdZA)
Remove 'exec_domain' from Xen public interfaces. Replace with 'vcpu'.
Signed-off-by: Keir Fraser <keir@xensource.com>
2005-05-12 15:02:52 +00:00