Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Bump to 69

# fix kvm guest clock compile error without apic (Glauber Costa)
# support PIT mode 3 (Aurelien Jarno)
    * needed by GNU Hurd
# fix host oops emulating smsw on AMD
# fake performance counter MSRs on AMD (Chris Lalancette)
    * fixes RHEL 4 guests
# fix virtio compile error on s390 (Heiko Carstens)
# fix hlt emulation when PIT is running but not injecting interrupts (Marcelo Tosatti)
# ditto for local apic (Marcelo Tosatti)
# fix kernel and userspace structure name clash on ia64 (Xiantao Zhang)
# fix GVMM module including non-PIC objects (Xiantao Zhang)
# 'make mrproper' fix (Andrew Morton)
# fix host oops on emergency reboot when hitting virt instructions
# simplify host cpu unplug
# fix kvm_vcpu_block() state race (Marcelo Tosatti)
# set iosapic pin count to 48 for ia64 (Xiantao Zhang)
# ppc: fix compile warning (Hollis Blanchard)
# ppc: fix lost simultaneous interrupts (Hollis Blanchard)
# ppc: log failed DCR accesses (Hollis Blanchard)
# ppc: order IRQ bit numbers as per docs (Hollis Blanchard)
# ppc: remove IRQ polarity code (Hollis Blanchard)
# ppc: remember state of level-triggered interrupts (Hollis Blanchard)
# ppc: emulate pci controller on 440 SoC (Hollis Blanchard)
# ppc: add pci controller to bamboo platform (Hollis Blanchard)
# external module compatibility updates
# merge qemu-svn
    * fix CVE-2007-1320 - Cirrus LGD-54XX "bitblt" heap overflow
    * allow boot device change from the monitor
    * reduce spurious vga updates
    * fix CVE-2008-2004 - format guessing vulnerability
# remove merge conflict leftover (Carlo Marcelo Arenas Belon)
  • Loading branch information...
commit c3b21cf2d64e8bcc5f9763cf09c595fafa6510dc 1 parent b98edce
@dang authored
Showing with 174 additions and 0 deletions.
  1. +4 −0 app-emulation/kvm/Manifest
  2. +170 −0 app-emulation/kvm/kvm-69.ebuild
