# HG changeset patch
# User Ian Campbell <ian.campbell@xxxxxxxxxxxxx>
# Date 1180957673 -3600
# Node ID 267ccb919967944c1d443af13376b0d3cd3e774c
# Parent 20ee22a089ea2f9fa0593d667e3fd594651040ee
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@xxxxxxxxxxxxx>
---
tools/misc/xen-clone | 134 ------------------------------------------
tools/Rules.mk | 4 -
tools/blktap/drivers/Makefile | 3
tools/guest-headers/Makefile | 4 -
tools/include/Linux/evtchn.h | 88 +++++++++++++++++++++++++++
tools/include/Linux/gntdev.h | 105 ++++++++++++++++++++++++++++++++
tools/include/Linux/privcmd.h | 79 ++++++++++++++++++++++++
tools/xenfb/Makefile | 2
8 files changed, 276 insertions(+), 143 deletions(-)
diff -r 20ee22a089ea -r 267ccb919967 tools/Rules.mk
--- a/tools/Rules.mk Mon Jun 04 11:37:50 2007 +0100
+++ b/tools/Rules.mk Mon Jun 04 12:47:53 2007 +0100
@@ -41,11 +41,11 @@ check-$(CONFIG_X86) = $(call cc-ver-chec
mk-symlinks-SunOS:
-mk-symlinks-Linux: LINUX_ROOT=$(XEN_ROOT)/linux-2.6-xen-sparse
+mk-symlinks-Linux: LINUX_ROOT=$(XEN_ROOT)/tools/include/Linux
mk-symlinks-Linux:
mkdir -p xen/linux
( cd xen/linux && \
- ln -sf ../../$(LINUX_ROOT)/include/xen/public/*.h . )
+ ln -sf ../../$(LINUX_ROOT)/*.h . )
( cd xen && rm -f sys && ln -sf linux sys )
mk-symlinks-xen:
diff -r 20ee22a089ea -r 267ccb919967 tools/blktap/drivers/Makefile
--- a/tools/blktap/drivers/Makefile Mon Jun 04 11:37:50 2007 +0100
+++ b/tools/blktap/drivers/Makefile Mon Jun 04 12:47:53 2007 +0100
@@ -38,9 +38,6 @@ BLK-OBJS += aes.o
all: $(IBIN) qcow-util
-LINUX_ROOT := $(wildcard $(XEN_ROOT)/linux-2.6.*-xen-sparse)
-
-
blktapctrl: blktapctrl.c
$(CC) $(CFLAGS) -o blktapctrl $(LIBS) blktapctrl.c
diff -r 20ee22a089ea -r 267ccb919967 tools/guest-headers/Makefile
--- a/tools/guest-headers/Makefile Mon Jun 04 11:37:50 2007 +0100
+++ b/tools/guest-headers/Makefile Mon Jun 04 12:47:53 2007 +0100
@@ -1,7 +1,5 @@ XEN_ROOT=../..
XEN_ROOT=../..
include $(XEN_ROOT)/tools/Rules.mk
-
-linuxsparsetree = $(XEN_ROOT)/linux-2.6-xen-sparse
.PHONY: all
all:
@@ -13,7 +11,7 @@ check:
install-Linux:
mkdir -p $(DESTDIR)/usr/include/xen/linux
- $(INSTALL_DATA) $(linuxsparsetree)/include/xen/public/*.h
$(DESTDIR)/usr/include/xen/linux
+ $(INSTALL_DATA) $(XEN_ROOT)/tools/include/Linux/*.h
$(DESTDIR)/usr/include/xen/linux
install-SunOS:
diff -r 20ee22a089ea -r 267ccb919967 tools/include/Linux/evtchn.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/include/Linux/evtchn.h Mon Jun 04 12:47:53 2007 +0100
@@ -0,0 +1,88 @@
+/******************************************************************************
+ * evtchn.h
+ *
+ * Interface to /dev/xen/evtchn.
+ *
+ * Copyright (c) 2003-2005, K A Fraser
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License version 2
+ * as published by the Free Software Foundation; or, when distributed
+ * separately from the Linux kernel or incorporated into other
+ * software packages, subject to the following license:
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this source file (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use, copy, modify,
+ * merge, publish, distribute, sublicense, and/or sell copies of the Software,
+ * and to permit persons to whom the Software is furnished to do so, subject to
+ * the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+ * IN THE SOFTWARE.
+ */
+
+#ifndef __LINUX_PUBLIC_EVTCHN_H__
+#define __LINUX_PUBLIC_EVTCHN_H__
+
+/*
+ * Bind a fresh port to VIRQ @virq.
+ * Return allocated port.
+ */
+#define IOCTL_EVTCHN_BIND_VIRQ \
+ _IOC(_IOC_NONE, 'E', 0, sizeof(struct ioctl_evtchn_bind_virq))
+struct ioctl_evtchn_bind_virq {
+ unsigned int virq;
+};
+
+/*
+ * Bind a fresh port to remote <@remote_domain, @remote_port>.
+ * Return allocated port.
+ */
+#define IOCTL_EVTCHN_BIND_INTERDOMAIN \
+ _IOC(_IOC_NONE, 'E', 1, sizeof(struct ioctl_evtchn_bind_interdomain))
+struct ioctl_evtchn_bind_interdomain {
+ unsigned int remote_domain, remote_port;
+};
+
+/*
+ * Allocate a fresh port for binding to @remote_domain.
+ * Return allocated port.
+ */
+#define IOCTL_EVTCHN_BIND_UNBOUND_PORT \
+ _IOC(_IOC_NONE, 'E', 2, sizeof(struct ioctl_evtchn_bind_unbound_port))
+struct ioctl_evtchn_bind_unbound_port {
+ unsigned int remote_domain;
+};
+
+/*
+ * Unbind previously allocated @port.
+ */
+#define IOCTL_EVTCHN_UNBIND \
+ _IOC(_IOC_NONE, 'E', 3, sizeof(struct ioctl_evtchn_unbind))
+struct ioctl_evtchn_unbind {
+ unsigned int port;
+};
+
+/*
+ * Unbind previously allocated @port.
+ */
+#define IOCTL_EVTCHN_NOTIFY \
+ _IOC(_IOC_NONE, 'E', 4, sizeof(struct ioctl_evtchn_notify))
+struct ioctl_evtchn_notify {
+ unsigned int port;
+};
+
+/* Clear and reinitialise the event buffer. Clear error condition. */
+#define IOCTL_EVTCHN_RESET \
+ _IOC(_IOC_NONE, 'E', 5, 0)
+
+#endif /* __LINUX_PUBLIC_EVTCHN_H__ */
diff -r 20ee22a089ea -r 267ccb919967 tools/include/Linux/gntdev.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/include/Linux/gntdev.h Mon Jun 04 12:47:53 2007 +0100
@@ -0,0 +1,105 @@
+/******************************************************************************
+ * gntdev.h
+ *
+ * Interface to /dev/xen/gntdev.
+ *
+ * Copyright (c) 2007, D G Murray
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License version 2
+ * as published by the Free Software Foundation; or, when distributed
+ * separately from the Linux kernel or incorporated into other
+ * software packages, subject to the following license:
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this source file (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use, copy, modify,
+ * merge, publish, distribute, sublicense, and/or sell copies of the Software,
+ * and to permit persons to whom the Software is furnished to do so, subject to
+ * the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+ * IN THE SOFTWARE.
+ */
+
+#ifndef __LINUX_PUBLIC_GNTDEV_H__
+#define __LINUX_PUBLIC_GNTDEV_H__
+
+struct ioctl_gntdev_grant_ref {
+ /* The domain ID of the grant to be mapped. */
+ uint32_t domid;
+ /* The grant reference of the grant to be mapped. */
+ uint32_t ref;
+};
+
+/*
+ * Inserts the grant references into the mapping table of an instance
+ * of gntdev. N.B. This does not perform the mapping, which is deferred
+ * until mmap() is called with @index as the offset.
+ */
+#define IOCTL_GNTDEV_MAP_GRANT_REF \
+_IOC(_IOC_NONE, 'G', 0, sizeof(struct ioctl_gntdev_map_grant_ref))
+struct ioctl_gntdev_map_grant_ref {
+ /* IN parameters */
+ /* The number of grants to be mapped. */
+ uint32_t count;
+ uint32_t pad;
+ /* OUT parameters */
+ /* The offset to be used on a subsequent call to mmap(). */
+ uint64_t index;
+ /* Variable IN parameter. */
+ /* Array of grant references, of size @count. */
+ struct ioctl_gntdev_grant_ref refs[1];
+};
+
+/*
+ * Removes the grant references from the mapping table of an instance of
+ * of gntdev. N.B. munmap() must be called on the relevant virtual address(es)
+ * before this ioctl is called, or an error will result.
+ */
+#define IOCTL_GNTDEV_UNMAP_GRANT_REF \
+_IOC(_IOC_NONE, 'G', 1, sizeof(struct ioctl_gntdev_unmap_grant_ref))
+struct ioctl_gntdev_unmap_grant_ref {
+ /* IN parameters */
+ /* The offset was returned by the corresponding map operation. */
+ uint64_t index;
+ /* The number of pages to be unmapped. */
+ uint32_t count;
+ uint32_t pad;
+};
+
+/*
+ * Returns the offset in the driver's address space that corresponds
+ * to @vaddr. This can be used to perform a munmap(), followed by an
+ * UNMAP_GRANT_REF ioctl, where no state about the offset is retained by
+ * the caller. The number of pages that were allocated at the same time as
+ * @vaddr is returned in @count.
+ *
+ * N.B. Where more than one page has been mapped into a contiguous range, the
+ * supplied @vaddr must correspond to the start of the range; otherwise
+ * an error will result. It is only possible to munmap() the entire
+ * contiguously-allocated range at once, and not any subrange thereof.
+ */
+#define IOCTL_GNTDEV_GET_OFFSET_FOR_VADDR \
+_IOC(_IOC_NONE, 'G', 2, sizeof(struct ioctl_gntdev_get_offset_for_vaddr))
+struct ioctl_gntdev_get_offset_for_vaddr {
+ /* IN parameters */
+ /* The virtual address of the first mapped page in a range. */
+ uint64_t vaddr;
+ /* OUT parameters */
+ /* The offset that was used in the initial mmap() operation. */
+ uint64_t offset;
+ /* The number of pages mapped in the VM area that begins at @vaddr. */
+ uint32_t count;
+ uint32_t pad;
+};
+
+#endif /* __LINUX_PUBLIC_GNTDEV_H__ */
diff -r 20ee22a089ea -r 267ccb919967 tools/include/Linux/privcmd.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/include/Linux/privcmd.h Mon Jun 04 12:47:53 2007 +0100
@@ -0,0 +1,79 @@
+/******************************************************************************
+ * privcmd.h
+ *
+ * Interface to /proc/xen/privcmd.
+ *
+ * Copyright (c) 2003-2005, K A Fraser
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License version 2
+ * as published by the Free Software Foundation; or, when distributed
+ * separately from the Linux kernel or incorporated into other
+ * software packages, subject to the following license:
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this source file (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use, copy, modify,
+ * merge, publish, distribute, sublicense, and/or sell copies of the Software,
+ * and to permit persons to whom the Software is furnished to do so, subject to
+ * the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+ * IN THE SOFTWARE.
+ */
+
+#ifndef __LINUX_PUBLIC_PRIVCMD_H__
+#define __LINUX_PUBLIC_PRIVCMD_H__
+
+#include <linux/types.h>
+
+#ifndef __user
+#define __user
+#endif
+
+typedef struct privcmd_hypercall
+{
+ __u64 op;
+ __u64 arg[5];
+} privcmd_hypercall_t;
+
+typedef struct privcmd_mmap_entry {
+ __u64 va;
+ __u64 mfn;
+ __u64 npages;
+} privcmd_mmap_entry_t;
+
+typedef struct privcmd_mmap {
+ int num;
+ domid_t dom; /* target domain */
+ privcmd_mmap_entry_t __user *entry;
+} privcmd_mmap_t;
+
+typedef struct privcmd_mmapbatch {
+ int num; /* number of pages to populate */
+ domid_t dom; /* target domain */
+ __u64 addr; /* virtual address */
+ xen_pfn_t __user *arr; /* array of mfns - top nibble set on err */
+} privcmd_mmapbatch_t;
+
+/*
+ * @cmd: IOCTL_PRIVCMD_HYPERCALL
+ * @arg: &privcmd_hypercall_t
+ * Return: Value returned from execution of the specified hypercall.
+ */
+#define IOCTL_PRIVCMD_HYPERCALL \
+ _IOC(_IOC_NONE, 'P', 0, sizeof(privcmd_hypercall_t))
+#define IOCTL_PRIVCMD_MMAP \
+ _IOC(_IOC_NONE, 'P', 2, sizeof(privcmd_mmap_t))
+#define IOCTL_PRIVCMD_MMAPBATCH \
+ _IOC(_IOC_NONE, 'P', 3, sizeof(privcmd_mmapbatch_t))
+
+#endif /* __LINUX_PUBLIC_PRIVCMD_H__ */
diff -r 20ee22a089ea -r 267ccb919967 tools/misc/xen-clone
--- a/tools/misc/xen-clone Mon Jun 04 11:37:50 2007 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,134 +0,0 @@
-#!/bin/sh -x
-
-# usage: xen-clone hg_repository dest_dir orig_linux_dir
-#
-# this script contains some CL site specific details, but can easily be adapted
-#
-
-# test which site we're on
-[ -d /usr/groups/xeno/ -a -d /usr/groups/srgboot ] && SITE=UCCL
-
-case "$SITE" in
-UCCL)
- BK_REP=${1:-http://hg.srg.cl.cam.ac.uk/xen-unstable.hg}
- LINUX_DIR=${3:-/usr/groups/xeno/archive/}
- ;;
-*)
- BK_REP=${1:-http://xenbits.xensource.com/xen-unstable.hg}
- LINUX_DIR=${3:-.:..}
-;;
-esac
-
-DEST_DIR=${2:-xeno-clone}
-DEST_BK_REP=`basename "${BK_REP}"`
-DEST_VER=`basename ${DEST_BK_REP} .hg`
-
-echo usage: xen-clone hg dest_dir orig_linux_dir
-echo Source BK Repository : ${BK_REP}
-echo Destination Dir/Repository : ${DEST_DIR}/${DEST_BK_REP}
-echo Pristine Linux Source directory : ${LINUX_DIR}
-
-mkdir -p ${DEST_DIR}
-cd ${DEST_DIR}
-TOP=`/bin/pwd`
-
-# site-specific set up of installation directories
-case "$SITE" in
-UCCL)
- PATH=$PATH:/usr/groups/xeno/build_tools/bin
- mkdir -p install/boot
- cd install/boot
- ln -sf ../../../xeno-roots/roots .
- ln -sf ../../../xeno-roots/usr .
- ln -sf ../lib .
- ln -sf ../bin .
- ln -sf /usr/groups/srgboot/${USER}/xenoboot.sh .
- ln -sf `pwd` /usr/groups/srgboot/${USER}/${DEST_DIR}
- ln -sf xen.gz image.gz
- cd ../..
- ;;
-esac
-
-# clone the master repository (now checked-out by default)
-if [ ! -d ${DEST_BK_REP} ]
-then
-mkdir -p ${DEST_BK_REP} ; cd ${DEST_BK_REP} ; hg init ${BK_REP} ; hg co ; cd
${TOP}
-else
-cd ${DEST_BK_REP}
-hg pull ; hg co
-cd ${TOP}
-fi
-
-
-if [ -d ${DEST_BK_REP}/linux-2.4*-xen-sparse ]
-then
- # this is a new style Xen repository so building is dead easy
-
- export LINUX_SRC_PATH=${LINUX_DIR}
-
- cd ${DEST_BK_REP}
-
- # Recent repositories install into 'dist/install' rather than 'install'.
- if [ -f install.sh ]
- then
- mkdir -p dist
- ln -sf ../../install dist/install
- else
- ln -sf ../install install
- fi
-
- make -j4 KERNELS=linux-* world
- #make -j4 linux24
- cd ../install/boot
- if [ -r vmlinuz-2.6-xen0 ]
- then
- ln -s vmlinuz-2.6-xen0 xenolinux.gz
- else
- kern=`ls vmlinuz-2.6.*-xen0 | head -1`
- [ -r "$kern" ] && ln -s "$kern" xenolinux.gz
- fi
-
-else
- # old style repository without 'make world'
-
-
- # identify this version of linux
- LINUX_VER=`( /bin/ls -ld ${DEST_BK_REP}/*xenolinux-sparse || /bin/ls -ld
${DEST_BK_REP}/*xenolinux-*-sparse ) 2>/dev/null | sed -e
's!^.*xenolinux-\(.\+\)-sparse!\1!'`
-
- if [ -z "${LINUX_VER}" ]
- then
- echo Unable to identify Linux version. Bailing.
- exit -1
- fi
-
- # copy in the master Linux tree for this kernel
- if [ ! -d linux-${LINUX_VER} ]
- then
- tar -jxf ${LINUX_DIR}/linux-${LINUX_VER}.tar.bz2 || tar -zxf
${LINUX_DIR}/linux-${LINUX_VER}.tar.gz || tar -zxf
${LINUX_DIR}/linux-${LINUX_VER}.tgz || cp -a ${LINUX_DIR}/linux-${LINUX_VER} .
|| wget ftp://ftp.kernel.org/pub/linux/kernel/v2.4/linux-${LINUX_VER}.tar.gz
-O- | tar -zxf - || exit -1
- fi
-
- # build and install Xen and tools
- cd ${DEST_BK_REP}
- make dist || make install
-
- # Turn linux into xenolinux then build it
- cd xenolinux-${LINUX_VER}-sparse
- bash ./mkbuildtree ../../linux-${LINUX_VER}
- cd ../..
- mv linux-${LINUX_VER} xenolinux-${LINUX_VER}
- cd xenolinux-${LINUX_VER}
-
- # cope with the change from ARCH=xeno to ARCH=xen
- cd arch; XEN=`/bin/ls -d xen*`; cd ..
-
- # built it all
- ARCH=$XEN make oldconfig
- ARCH=$XEN make dep
- ARCH=$XEN make bzImage
- ARCH=$XEN make dist || ARCH=xen make install
- ARCH=$XEN make modules
- ARCH=$XEN make INSTALL_MOD_PATH=${TOP}/install modules_install
- cd ..
-
-fi
-
diff -r 20ee22a089ea -r 267ccb919967 tools/xenfb/Makefile
--- a/tools/xenfb/Makefile Mon Jun 04 11:37:50 2007 +0100
+++ b/tools/xenfb/Makefile Mon Jun 04 12:47:53 2007 +0100
@@ -2,7 +2,7 @@ include $(XEN_ROOT)/tools/Rules.mk
include $(XEN_ROOT)/tools/Rules.mk
CFLAGS += -I$(XEN_LIBXC) -I$(XEN_XENSTORE)
-CFLAGS += -I$(XEN_ROOT)/linux-2.6-xen-sparse/include -I$(XEN_ROOT)/tools/ioemu
+CFLAGS += -I$(XEN_ROOT)/tools/ioemu
LDFLAGS += -L$(XEN_LIBXC) -L$(XEN_XENSTORE)
.PHONY: all
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|