From 1f9a99dee6fd4fcf410a7c43aeed3dbc1cd32cc7 Mon Sep 17 00:00:00 2001 From: cegger Date: Wed, 6 Apr 2011 09:05:53 +0000 Subject: Xen is a virtual machine monitor which supports running multiple guests operating systems on a single machine. Guest OSes (also called "domains" ) require a modified kernel which supports Xen hypercalls in replacement to access to the physical hardware. At boot, the xen kernel is loaded along with the guest kernel for the first domain (called domain0). domain0 has privileges to access the physical hardware (PCI and ISA devices), administrate other domains and provide virtual devices (disks and network) to other domains. This package contains the Xen4 kernel itself. Release notes: The Xen team is pleased to announce the release of Xen 4.1. The result of nearly 12 months of development, new features include: * A re-architected and improved XL toolstack replacing XM/XEND * Prototype credit2 scheduler designed for latency-sensitive workloads and very large systems. * CPU Pools for advanced partitioning. * Support for large systems (>255 processors) * Support for x86 Advanced Vector eXtension (AVX). * New Memory Access API enabling integration of 3rd party security solutions into Xen virtualized environments. * Many IOMMU fixes (both Intel VT-d IOMMU and AMD IOMMU). * Many toolstack and buildsystem fixes for Linux and NetBSD hosts. * Thirdparty libs: libvirt driver for libxl has been merged to upstream libvirt. * HVM guest PXE boot enhancements, replacing gPXE with iPXE. * Even better stability through our new automated regression tests. Detailed release notes, including a more extensive feature list: http://wiki.xen.org/xenwiki/Xen4.1 To download tarballs: http://xen.org/products/xen_source.html Or the Mercurial source repository (tag 'RELEASE-4.1.0'): http://xenbits.xen.org/xen-unstable.hg And the announcement on the Xen blog: http://blog.xen.org/index.php/2011/03/25/xen-4-1-releases/ Thanks to the many people who have contributed to this release! Regards, The Xen Team --- sysutils/xenkernel41/DESCR | 10 +++++++ sysutils/xenkernel41/Makefile | 50 +++++++++++++++++++++++++++++++++++ sysutils/xenkernel41/PLIST | 3 +++ sysutils/xenkernel41/distinfo | 6 +++++ sysutils/xenkernel41/patches/patch-aa | 14 ++++++++++ 5 files changed, 83 insertions(+) create mode 100644 sysutils/xenkernel41/DESCR create mode 100644 sysutils/xenkernel41/Makefile create mode 100644 sysutils/xenkernel41/PLIST create mode 100644 sysutils/xenkernel41/distinfo create mode 100644 sysutils/xenkernel41/patches/patch-aa diff --git a/sysutils/xenkernel41/DESCR b/sysutils/xenkernel41/DESCR new file mode 100644 index 00000000000..db6df31f21a --- /dev/null +++ b/sysutils/xenkernel41/DESCR @@ -0,0 +1,10 @@ +Xen is a virtual machine monitor which supports running multiple +guests operating systems on a single machine. Guest OSes (also called "domains") +require a modified kernel which supports Xen hypercalls in replacement +to access to the physical hardware. At boot, the xen kernel is loaded +along with the guest kernel for the first domain (called domain0). +domain0 has privileges to access the physical hardware (PCI +and ISA devices), administrate other domains and provide virtual +devices (disks and network) to other domains. + +This package contains the Xen4 kernel itself. diff --git a/sysutils/xenkernel41/Makefile b/sysutils/xenkernel41/Makefile new file mode 100644 index 00000000000..02a33b28b05 --- /dev/null +++ b/sysutils/xenkernel41/Makefile @@ -0,0 +1,50 @@ +# $NetBSD: Makefile,v 1.1.1.1 2011/04/06 09:05:53 cegger Exp $ +# + +VERSION= 4.1.0 +DISTNAME= xen-${VERSION} +PKGNAME= xenkernel41-${VERSION} +#PKGREVISION= 1 +CATEGORIES= sysutils +MASTER_SITES= http://bits.xensource.com/oss-xen/release/${VERSION}/ +EXTRACT_SUFX= .tar.gz + +MAINTAINER= cegger@NetBSD.org +HOMEPAGE= http://xen.org/ +COMMENT= Xen 4.1.0 Kernel + +LICENSE= gnu-gpl-v2 + +PKG_DESTDIR_SUPPORT= user-destdir + +ONLY_FOR_PLATFORM= Linux-2.6*-i386 Linux-2.6*-x86_64 +ONLY_FOR_PLATFORM+= NetBSD-[5-9].99.*-x86_64 NetBSD-[5-9].99.*-i386 + +WRKSRC= ${WRKDIR}/xen-${VERSION} + +NO_CONFIGURE= yes +USE_TOOLS+= gmake + +PYTHON_FOR_BUILD_ONLY= # empty +PY_PATCHPLIST= NO + +# XXX Why does this not work? +# See work/xen-4.1.0/Config.mk:41 why PYTHON must be set and what for +MAKE_ENV+= PYTHON=${PYTHONBIN:Q} +MAKE_ENV+= OCAML_TOOLS=no + +INSTALLATION_DIRS= xen41-kernel + +do-build: + cd ${WRKSRC} && ${BUILD_MAKE_CMD} debug=n xen + ${CP} ${WRKSRC}/dist/install/boot/xen.gz ${WRKDIR}/xen.gz + cd ${WRKSRC} && ${MAKE_PROGRAM} clean + cd ${WRKSRC} && ${BUILD_MAKE_CMD} debug=y xen + ${CP} ${WRKSRC}/dist/install/boot/xen.gz ${WRKDIR}/xen-debug.gz + +do-install: + ${INSTALL_DATA} ${WRKDIR}/xen.gz ${DESTDIR}${PREFIX}/${INSTALLATION_DIRS}/xen.gz + ${INSTALL_DATA} ${WRKDIR}/xen-debug.gz ${DESTDIR}${PREFIX}/${INSTALLATION_DIRS}/xen-debug.gz + +.include "../../lang/python/application.mk" +.include "../../mk/bsd.pkg.mk" diff --git a/sysutils/xenkernel41/PLIST b/sysutils/xenkernel41/PLIST new file mode 100644 index 00000000000..886fa82240d --- /dev/null +++ b/sysutils/xenkernel41/PLIST @@ -0,0 +1,3 @@ +@comment $NetBSD: PLIST,v 1.1.1.1 2011/04/06 09:05:53 cegger Exp $ +xen41-kernel/xen-debug.gz +xen41-kernel/xen.gz diff --git a/sysutils/xenkernel41/distinfo b/sysutils/xenkernel41/distinfo new file mode 100644 index 00000000000..a1650c68083 --- /dev/null +++ b/sysutils/xenkernel41/distinfo @@ -0,0 +1,6 @@ +$NetBSD: distinfo,v 1.1.1.1 2011/04/06 09:05:53 cegger Exp $ + +SHA1 (xen-4.1.0.tar.gz) = 4295e67524746ce155ff991db5fd2a611be27f67 +RMD160 (xen-4.1.0.tar.gz) = e9ef987b24503d6c993bccfd203be5af9f104f48 +Size (xen-4.1.0.tar.gz) = 10348539 bytes +SHA1 (patch-aa) = a93592a78fd7050aee9d522e22cec182d75bbbfa diff --git a/sysutils/xenkernel41/patches/patch-aa b/sysutils/xenkernel41/patches/patch-aa new file mode 100644 index 00000000000..4b83c5510cd --- /dev/null +++ b/sysutils/xenkernel41/patches/patch-aa @@ -0,0 +1,14 @@ +$NetBSD: patch-aa,v 1.1.1.1 2011/04/06 09:05:53 cegger Exp $ + +--- xen/arch/x86/boot/build32.mk.orig 2011-03-25 10:42:58.000000000 +0000 ++++ xen/arch/x86/boot/build32.mk +@@ -10,7 +10,8 @@ CFLAGS += -Werror -fno-builtin -msoft-fl + # NB. awk invocation is a portable alternative to 'head -n -1' + %.S: %.bin + (od -v -t x $< | awk 'NR > 1 {print s} {s=$$0}' | \ +- sed 's/ /,0x/g' | sed 's/^[0-9]*,/ .long /') >$@ ++ sed 's/ */, 0x/g' | sed 's/, 0x$$//' | \ ++ sed 's/^[0-9]*,/ .long /') >$@ + + %.bin: %.lnk + $(OBJCOPY) -O binary $< $@ -- cgit v1.2.3