Commit Graph
30 Commits
Author SHA1 Message Date
Ian Campbell 6993e9f5ce # HG changeset patch
# User Ian Campbell <ian.campbell@citrix.com>
# Date 1282671421 -3600
# Node ID d1dd29a470ef1b9d2c77478a123326036dfe90bb
# Parent  d7a4adad9c328decbd384d87b23001aea8951b86
tools/libxc, tools/libelf: Relicense under LGPL v2.1

Relicense these two libraries under LGPL v2.1 only except where
individual files already included the "or later" provision.

Copyright holders have been contacted by Stephen Spector and have all
agreed this change.

Removed tools/libxc/ia64/aclinux.h since it appeared to be
unused. There is a separate, more up to date, copy in
xen/include/acpi/platform/aclinux.h which does appear to be used.

Clarify the license of MiniOS privcmd.h under the same terms as other
tools/include/xen-sys headers.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Stephen Spector <stephen.spector@citrix.com>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
2010-08-24 18:42:59 +01:00
Keir Fraser 9fececad98 libxc: use new (replacement) mmap-batch ioctl
Replace all calls to xc_map_foreign_batch() where the caller doesn't
look at the passed in array to check for errors by calls to
xc_map_foreign_pages(). Replace all remaining calls by such to the
newly introduced xc_map_foreign_bulk().