View
4 app-emulation/kvm/Manifest
@@ -13,10 +13,14 @@ AUX kvm-66-qemu-curses-ctrld.patch 670 RMD160 91083cc555447f7713d2adac84e6c58526
AUX kvm-66-qemu-no-blobs.patch 2979 RMD160 cc841dc0c4b5211a770db3482fc5c5b7a228988d SHA1 c4bc8fe6c7e29a01abba6a29c51faf398b129279 SHA256 574f3dbbdeb2a90f133d72d1417e4f5a0be6e0ce9bfcffcef1efb12113d071bc
AUX kvm-67-kernel-i8254-mode4.patch 382 RMD160 2bb9f94a4dbe3d10af489a334a106b5af2144993 SHA1 658b4c8bd2a271842f65876fc3c92f877412b2fc SHA256 88836043453c2fbf0fee96183d98e788f54290d374058303f8b5fc2397fcbb02
AUX kvm-68-libkvm-no-kernel.patch 657 RMD160 799fba8a3f4e20c908b04ff15b99fc0d739126c4 SHA1 4348d347c39c56d17dc1509cc9841df7d5860c5a SHA256 b060309fb54455b1473524085d339ac07a031392eeeb5e209e4b39f5e173b376
+AUX kvm-69-qemu-no-blobs.patch 3142 RMD160 3a8f67e04ff1f1fcb8e25ccc5ee6606791799352 SHA1 26b51d7fbad6d7d0fe90166410bc05ab3d8bc43c SHA256 eaecfda00bb25cfba770017af143ccf0d989f3c3a1abd46d3de1b096bfc49505
+AUX kvm-69-qemu-ramaddr.patch 1719 RMD160 118122b926eb7a941d078727ea2ff9329c5637e5 SHA1 1b0b3b0af71b549f735d73b45b3a5c26188d018d SHA256 ddaf245db4be8baf7786c10170caddeaf9413caf2e5d44da23c2a012262e87a4
DIST kvm-66.tar.gz 3864937 RMD160 6de25a7823399980a413d19ea5c71a4ed5e9eae7 SHA1 6bd0a67f721a1d81eaf2c387a87d0f47b835af96 SHA256 ef96b1665a51276e6eb9bce125a2cf35c30365fab54eae5c929b73c1fe36edef
DIST kvm-67.tar.gz 5327083 RMD160 a74de6b0767f14181852f03fc705c267434ec749 SHA1 8c41e43c30d2defe43cbd19758d1b54f4187a403 SHA256 d829a31019ddfa6070d82079692bb590db05c3b1d810600ef2374cffa58ad73c
DIST kvm-68.tar.gz 5751171 RMD160 5accb548125262bcba7313ef8ceba2a853d29a35 SHA1 d7e3f8523df9973f55c6932140573d12f416c201 SHA256 bd48e9504e5eb9e328d70267e48f1f5e64fca077d816d0aa3beb409c842c8019
+DIST kvm-69.tar.gz 4208273 RMD160 ab6f6b431bcc4b20f08551e759346a4ce8b502ae SHA1 f90033e6a8336c8bb242e50b58d11a0293c9851d SHA256 e44bfd3bc1295459e5fb868010fd556f84eba9d15882b853baaa4c1a10fff317
EBUILD kvm-66.ebuild 5223 RMD160 1620e6a94aa8cef3eae801875e64849c3c4d33b0 SHA1 b386af62abbb014cadab5dbda884162555e403e5 SHA256 390cb38c3c4e7e17a40e6f9a534a19586f798f73299ed31d98bb0fb61d72825c
EBUILD kvm-67.ebuild 5125 RMD160 7b91cee4102b3de2e1ab8e6f85773bd742d2323e SHA1 2b698beeff79d4955bd42f881f033edc1dd07661 SHA256 5166f4737c7466611f4ae6d6b3c73adae3e46bf73a465ec62f16ca1b597dfa43
EBUILD kvm-68.ebuild 5071 RMD160 499c87b2c52508235ea6bf4a6eacfda21992f6ce SHA1 1e4e85babb5bcf48f6fac7d08c356d7a4c916859 SHA256 56827e0ccb2624589d56c982d9753a90cade895a50ebb9f400a80510dd9f0d92
+EBUILD kvm-69.ebuild 5071 RMD160 f146eed911fcb01737c814fbfcd177031f85b092 SHA1 783c4439b2543652c2f77d772f3153eb01fd4e76 SHA256 75c68f1f1bf8ab54ea7a4a6fedaab38b10dcb60c379a833e0e864bba4564bce8
MISC metadata.xml 522 RMD160 b91a05561d890f51973f13efdab5e8475da047a6 SHA1 4380232dab1041b82b6203712369312506d304c2 SHA256 afae4b8980fe14330e217154e0b749f2ade187e29005ba915a99dc134c0822c6
View
170 app-emulation/kvm/kvm-69.ebuild
@@ -0,0 +1,170 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+inherit eutils flag-o-matic toolchain-funcs linux-mod
+
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+DESCRIPTION="Kernel-based Virtual Machine userland tools"
+HOMEPAGE="http://kvm.qumranet.com/kvmwiki"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="-* ~amd64 ~x86"
+IUSE="alsa bios esd gnutls ncurses sdl test"
+RESTRICT="mirror test"
+
+RDEPEND="sys-libs/zlib
+ alsa? ( >=media-libs/alsa-lib-1.0.13 )
+ esd? ( media-sound/esound )
+ gnutls? ( net-libs/gnutls )
+ ncurses? ( sys-libs/ncurses )
+ sdl? ( >=media-libs/libsdl-1.2.11 )"
+
+DEPEND="${RDEPEND}
+ bios? (
+ sys-devel/dev86
+ dev-lang/perl
+ sys-power/iasl
+ )
+ gnutls? ( dev-util/pkgconfig )
+ app-text/texi2html"
+
+QA_TEXTRELS="usr/bin/kvm"
+
+pkg_setup() {
+ if kernel_is lt 2 6 22; then
+ eerror "the kvm in your kernel requires an older version of"
+ eerror "kvm as shown in :"
+ eerror " http://kvm.qumranet.com/kvmwiki/Downloads"
+ die "kvm version not compatible"
+ fi
+
+ # check for kvm support
+ if ! linux_chkconfig_present KVM; then
+ eerror "Please enable KVM support in your kernel, found at:"
+ eerror
+ eerror " Virtualization"
+ eerror " Kernel-based Virtual Machine (KVM) support"
+ die "KVM support not detected!"
+ fi
+
+ enewgroup kvm
+}
+
+src_unpack() {
+ unpack ${A}
+
+ cd "${S}"
+ # prevent docs to get automatically installed
+ sed -i '/$(DESTDIR)$(docdir)/d' qemu/Makefile
+ # Alter target makefiles to accept CFLAGS set via flag-o
+ sed -i 's/^\(C\|OP_C\|HELPER_C\)FLAGS=/\1FLAGS+=/' \
+ qemu/Makefile qemu/Makefile.target
+ [[ -x /sbin/paxctl ]] && \
+ sed -i 's/^VL_LDFLAGS=$/VL_LDFLAGS=-Wl,-z,execheap/' \
+ qemu/Makefile.target
+ # avoid strip
+ sed -i 's/$(INSTALL) -m 755 -s/$(INSTALL) -m 755/' qemu/Makefile
+
+ epatch "${FILESDIR}"/kvm-45-qemu-configure.patch
+ epatch "${FILESDIR}"/kvm-61-qemu-kvm.patch
+ epatch "${FILESDIR}"/kvm-61-qemu-kvm-doc.patch
+ epatch "${FILESDIR}"/kvm-57-qemu-kvm-cmdline.patch
+ epatch "${FILESDIR}"/kvm-48-kvm.patch
+ epatch "${FILESDIR}"/kvm-43-qemu-ifup.patch
+ epatch "${FILESDIR}"/kvm-57-kernel-longmode.patch
+ epatch "${FILESDIR}"/kvm-68-libkvm-no-kernel.patch
+ epatch "${FILESDIR}"/kvm-69-qemu-ramaddr.patch
+ epatch "${FILESDIR}"/kvm-69-qemu-no-blobs.patch
+}
+
+src_compile() {
+ local mycc conf_opts
+
+ use alsa && conf_opts="$conf_opts --enable-alsa"
+ use esd && conf_opts="$conf_opts --enable-esd"
+ use gnutls || conf_opts="$conf_opts --disable-vnc-tls"
+ use ncurses || conf_opts="$conf_opts --disable-curses"
+ use sdl || conf_opts="$conf_opts --disable-gfx-check --disable-sdl"
+ conf_opts="$conf_opts --disable-cpu-emulation --disable-gcc-check"
+ conf_opts="$conf_opts --prefix=/usr"
+
+ ./configure ${conf_opts} || die "econf failed"
+
+ emake libkvm || die "emake libkvm failed"
+
+ if use test; then
+ emake user || die "emake user failed"
+ fi
+
+ mycc=$(cat qemu/config-host.mak | egrep "^CC=" | cut -d "=" -f 2)
+
+ filter-flags -fpie -fstack-protector
+
+ # If using gentoo's compiler set the SPEC to non-hardened
+ if [ ! -z ${GCC_SPECS} -a -f ${GCC_SPECS} ]; then
+ local myccver=$(${mycc} -dumpversion)
+ local gccver=$($(tc-getBUILD_CC) -dumpversion)
+
+ #Is this a SPEC for the right compiler version?
+ myspec="${GCC_SPECS/${gccver}/${myccver}}"
+ if [ "${myspec}" == "${GCC_SPECS}" ]; then
+ shopt -s extglob
+ GCC_SPECS="${GCC_SPECS/%hardened*specs/vanilla.specs}"
+ shopt -u extglob
+ else
+ unset GCC_SPECS
+ fi
+ fi
+
+ if use bios; then
+ emake bios || die "emake bios failed"
+ emake vgabios || die "emake vgabios failed"
+ fi
+
+ emake qemu || die "emake qemu failed"
+}
+
+src_install() {
+ # kcmd so we don't install kernel modules which weren't build
+ emake DESTDIR="${D}" kcmd='#' install || die "make install failed"
+
+ exeinto /usr/bin/
+ doexe /kvm_stat
+
+ mv "${D}"/usr/share/man/man1/qemu.1 "${D}"/usr/share/man/man1/kvm.1
+ mv "${D}"/usr/share/man/man1/qemu-img.1 "${D}"/usr/share/man/man1/kvm-img.1
+ mv "${D}"/usr/bin/qemu-img "${D}"/usr/bin/kvm-img
+
+ insinto /etc/udev/rules.d/
+ doins scripts/65-kvm.rules
+
+ insinto /etc/kvm/
+ insopts -m0755
+ newins scripts/qemu-ifup kvm-ifup
+
+ dodoc qemu/pc-bios/README
+ newdoc qemu/qemu-doc.html kvm-doc.html
+ newdoc qemu/qemu-tech.html kvm-tech.html
+}
+
+pkg_postinst() {
+ elog "If you don't have kvm compiled into the kernel, make sure you have"
+ elog "the kernel module loaded before running kvm. The easiest way to"
+ elog "ensure that the kernel module is loaded is to load it on boot."
+ elog "For AMD CPUs the module is called 'kvm-amd'"
+ elog "For Intel CPUs the module is called 'kvm-intel'"
+ elog "Please review /etc/conf.d/modules for how to load these"
+ elog
+ elog "Make sure your user is in the 'kvm' group"
+ elog "Just run 'gpasswd -a <USER> kvm', then have <USER> re-login."
+ elog
+ elog "You will need the Universal TUN/TAP driver compiled into your"
+ elog "kernel or loaded as a module to use the virtual network device"
+ elog "if using -net tap. You will also need support for 802.1d"
+ elog "Ethernet Bridging and a configured bridge if using the provided"
+ elog "qemu-ifup script from /etc/kvm."
+ echo
+}
Please sign in to comment.
Something went wrong with that request. Please try again.