[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [xen-unstable] Remove a few stray references to the sparse tree.



# 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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.