As a sideband modification (needed while writing the patch to ensure
they're unused) eliminate unused parameters to
uncanonicalize_pagetable() and xc_map_foreign_batch_single(). Also
unmap live_p2m_frame_list earlier in map_and_save_p2m_table(),
reducing the peak amount of virtual address space required.

All supported OSes other than Linux continue to use the old ioctl for
the time being.

Also change libxc's MAJOR to 4.0 to reflect the API change.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
2010-01-13 08:12:56 +00:00
Keir Fraser 0df54d9807 minios: switch to C99 integer types
This is a necessary step to make minios build on NetBSD.

Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
2009-07-15 09:09:48 +01:00
Keir Fraser 75577f42e0 tools: python -> $(PYTHON)
Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
2009-07-09 16:06:52 +01:00
Keir Fraser fb442e2171 x86_64: allow more vCPU-s per guest
Since the shared info layout is fixed, guests are required to use
VCPUOP_register_vcpu_info prior to booting any vCPU beyond the
traditional limit of 32.

MAX_VIRT_CPUS, being an implemetation detail of the hypervisor, is no
longer being exposed in the public headers.

The tools changes are clearly incomplete (and done only so things
would
build again), and the current state of the tools (using scalar
variables all over the place to represent vCPU bitmaps) very likely
doesn't permit booting DomU-s with more than the traditional number of
vCPU-s. Testing of the extended functionality was done with Dom0 (96
vCPU-s, as well as 128 vCPU-s out of which the kernel elected - by way
of a simple kernel side patch - to use only some, resulting in a
sparse
bitmap).

ia64 changes only to make things build, and build-tested only (and the
tools part only as far as the build would go without encountering
unrelated problems in the blktap code).

Signed-off-by: Jan Beulich <jbeulich@novell.com>
2009-06-18 10:14:16 +01:00
Keir Fraser 9c7be4de83 Fix dependencies in tools/include/xen-foreign/Makefile
Signed-off-by: Jan Beulich <jbeulich@novell.com>
2009-06-16 11:01:17 +01:00
Keir Fraser 94c3a1b680 tools: clean up handling of xen config and scripts directories.
For now hardcode /etc w/o a prefix as there are hardcoded
config paths in the code which would break otherwise.

Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
2009-05-19 01:48:18 +01:00
Keir Fraser 8ce65842ad Move libelf headers out of xen public header dir.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
2009-01-08 13:15:49 +00:00
Keir Fraser c6d8d541e9 x86-64: guest directed placement of initial p->m map
By adding another ELF note, the kernel can now direct the hypervisor
(for Dom0) and in the future also the tools (for DomU-s) to place the
initial phys->mach translation table at other than an address
immediately above the kernel/initrd images. This eliminates the size
restriction imposed on this table by Linux (the kernel loads above the
-2Gb boundary, and hence the entire initial mapping cannot reach or
even exceed 2Gb).

There are a few items in this patch I'm not particularly happy with,
but couldn't think of a better solution:
- there is a hidden assumption that pages allocated for the domain are
  put on the domain's page list sequentially
- the way backward compatibility is maintained is placing requirements
  on the kernel side that make the code somewhat convoluted (because
  it
  needs to check where the map is actually placed in quite a few
  places)
- code is there to use 1Gb mappings for the hypervisor created table,
  but lacking a machine with 512G+ memory for immediate testing I
  can't
  verify this works; I know that 2Mb mappings work, and hence imply
  that 1Gb ones would too (of course, if the kernel replaces the table
  - like Linux does -, it cannot use 2Mb/1Gb mappings or even try to
  re-use the page table entries, but I don't consider this a problem)

Signed-off-by: Jan Beulich <jbeulich@novell.com>
2009-01-08 11:32:39 +00:00
Keir Fraser fd6a37dbdc pv-grub: re-implement xc_map_foreign_ranges
Also get rid of va and npages members of privcmd_mmap_entry since we
do not need them any more.

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-07-24 14:10:45 +01:00
Keir Fraser aa6eb83c93 stubdom: make compilation independent of tools/ by building our own copy of the includes
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-07-09 11:51:46 +01:00
Keir Fraser deb3650245 libxc: Update for NetBSD
returns hypercall return value when ioctl was successful.

Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
2008-06-10 13:49:02 +01:00
Alex Williamson 003499ac91 [IA64] Install missing ia64 hvm public headers.
Signed-off-by: Kouya Shimura <kouya@jp.fujitsu.com>
2008-04-14 14:04:58 -06:00
Keir Fraser efeb49b813 Revert all usages of gcc's __extension__ keyword, and instead assert
that our headers are not built with __GNUC__ and __STRICT_ANSI__.

__extension__ had some weird (and buggy) behaviours when nested which
make it a risky proposition for general usage in our header
files. Better to disallow -ansi, -std=c99, and similar gcc options
when building against Xen headers.

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-03-31 17:43:18 +01:00
Keir Fraser d1e5ff7440 Explicitly tag every anonymous aggregate in the public headers.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-03-26 10:14:50 +00:00
Keir Fraser 6131fde768 Prefix unnamed union structure fields with __extension__ to make it
work properly even in e.g. C99 standard mode.

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-03-25 18:02:00 +00:00
Keir Fraser 86d8fe5e6a libxc: Variable-size gntdev support
This patch adds the ability to set the number of slots that may be
used for mapping grant references, using the gntdev user-space grant
reference mapping driver.

Signed-off-by: Derek Murray <Derek.Murray@cl.cam.ac.uk>
2008-03-18 15:00:33 +00:00
Keir Fraser d375fff68c Install missing hvm public headers.
Signed-off-by: Ben Guthro <bguthro@virtualiron.com>
2008-03-18 13:11:43 +00:00
Keir Fraser 21ffff5e7f Move remaining xen/include/public/foreign files to tools/include/xen-foreign
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>

--HG--
rename : xen/include/public/foreign/mkchecker.py => tools/include/xen-foreign/mkchecker.py
rename : xen/include/public/foreign/mkheader.py => tools/include/xen-foreign/mkheader.py
rename : xen/include/public/foreign/reference.size => tools/include/xen-foreign/reference.size
rename : xen/include/public/foreign/structs.py => tools/include/xen-foreign/structs.py
2008-01-27 17:25:56 +00:00
Keir Fraser ef3d5e2dfa Fix ia64 public headers installation typo.
Signed-off-by: Alex Williamson <alex.williamson@hp.com>
2008-01-27 16:44:04 +00:00
Keir Fraser 29588460f3 Do not special-case native architecture in mkchecker.py.
From: Bastian Blank <waldi@debian.org>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-01-27 13:03:10 +00:00
Keir Fraser e0db36bcdd Move xen/foreign build out of tree setup.
Signed-off-by: Bastian Blank <waldi@debian.org>
2008-01-26 14:44:30 +00:00
Keir Fraser 18b04c04ee Use real source files for xen/foreign build.
Signed-off-by: Bastian Blank <waldi@debian.org>
2008-01-26 14:43:47 +00:00
Keir Fraser 34673e4986 Move xen/sys parts down to tools/include/xen-sys.
Signed-off-by: Bastian Blank <waldi@debian.org>
2008-01-26 14:42:55 +00:00
Keir Fraser 41a5d4c1fe Also install xen/sys into headers.
Signed-off-by: Bastian Blank <waldi@debian.org>
2008-01-26 14:41:39 +00:00
Keir Fraser 03bb50b276 Remove commented-out dropping from previous changeset.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-01-26 10:39:58 +00:00
Keir Fraser be5fbf9a7f Move generation of public header hierarchy into the tools.
This patch merges the two versions of public header generation
currently used in the build into one.

Signed-off-by: Bastian Blank <waldi@debian.org>
2008-01-26 10:38:44 +00:00
Keir Fraser 3a0667d17e libxc: NetBSD-specific pieces.
Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
2007-09-24 13:45:57 +01:00
kfraser@localhost.localdomain 228dadc99a Include Solaris kernel headers
Add the Solaris kernel headers used be the userspace tools to the
distribution. The same setup as used by Linux is taken. We modify the
Linux kernel headers to also install in /usr/include/xen/sys/ -
without a kernel-neutral path, it can make using the headers very
difficult, and encourages errors.

Signed-off-by: John Levon <john.levon@sun.com>
2007-06-11 15:50:35 +01:00
Ian Campbell fe4fa7d7f7 Remove a few stray references to the sparse tree.
The only non-obvious change here is in tools/xenfb/Makefile. This now picks up
the headers it requires via the copy in tools/libxc.

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
2007-06-04 12:47:53 +01:00