summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-emulation/kvm/files')
-rw-r--r--app-emulation/kvm/files/digest-kvm-433
-rw-r--r--app-emulation/kvm/files/digest-kvm-443
-rw-r--r--app-emulation/kvm/files/digest-kvm-453
-rw-r--r--app-emulation/kvm/files/digest-kvm-483
-rw-r--r--app-emulation/kvm/files/kvm-43-qemu-ifup.patch23
-rw-r--r--app-emulation/kvm/files/kvm-43-qemu-kvm-cmdline.patch20
-rw-r--r--app-emulation/kvm/files/kvm-45-qemu-configure.patch13
-rw-r--r--app-emulation/kvm/files/kvm-45-qemu-gcc4.patch30
-rw-r--r--app-emulation/kvm/files/kvm-45-qemu-kvm-doc.patch269
-rw-r--r--app-emulation/kvm/files/kvm-45-qemu-kvm.patch15
-rw-r--r--app-emulation/kvm/files/kvm-45-qemu-no-img.patch78
-rw-r--r--app-emulation/kvm/files/kvm-45-user-no-kernel.patch13
-rw-r--r--app-emulation/kvm/files/kvm-47-configure-qemu.patch66
-rw-r--r--app-emulation/kvm/files/kvm-47-qemu-gcc3.patch12
-rw-r--r--app-emulation/kvm/files/kvm-48-kvm.patch134
-rw-r--r--app-emulation/kvm/files/kvm-kvm.patch114
-rw-r--r--app-emulation/kvm/files/qemu-configure.patch11
-rw-r--r--app-emulation/kvm/files/qemu-vl.c.patch11
-rw-r--r--app-emulation/kvm/files/scripts-qemu-ifup.patch26
19 files changed, 676 insertions, 171 deletions
diff --git a/app-emulation/kvm/files/digest-kvm-43 b/app-emulation/kvm/files/digest-kvm-43
deleted file mode 100644
index 2a3f718..0000000
--- a/app-emulation/kvm/files/digest-kvm-43
+++ /dev/null
@@ -1,3 +0,0 @@
-MD5 08d82f8b0f3aa35d0dd2c328ec33fa21 kvm-43.tar.gz 2569751
-RMD160 b1cd1ea3152a906415523f2d324d37eb001af63e kvm-43.tar.gz 2569751
-SHA256 964a28a95d71286d3ed87b66e6f598813456bf50aca284b7a50ed305772b3943 kvm-43.tar.gz 2569751
diff --git a/app-emulation/kvm/files/digest-kvm-44 b/app-emulation/kvm/files/digest-kvm-44
deleted file mode 100644
index 0ba89e0..0000000
--- a/app-emulation/kvm/files/digest-kvm-44
+++ /dev/null
@@ -1,3 +0,0 @@
-MD5 f6cbfa0c81e855a06980a7564d027483 kvm-44.tar.gz 2573175
-RMD160 a928b6776228b8fcec3ae16a7c3a47f246f9507e kvm-44.tar.gz 2573175
-SHA256 71b42db52230bc41d7830e5bf6e86d630cd9f1c58d47681402ddbc5663a1d2dc kvm-44.tar.gz 2573175
diff --git a/app-emulation/kvm/files/digest-kvm-45 b/app-emulation/kvm/files/digest-kvm-45
deleted file mode 100644
index bf9d925..0000000
--- a/app-emulation/kvm/files/digest-kvm-45
+++ /dev/null
@@ -1,3 +0,0 @@
-MD5 c68ea4f31ab9d4b98e2cbb497c31f62e kvm-45.tar.gz 3730962
-RMD160 527bd75539c964808054d2476a81d56d9546fcb9 kvm-45.tar.gz 3730962
-SHA256 248d3622abf116adf3cbad94844626e066a22a6a9da2ba4b79e4e1a78f674a42 kvm-45.tar.gz 3730962
diff --git a/app-emulation/kvm/files/digest-kvm-48 b/app-emulation/kvm/files/digest-kvm-48
new file mode 100644
index 0000000..c0cea5c
--- /dev/null
+++ b/app-emulation/kvm/files/digest-kvm-48
@@ -0,0 +1,3 @@
+MD5 96ed3af676a45f8f0c1d04ac9edcb734 kvm-48.tar.gz 3271268
+RMD160 cab2b7f99ebea323b903420abde223273ddd2536 kvm-48.tar.gz 3271268
+SHA256 04e410b82b2c6ab2ede4c483774ef11889f1b3ced8bb318c8134d9b2d77e0059 kvm-48.tar.gz 3271268
diff --git a/app-emulation/kvm/files/kvm-43-qemu-ifup.patch b/app-emulation/kvm/files/kvm-43-qemu-ifup.patch
new file mode 100644
index 0000000..dba3840
--- /dev/null
+++ b/app-emulation/kvm/files/kvm-43-qemu-ifup.patch
@@ -0,0 +1,23 @@
+--- kvm-43/scripts/qemu-ifup 2007-09-20 10:39:37.000000000 -0700
++++ kvm-43/scripts/qemu-ifup 2007-09-22 02:27:28.000000000 -0700
+@@ -1,5 +1,18 @@
+ #!/bin/sh
+
+-switch=$(/sbin/ip route list | awk '/^default / { print $NF }')
++if [ -x /sbin/brctl ]; then
++ BRCTL="/sbin/brctl"
++elif [ -x /usr/sbin/brctl ]; then
++ BRCTL="/usr/sbin/brctl"
++else
++ echo "no bridge utils installed"
++ exit 1
++fi
++
++if [ -x /sbin/ip ]; then
++ switch=$(/sbin/ip route list | awk '/^default / { print $NF }')
++else
++ switch=$(/bin/netstat -rn | awk '/^0\.0\.0\.0/ { print $NF }')
++fi
+ /sbin/ifconfig $1 0.0.0.0 up
+-/usr/sbin/brctl addif ${switch} $1
++${BRCTL} addif ${switch} $1
diff --git a/app-emulation/kvm/files/kvm-43-qemu-kvm-cmdline.patch b/app-emulation/kvm/files/kvm-43-qemu-kvm-cmdline.patch
new file mode 100644
index 0000000..942ec34
--- /dev/null
+++ b/app-emulation/kvm/files/kvm-43-qemu-kvm-cmdline.patch
@@ -0,0 +1,20 @@
+--- kvm-43/qemu/vl.c 2007-09-20 10:39:37.000000000 -0700
++++ kvm-43/qemu/vl.c 2007-09-22 02:09:17.000000000 -0700
+@@ -92,7 +92,7 @@
+ #include "qemu-kvm.h"
+ #endif
+
+-#define DEFAULT_NETWORK_SCRIPT "/etc/qemu-ifup"
++#define DEFAULT_NETWORK_SCRIPT "/etc/kvm/qemu-ifup"
+ #ifdef __sun__
+ #define SMBD_COMMAND "/usr/sfw/sbin/smbd"
+ #else
+@@ -6500,7 +6500,7 @@ void help(void)
+ "\n"
+ "When using -nographic, press 'ctrl-a h' to get some help.\n"
+ ,
+- "qemu",
++ "kvm",
+ DEFAULT_RAM_SIZE,
+ #ifndef _WIN32
+ DEFAULT_NETWORK_SCRIPT,
diff --git a/app-emulation/kvm/files/kvm-45-qemu-configure.patch b/app-emulation/kvm/files/kvm-45-qemu-configure.patch
new file mode 100644
index 0000000..fc88d23
--- /dev/null
+++ b/app-emulation/kvm/files/kvm-45-qemu-configure.patch
@@ -0,0 +1,13 @@
+--- kvm-45/qemu/configure.orig 2007-10-02 12:30:29.000000000 +0200
++++ kvm-45/qemu/configure 2007-10-02 12:31:09.000000000 +0200
+@@ -666,8 +666,8 @@
+ prefix="/usr/local"
+ fi
+ mansuffix="/share/man"
+- datasuffix="/share/qemu"
+- docsuffix="/share/doc/qemu"
++ datasuffix="/share/kvm"
++ docsuffix="/share/doc/kvm"
+ binsuffix="/bin"
+ fi
+
diff --git a/app-emulation/kvm/files/kvm-45-qemu-gcc4.patch b/app-emulation/kvm/files/kvm-45-qemu-gcc4.patch
new file mode 100644
index 0000000..4fb3594
--- /dev/null
+++ b/app-emulation/kvm/files/kvm-45-qemu-gcc4.patch
@@ -0,0 +1,30 @@
+--- kvm-45/qemu/vl.c 2007-10-02 01:36:33.000000000 -0700
++++ kvm-45/qemu/vl.c 2007-10-07 23:32:19.000000000 -0700
+@@ -8421,8 +8421,13 @@ int main(int argc, char **argv)
+ #endif
+ #ifdef USE_KVM
+ case QEMU_OPTION_no_kvm:
++#if __GNUC__ >= 4
++ fprintf(stderr, "Can't run without kvm if compiled with gcc4\n");
++ exit(1);
++#else
+ kvm_allowed = 0;
+ break;
++#endif
+ case QEMU_OPTION_no_kvm_irqchip:
+ kvm_irqchip = 0;
+ break;
+@@ -8552,8 +8557,13 @@ int main(int argc, char **argv)
+ #if USE_KVM
+ if (kvm_allowed) {
+ if (kvm_qemu_init() < 0) {
++#if __GNUC__ >= 4
++ fprintf(stderr, "Could not initialize KVM, can't run without kvm if compiled with gcc4\n");
++ exit(1);
++#else
+ fprintf(stderr, "Could not initialize KVM, will disable KVM support\n");
+ kvm_allowed = 0;
++#endif
+ }
+ }
+ #endif
diff --git a/app-emulation/kvm/files/kvm-45-qemu-kvm-doc.patch b/app-emulation/kvm/files/kvm-45-qemu-kvm-doc.patch
new file mode 100644
index 0000000..c34dea2
--- /dev/null
+++ b/app-emulation/kvm/files/kvm-45-qemu-kvm-doc.patch
@@ -0,0 +1,269 @@
+--- kvm-45/qemu/qemu-doc.texi 2007-10-02 01:36:33.000000000 -0700
++++ kvm-45/qemu/qemu-doc.texi 2007-10-06 22:12:49.000000000 -0700
+@@ -186,7 +186,7 @@
+ Download and uncompress the linux image (@file{linux.img}) and type:
+
+ @example
+-qemu linux.img
++kvm linux.img
+ @end example
+
+ Linux should boot and give you a prompt.
+@@ -196,7 +196,7 @@
+
+ @example
+ @c man begin SYNOPSIS
+-usage: qemu [options] [disk_image]
++usage: kvm [options] [disk_image]
+ @c man end
+ @end example
+
+@@ -255,10 +255,10 @@
+ available sound hardware.
+
+ @example
+-qemu -soundhw sb16,adlib hda
+-qemu -soundhw es1370 hda
+-qemu -soundhw all hda
+-qemu -soundhw ?
++kvm -soundhw sb16,adlib hda
++kvm -soundhw es1370 hda
++kvm -soundhw all hda
++kvm -soundhw ?
+ @end example
+
+ @item -localtime
+@@ -437,18 +437,18 @@
+ @item -net tap[,vlan=n][,fd=h][,ifname=name][,script=file]
+ Connect the host TAP network interface @var{name} to VLAN @var{n} and
+ use the network script @var{file} to configure it. The default
+-network script is @file{/etc/qemu-ifup}. Use @option{script=no} to
++network script is @file{/etc/kvm/qemu-ifup}. Use @option{script=no} to
+ disable script execution. If @var{name} is not
+ provided, the OS automatically provides one. @option{fd=h} can be
+ used to specify the handle of an already opened host TAP interface. Example:
+
+ @example
+-qemu linux.img -net nic -net tap
++kvm linux.img -net nic -net tap
+ @end example
+
+ More complicated example (two NICs, each one connected to a TAP device)
+ @example
+-qemu linux.img -net nic,vlan=0 -net tap,vlan=0,ifname=tap0 \
++kvm linux.img -net nic,vlan=0 -net tap,vlan=0,ifname=tap0 \
+ -net nic,vlan=1 -net tap,vlan=1,ifname=tap1
+ @end example
+
+@@ -465,11 +465,11 @@
+ Example:
+ @example
+ # launch a first QEMU instance
+-qemu linux.img -net nic,macaddr=52:54:00:12:34:56 \
++kvm linux.img -net nic,macaddr=52:54:00:12:34:56 \
+ -net socket,listen=:1234
+ # connect the VLAN 0 of this instance to the VLAN 0
+ # of the first instance
+-qemu linux.img -net nic,macaddr=52:54:00:12:34:57 \
++kvm linux.img -net nic,macaddr=52:54:00:12:34:57 \
+ -net socket,connect=127.0.0.1:1234
+ @end example
+
+@@ -493,13 +493,13 @@
+ Example:
+ @example
+ # launch one QEMU instance
+-qemu linux.img -net nic,macaddr=52:54:00:12:34:56 \
++kvm linux.img -net nic,macaddr=52:54:00:12:34:56 \
+ -net socket,mcast=230.0.0.1:1234
+ # launch another QEMU instance on same "bus"
+-qemu linux.img -net nic,macaddr=52:54:00:12:34:57 \
++kvm linux.img -net nic,macaddr=52:54:00:12:34:57 \
+ -net socket,mcast=230.0.0.1:1234
+ # launch yet another QEMU instance on same "bus"
+-qemu linux.img -net nic,macaddr=52:54:00:12:34:58 \
++kvm linux.img -net nic,macaddr=52:54:00:12:34:58 \
+ -net socket,mcast=230.0.0.1:1234
+ @end example
+
+@@ -507,7 +507,7 @@
+ @example
+ # launch QEMU instance (note mcast address selected
+ # is UML's default)
+-qemu linux.img -net nic,macaddr=52:54:00:12:34:56 \
++kvm linux.img -net nic,macaddr=52:54:00:12:34:56 \
+ -net socket,mcast=239.192.168.1:1102
+ # launch UML
+ /path/to/linux ubd0=/path/to/root_fs eth0=mcast
+@@ -532,7 +532,7 @@
+
+ Example (using pxelinux):
+ @example
+-qemu -hda linux.img -boot n -tftp /path/to/tftp/files -bootp /pxelinux.0
++kvm -hda linux.img -boot n -tftp /path/to/tftp/files -bootp /pxelinux.0
+ @end example
+
+ @item -smb dir
+@@ -566,7 +566,7 @@
+
+ @example
+ # on the host
+-qemu -redir tcp:6001::6000 [...]
++kvm -redir tcp:6001::6000 [...]
+ # this host xterm should open in the guest X11 server
+ xterm -display :1
+ @end example
+@@ -576,7 +576,7 @@
+
+ @example
+ # on the host
+-qemu -redir tcp:5555::23 [...]
++kvm -redir tcp:5555::23 [...]
+ telnet localhost 5555
+ @end example
+
+@@ -650,19 +650,19 @@
+ This implements UDP Net Console. When @var{remote_host} or @var{src_ip} are not specified they default to @code{0.0.0.0}. When not using a specified @var{src_port} a random port is automatically chosen.
+
+ If you just want a simple readonly console you can use @code{netcat} or
+-@code{nc}, by starting qemu with: @code{-serial udp::4555} and nc as:
+-@code{nc -u -l -p 4555}. Any time qemu writes something to that port it
++@code{nc}, by starting kvm with: @code{-serial udp::4555} and nc as:
++@code{nc -u -l -p 4555}. Any time kvm writes something to that port it
+ will appear in the netconsole session.
+
+ If you plan to send characters back via netconsole or you want to stop
+-and start qemu a lot of times, you should have qemu use the same
++and start kvm a lot of times, you should have kvm use the same
+ source port each time by using something like @code{-serial
+-udp::4555@@:4556} to qemu. Another approach is to use a patched
++udp::4555@@:4556} to kvm. Another approach is to use a patched
+ version of netcat which can listen to a TCP port and send and receive
+ characters via udp. If you have a patched version of netcat which
+ activates telnet remote echo and single char transfer, then you can
+ use the following options to step up a netcat redirector to allow
+-telnet on port 5555 to access the qemu port.
++telnet on port 5555 to access the kvm port.
+ @table @code
+ @item Qemu Options:
+ -serial udp::4555@@:4556
+@@ -1279,7 +1279,7 @@
+ directory tree. In order to use it, just type:
+
+ @example
+-qemu linux.img -hdb fat:/my_directory
++kvm linux.img -hdb fat:/my_directory
+ @end example
+
+ Then you access access to all the files in the @file{/my_directory}
+@@ -1289,14 +1289,14 @@
+ Floppies can be emulated with the @code{:floppy:} option:
+
+ @example
+-qemu linux.img -fda fat:floppy:/my_directory
++kvm linux.img -fda fat:floppy:/my_directory
+ @end example
+
+ A read/write support is available for testing (beta stage) with the
+ @code{:rw:} option:
+
+ @example
+-qemu linux.img -fda fat:floppy:rw:/my_directory
++kvm linux.img -fda fat:floppy:rw:/my_directory
+ @end example
+
+ What you should @emph{never} do:
+@@ -1334,7 +1334,7 @@
+ @subsubsection Linux host
+
+ As an example, you can download the @file{linux-test-xxx.tar.gz}
+-archive and copy the script @file{qemu-ifup} in @file{/etc} and
++archive and copy the script @file{qemu-ifup} in @file{/etc/kvm} and
+ configure properly @code{sudo} so that the command @code{ifconfig}
+ contained in @file{qemu-ifup} can be executed as root. You must verify
+ that your host kernel supports the TAP network interfaces: the
+@@ -1402,7 +1402,7 @@
+
+ The syntax is:
+ @example
+-qemu -kernel arch/i386/boot/bzImage -hda root-2.4.20.img -append "root=/dev/hda"
++kvm -kernel arch/i386/boot/bzImage -hda root-2.4.20.img -append "root=/dev/hda"
+ @end example
+
+ Use @option{-kernel} to provide the Linux kernel image and
+@@ -1417,7 +1417,7 @@
+ the virtual serial port and the QEMU monitor to the console with the
+ @option{-nographic} option. The typical command line is:
+ @example
+-qemu -kernel arch/i386/boot/bzImage -hda root-2.4.20.img \
++kvm -kernel arch/i386/boot/bzImage -hda root-2.4.20.img \
+ -append "root=/dev/hda console=ttyS0" -nographic
+ @end example
+
+@@ -1447,7 +1447,7 @@
+ Virtual Mouse. This will override the PS/2 mouse emulation when activated.
+ @item @code{tablet}
+ Pointer device that uses absolute coordinates (like a touchscreen).
+-This means qemu is able to report the mouse position without having
++This means kvm is able to report the mouse position without having
+ to grab the mouse. Also overrides the PS/2 mouse emulation when activated.
+ @item @code{disk:file}
+ Mass storage device based on @var{file} (@pxref{disk_images})
+@@ -1536,7 +1536,7 @@
+ socket only. For example
+
+ @example
+-qemu [...OPTIONS...] -vnc unix:/home/joebloggs/.qemu-myvm-vnc
++kvm [...OPTIONS...] -vnc unix:/home/joebloggs/.qemu-myvm-vnc
+ @end example
+
+ This ensures that only users on local box with read/write access to that
+@@ -1557,7 +1557,7 @@
+ the monitor is used to set the password all clients will be rejected.
+
+ @example
+-qemu [...OPTIONS...] -vnc :1,password -monitor stdio
++kvm [...OPTIONS...] -vnc :1,password -monitor stdio
+ (qemu) change vnc password
+ Password: ********
+ (qemu)
+@@ -1574,7 +1574,7 @@
+ client to connect, and provides an encrypted session.
+
+ @example
+-qemu [...OPTIONS...] -vnc :1,tls,x509=/etc/pki/qemu -monitor stdio
++kvm [...OPTIONS...] -vnc :1,tls,x509=/etc/pki/qemu -monitor stdio
+ @end example
+
+ In the above example @code{/etc/pki/qemu} should contain at least three files,
+@@ -1592,7 +1592,7 @@
+ in an environment with a private internal certificate authority.
+
+ @example
+-qemu [...OPTIONS...] -vnc :1,tls,x509verify=/etc/pki/qemu -monitor stdio
++kvm [...OPTIONS...] -vnc :1,tls,x509verify=/etc/pki/qemu -monitor stdio
+ @end example
+
+
+@@ -1603,7 +1603,7 @@
+ to provide two layers of authentication for clients.
+
+ @example
+-qemu [...OPTIONS...] -vnc :1,password,tls,x509verify=/etc/pki/qemu -monitor stdio
++kvm [...OPTIONS...] -vnc :1,password,tls,x509verify=/etc/pki/qemu -monitor stdio
+ (qemu) change vnc password
+ Password: ********
+ (qemu)
+@@ -1726,10 +1726,10 @@
+ QEMU has a primitive support to work with gdb, so that you can do
+ 'Ctrl-C' while the virtual machine is running and inspect its state.
+
+-In order to use gdb, launch qemu with the '-s' option. It will wait for a
++In order to use gdb, launch kvm with the '-s' option. It will wait for a
+ gdb connection:
+ @example
+-> qemu -s -kernel arch/i386/boot/bzImage -hda root-2.4.20.img \
++> kvm -s -kernel arch/i386/boot/bzImage -hda root-2.4.20.img \
+ -append "root=/dev/hda"
+ Connected to host network interface: tun0
+ Waiting gdb connection on port 1234
diff --git a/app-emulation/kvm/files/kvm-45-qemu-kvm.patch b/app-emulation/kvm/files/kvm-45-qemu-kvm.patch
new file mode 100644
index 0000000..526db7b
--- /dev/null
+++ b/app-emulation/kvm/files/kvm-45-qemu-kvm.patch
@@ -0,0 +1,15 @@
+--- kvm-45/qemu/Makefile.target 2007-10-02 01:36:33.000000000 -0700
++++ kvm-45/qemu/Makefile.target 2007-10-06 23:02:18.000000000 -0700
+@@ -70,11 +70,7 @@
+ QEMU_USER=qemu-$(TARGET_ARCH2)
+ # system emulator name
+ ifdef CONFIG_SOFTMMU
+-ifeq ($(TARGET_ARCH), i386)
+-QEMU_SYSTEM=qemu$(EXESUF)
+-else
+-QEMU_SYSTEM=qemu-system-$(TARGET_ARCH2)$(EXESUF)
+-endif
++QEMU_SYSTEM=kvm$(EXESUF)
+ else
+ QEMU_SYSTEM=qemu-fast
+ endif
diff --git a/app-emulation/kvm/files/kvm-45-qemu-no-img.patch b/app-emulation/kvm/files/kvm-45-qemu-no-img.patch
new file mode 100644
index 0000000..2bbc692
--- /dev/null
+++ b/app-emulation/kvm/files/kvm-45-qemu-no-img.patch
@@ -0,0 +1,78 @@
+--- kvm-45/qemu/Makefile 2007-10-02 01:36:33.000000000 -0700
++++ kvm-45/qemu/Makefile 2007-10-07 01:37:38.000000000 -0700
+@@ -17,30 +17,27 @@
+ BASE_LDFLAGS += -static
+ endif
+ ifdef BUILD_DOCS
+-DOCS=qemu-doc.html qemu-tech.html qemu.1 qemu-img.1
++DOCS=qemu-doc.html qemu-tech.html qemu.1
+ else
+ DOCS=
+ endif
+
+ LIBS+=$(AIOLIBS)
+
+-all: $(TOOLS) $(DOCS) recurse-all
++all: $(DOCS) recurse-all
+
+ subdir-%: dyngen$(EXESUF)
+ $(MAKE) -C $(subst subdir-,,$@) all
+
+ recurse-all: $(patsubst %,subdir-%, $(TARGET_DIRS))
+
+-qemu-img$(EXESUF): qemu-img.c cutils.c block.c block-raw.c block-cow.c block-qcow.c aes.c block-vmdk.c block-cloop.c block-dmg.c block-bochs.c block-vpc.c block-vvfat.c block-qcow2.c block-parallels.c
+- $(CC) -DQEMU_TOOL $(CFLAGS) $(CPPFLAGS) $(BASE_CFLAGS) $(LDFLAGS) $(BASE_LDFLAGS) -o $@ $^ -lz $(LIBS)
+-
+ dyngen$(EXESUF): dyngen.c
+ $(HOST_CC) $(CFLAGS) $(CPPFLAGS) $(BASE_CFLAGS) -o $@ $^
+
+ clean:
+ # avoid old build problems by removing potentially incorrect old files
+ rm -f config.mak config.h op-i386.h opc-i386.h gen-op-i386.h op-arm.h opc-arm.h gen-op-arm.h
+- rm -f *.o *.a $(TOOLS) dyngen$(EXESUF) TAGS cscope.* *.pod *~ */*~
++ rm -f *.o *.a dyngen$(EXESUF) TAGS cscope.* *.pod *~ */*~
+ $(MAKE) -C tests clean
+ for d in $(TARGET_DIRS); do \
+ $(MAKE) -C $$d $@ || exit 1 ; \
+@@ -62,12 +59,11 @@
+ $(INSTALL) -m 644 qemu-doc.html qemu-tech.html "$(DESTDIR)$(docdir)"
+ ifndef CONFIG_WIN32
+ mkdir -p "$(DESTDIR)$(mandir)/man1"
+- $(INSTALL) qemu.1 qemu-img.1 "$(DESTDIR)$(mandir)/man1"
++ $(INSTALL) qemu.1 "$(DESTDIR)$(mandir)/man1"
+ endif
+
+ install: all $(if $(BUILD_DOCS),install-doc)
+ mkdir -p "$(DESTDIR)$(bindir)"
+- $(INSTALL) -m 755 $(TOOLS) "$(DESTDIR)$(bindir)"
+ mkdir -p "$(DESTDIR)$(datadir)"
+ for x in bios.bin vgabios.bin vgabios-cirrus.bin ppc_rom.bin \
+ video.x openbios-sparc32 pxe-ne2k_pci.bin \
+@@ -110,10 +106,6 @@
+ $(SRC_PATH)/texi2pod.pl $< qemu.pod
+ pod2man --section=1 --center=" " --release=" " qemu.pod > $@
+
+-qemu-img.1: qemu-img.texi
+- $(SRC_PATH)/texi2pod.pl $< qemu-img.pod
+- pod2man --section=1 --center=" " --release=" " qemu-img.pod > $@
+-
+ info: qemu-doc.info qemu-tech.info
+
+ dvi: qemu-doc.dvi qemu-tech.dvi
+@@ -161,7 +153,6 @@
+ $(bindir)/qemu-alpha \
+ $(bindir)/qemu-m68k \
+ $(bindir)/qemu-sh4 \
+- $(bindir)/qemu-img \
+ $(datadir)/bios.bin \
+ $(datadir)/vgabios.bin \
+ $(datadir)/vgabios-cirrus.bin \
+@@ -173,7 +164,7 @@
+ $(datadir)/pxe-pcnet.bin \
+ $(docdir)/qemu-doc.html \
+ $(docdir)/qemu-tech.html \
+- $(mandir)/man1/qemu.1 $(mandir)/man1/qemu-img.1 )
++ $(mandir)/man1/qemu.1 )
+
+ ifneq ($(wildcard .depend),)
+ include .depend
diff --git a/app-emulation/kvm/files/kvm-45-user-no-kernel.patch b/app-emulation/kvm/files/kvm-45-user-no-kernel.patch
new file mode 100644
index 0000000..efb77b9
--- /dev/null
+++ b/app-emulation/kvm/files/kvm-45-user-no-kernel.patch
@@ -0,0 +1,13 @@
+--- kvm-45/user/Makefile 2007-10-02 01:36:33.000000000 -0700
++++ kvm-45/work/kvm-45/user/Makefile 2007-10-06 22:52:44.000000000 -0700
+@@ -53,10 +53,6 @@
+
+ install:
+ install -D kvmctl.h $(DESTDIR)/$(PREFIX)/include/kvmctl.h
+- install -D $(KERNELDIR)/include/linux/kvm.h \
+- $(DESTDIR)/$(PREFIX)/include/linux/kvm.h
+- install -D $(KERNELDIR)/include/linux/kvm_para.h \
+- $(DESTDIR)/$(PREFIX)/include/linux/kvm_para.h
+ install -D libkvm.a $(DESTDIR)/$(PREFIX)/$(LIBDIR)/libkvm.a
+
+ %.flat: %.o
diff --git a/app-emulation/kvm/files/kvm-47-configure-qemu.patch b/app-emulation/kvm/files/kvm-47-configure-qemu.patch
new file mode 100644
index 0000000..2ffbb99
--- /dev/null
+++ b/app-emulation/kvm/files/kvm-47-configure-qemu.patch
@@ -0,0 +1,66 @@
+--- kvm-47/configure 2007-10-18 02:58:26.000000000 -0700
++++ kvm-47/configure 2007-10-18 11:13:31.000000000 -0700
+@@ -6,9 +6,7 @@
+ qemu_cc=
+ qemu_cflags=
+ qemu_ldflags=
+-enable_alsa=
+-disable_vnc_tls=
+-disable_gcc_check=
++qemu_conf=
+ cross_prefix=
+ arch=`uname -m`
+ target_exec=
+@@ -26,8 +24,10 @@
+ --qemu-cc=CC specify compiler for qemu (must be gcc-3.x)
+ --qemu-cflags=CFLAGS CFLAGS to add to qemu configuration
+ --qemu-ldflags=LDFLAGS LDFLAGS to add to qemu configuration
+- --enable-alsa enable alsa support for qemu
+- --disable-vnc-tls disable vnc tls support for qemu
++
++ All additional options are given to qemu, that include:
++ --enable-alsa enable alsa support
++ --disable-vnc-tls disable vnc tls support
+ --disable-gcc-check don't insist on gcc-3.x
+ CAUTION: this will break running without kvm
+ EOF
+@@ -60,15 +60,6 @@
+ --qemu-ldflags)
+ qemu_ldflags="$arg"
+ ;;
+- --enable-alsa)
+- enable_alsa=1
+- ;;
+- --disable-vnc-tls)
+- disable_vnc_tls=1
+- ;;
+- --disable-gcc-check)
+- disable_gcc_check=1
+- ;;
+ --arch)
+ arch="$arg"
+ ;;
+@@ -79,7 +70,7 @@
+ usage
+ ;;
+ *)
+- usage
++ qemu_conf="$qemu_conf $opt"
+ ;;
+ esac
+ done
+@@ -111,13 +102,10 @@
+ --disable-kqemu --extra-cflags="-I $PWD/../user $qemu_cflags" \
+ --extra-ldflags="-L $PWD/../user $qemu_ldflags" \
+ --enable-kvm --kernel-path="$libkvm_kerneldir" \
+- ${enable_alsa:+"--enable-alsa"} \
+- ${disable_vnc_tls:+"--disable-vnc-tls"} \
+- ${disable_gcc_check:+"--disable-gcc-check"} \
+ --prefix="$prefix" \
+ ${qemu_cc:+"--cc=$qemu_cc"} \
+ ${cross_prefix:+"--cross-prefix=$cross_prefix"} \
+- ${cross_prefix:+"--cpu=$arch"}
++ ${cross_prefix:+"--cpu=$arch"} $qemu_conf
+ )
+
+
diff --git a/app-emulation/kvm/files/kvm-47-qemu-gcc3.patch b/app-emulation/kvm/files/kvm-47-qemu-gcc3.patch
new file mode 100644
index 0000000..311fcc7
--- /dev/null
+++ b/app-emulation/kvm/files/kvm-47-qemu-gcc3.patch
@@ -0,0 +1,12 @@
+--- kvm-47/qemu/configure 2007-10-18 02:58:26.000000000 -0700
++++ kvm-47/qemu/configure 2007-10-18 09:16:21.000000000 -0700
+@@ -23,7 +23,7 @@
+ cross_prefix=""
+ cc="gcc"
+ gcc3_search="yes"
+-gcc3_list="gcc-3.4 gcc34 gcc-3.3.6 gcc-3.3 gcc33 gcc-3.2 gcc32"
++gcc3_list="gcc-3.4.6 gcc-3.4 gcc34 gcc-3.3.6 gcc-3.3 gcc33 gcc-3.2 gcc32"
+ host_cc="gcc"
+ ar="ar"
+ make="make"
+
diff --git a/app-emulation/kvm/files/kvm-48-kvm.patch b/app-emulation/kvm/files/kvm-48-kvm.patch
new file mode 100644
index 0000000..7a2006a
--- /dev/null
+++ b/app-emulation/kvm/files/kvm-48-kvm.patch
@@ -0,0 +1,134 @@
+--- kvm-48/kvm 2007-10-18 02:58:26.000000000 -0700
++++ kvm-48/kvm 2007-10-18 11:58:57.000000000 -0700
+@@ -15,9 +15,11 @@
+ self.readfp(file, filename)
+
+ config = ShellConfigParser()
+-config.read('config.mak')
++config.read('/etc/kvm/config.mak')
+
+ external_module = config.get('shell', 'want_module')
++prefix = config.get('shell', 'prefix')
++kerneldir = config.get('shell', 'kerneldir').replace('build', 'misc')
+ privileged = os.getuid() == 0
+
+ optparser = optparse.OptionParser()
+@@ -55,6 +57,12 @@
+ default = not privileged,
+ )
+
++optparser.add_option('--bridge',
++ help = 'use this device to build the bridge',
++ dest = 'bridge',
++ default = None,
++ )
++
+ optparser.add_option('--mac',
+ help = 'use this specific mac addr',
+ dest = 'mac',
+@@ -73,11 +81,19 @@
+ dest = 'kvm',
+ default = True,
+ )
++
++optparser.add_option('--imagesize',
++ help = 'use this size for the image',
++ dest = 'imagesize',
++ default = '30G',
++ )
++
+ optparser.add_option('--image',
+ help = 'select disk image',
+ dest = 'image',
+ default = '/tmp/disk',
+ )
++
+ optparser.add_option('--cdrom',
+ help = 'select cdrom image',
+ dest = 'cdrom',
+@@ -119,7 +135,7 @@
+ action = 'store_false',
+ default = True,
+ dest = 'irqchip',
+- help = 'avoid using in-kernel irqchip',
++ help = 'disable KVM kernel mode PIC/IOAPIC/LAPIC',
+ )
+
+ optparser.add_option('-n', '--dry-run',
+@@ -148,7 +164,7 @@
+
+ def insert_module(module):
+ if os.spawnl(os.P_WAIT, '/sbin/insmod', 'insmod',
+- 'kernel/%s.ko' % (module,)) != 0:
++ kerneldir + '/%s.ko' % (module,)) != 0:
+ raise Exception('failed to load kvm module')
+
+ def probe_module(module):
+@@ -181,9 +197,10 @@
+ print '/dev/kvm not present'
+
+ disk = options.image
++disksize = options.imagesize
+ if options.install:
+- (status, output) = commands.getstatusoutput(
+- 'qemu/qemu-img create -f qcow2 "%s" 30G' % disk)
++ cmd = 'qemu-img create -f qcow2 "' + disk + '" ' + disksize
++ (status, output) = commands.getstatusoutput(cmd)
+ if status:
+ raise Exception, output
+
+@@ -191,14 +208,11 @@
+ if options.install:
+ bootdisk = 'd'
+
++# kvm always compiles for the x86_64 target
+ arch = 'x86_64'
++cmd = 'kvm'
+
+-if arch == 'x86_64':
+- cmd = 'qemu-system-' + arch
+-else:
+- cmd = 'qemu'
+-
+-local_cmd = 'qemu/' + arch + '-softmmu/' + cmd
++local_cmd = prefix + '/bin/' + cmd
+ if os.access(local_cmd, os.F_OK):
+ cmd = local_cmd
+ else:
+@@ -226,15 +240,31 @@
+ if not options.irqchip:
+ qemu_args += ('-no-kvm-irqchip',)
+
++def getmac(interface):
++ if os.access('/sbin/ip', os.F_OK):
++ for line in commands.getoutput('/sbin/ip link show ' + interface).splitlines():
++ m = re.match(r'.*link/ether (..:..:..:..:..:..).*', line)
++ if m:
++ mac = m.group(1)
++ return mac
++ else:
++ for line in commands.getoutput('/sbin/ifconfig ' + interface).splitlines():
++ m = re.match(r'.*HWaddr (..:..:..:..:..:..)', line)
++ if m:
++ mac = m.group(1)
++ return mac
++ return False
++
+ if not options.notap:
++ bridge = options.bridge
++ if not bridge:
++ bridge = 'eth0'
++
+ mac = options.mac
+ if not mac:
+- for line in commands.getoutput('/sbin/ip link show eth0').splitlines():
+- m = re.match(r'.*link/ether (..:..:..:..:..:..).*', line)
+- if m:
+- mac = m.group(1)
++ mac = getmac(bridge)
+ if not mac:
+- raise Exception, 'Unable to determine eth0 mac address'
++ raise Exception, 'Unable to determine ' + bridge + ' mac address'
+ mac_components = mac.split(':')
+ mac_components[0] = 'a0'
+ mac = ':'.join(mac_components)
diff --git a/app-emulation/kvm/files/kvm-kvm.patch b/app-emulation/kvm/files/kvm-kvm.patch
deleted file mode 100644
index 1fd8420..0000000
--- a/app-emulation/kvm/files/kvm-kvm.patch
+++ /dev/null
@@ -1,114 +0,0 @@
---- kvm.orig 2007-07-25 09:22:14.042411511 -0500
-+++ kvm 2007-07-25 09:24:54.087531962 -0500
-@@ -17,18 +17,10 @@
- config = ShellConfigParser()
- config.read('config.mak')
-
--external_module = config.get('shell', 'want_module')
- privileged = os.getuid() == 0
-
- optparser = optparse.OptionParser()
-
--optparser.add_option('--no-reload-module',
-- help = 'do not reload kvm module',
-- action = 'store_false',
-- dest = 'reload',
-- default = privileged,
-- )
--
- optparser.add_option('--install',
- help = 'start up guest in installer boot cd',
- action = 'store_true',
-@@ -67,12 +59,6 @@
- default = None,
- )
-
--optparser.add_option('--no-kvm',
-- help = 'use standard qemu, without kvm',
-- action = 'store_false',
-- dest = 'kvm',
-- default = True,
-- )
- optparser.add_option('--image',
- help = 'select disk image',
- dest = 'image',
-@@ -124,52 +110,14 @@
- if len(args) > 1:
- options.cdrom = args[1]
-
--def remove_module(module):
-- module = module.replace('-', '_')
-- lines = commands.getoutput('/sbin/lsmod').split('\n')
-- for x in lines:
-- if x.startswith(module + ' '):
-- if os.spawnl(os.P_WAIT, '/sbin/rmmod', 'rmmod', module) != 0:
-- raise Exception('failed to remove %s module' % (module,))
--
--def insert_module(module):
-- if os.spawnl(os.P_WAIT, '/sbin/insmod', 'insmod',
-- 'kernel/%s.ko' % (module,)) != 0:
-- raise Exception('failed to load kvm module')
--
--def probe_module(module):
-- if os.spawnl(os.P_WAIT, '/sbin/modprobe', 'modprobe', module) != 0:
-- raise Exception('failed to load kvm module')
--
--def vendor():
-- for x in file('/proc/cpuinfo').readlines():
-- m = re.match(r'vendor_id[ \t]*: *([a-zA-Z]+),*', x)
-- if m:
-- return m.group(1)
-- return unknown
--
--vendor_module = {
-- 'GenuineIntel': 'kvm-intel',
-- 'AuthenticAMD': 'kvm-amd',
-- }[vendor()]
--
--if options.kvm and options.reload:
-- for module in [vendor_module, 'kvm']:
-- remove_module(module)
-- if external_module:
-- insmod = insert_module
-- else:
-- insmod = probe_module
-- for module in ['kvm', vendor_module]:
-- insmod(module)
-- commands.getstatusoutput('/sbin/udevsettle')
-- if not os.access('/dev/kvm', os.F_OK):
-- print '/dev/kvm not present'
-+commands.getstatusoutput('/sbin/udevsettle')
-+if not os.access('/dev/kvm', os.F_OK):
-+ print '/dev/kvm not present'
-
- disk = options.image
- if options.install:
- (status, output) = commands.getstatusoutput(
-- 'qemu/qemu-img create -f qcow2 "%s" 10G' % disk)
-+ 'qemu-img create -f qcow2 "%s" 10G' % disk)
- if status:
- raise Exception, output
-
-@@ -184,12 +132,6 @@
- else:
- cmd = 'qemu'
-
--local_cmd = 'qemu/' + arch + '-softmmu/' + cmd
--if os.access(local_cmd, os.F_OK):
-- cmd = local_cmd
--else:
-- cmd = '/usr/bin/kvm'
--
- qemu_args = (cmd, '-boot', bootdisk,
- '-hda', disk, '-m', str(options.memory),
- '-serial', 'file:/tmp/serial.log',
-@@ -200,9 +142,6 @@
- if options.cdrom:
- qemu_args += ('-cdrom', options.cdrom,)
-
--if not options.kvm:
-- qemu_args += ('-no-kvm',)
--
- if options.debugger:
- qemu_args += ('-s',)
-
diff --git a/app-emulation/kvm/files/qemu-configure.patch b/app-emulation/kvm/files/qemu-configure.patch
deleted file mode 100644
index d4d80c9..0000000
--- a/app-emulation/kvm/files/qemu-configure.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- qemu/configure.orig 2007-07-25 09:08:58.429072090 -0500
-+++ qemu/configure 2007-07-25 09:09:31.710968717 -0500
-@@ -584,7 +584,7 @@
- prefix="/usr/local"
- fi
- mandir="$prefix/share/man"
--datadir="$prefix/share/qemu"
-+datadir="$prefix/share/kvm"
- docdir="$prefix/share/doc/qemu"
- bindir="$prefix/bin"
- fi
diff --git a/app-emulation/kvm/files/qemu-vl.c.patch b/app-emulation/kvm/files/qemu-vl.c.patch
deleted file mode 100644
index 0fc7ec2..0000000
--- a/app-emulation/kvm/files/qemu-vl.c.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- qemu/vl.c.orig 2007-04-22 07:40:44.000000000 +0200
-+++ qemu/vl.c 2007-04-22 07:43:27.000000000 +0200
-@@ -92,7 +92,7 @@
- #include "qemu-kvm.h"
- #endif
-
--#define DEFAULT_NETWORK_SCRIPT "/etc/qemu-ifup"
-+#define DEFAULT_NETWORK_SCRIPT "/etc/kvm/qemu-ifup"
- #ifdef __sun__
- #define SMBD_COMMAND "/usr/sfw/sbin/smbd"
- #else
diff --git a/app-emulation/kvm/files/scripts-qemu-ifup.patch b/app-emulation/kvm/files/scripts-qemu-ifup.patch
deleted file mode 100644
index cd9a16f..0000000
--- a/app-emulation/kvm/files/scripts-qemu-ifup.patch
+++ /dev/null
@@ -1,26 +0,0 @@
---- scripts/qemu-ifup.orig 2007-04-28 12:43:42.514362441 -0500
-+++ scripts/qemu-ifup 2007-04-28 14:30:36.507875100 -0500
-@@ -1,5 +1,19 @@
- #!/bin/sh
--
--switch=$(/sbin/ip route list | awk '/^default / { print $NF }')
--/sbin/ifconfig $1 0.0.0.0 up
--/usr/sbin/brctl addif ${switch} $1
-+cmd=""
-+if [ "$EUID" != 0 ]; then
-+ if [ -x "/usr/bin/sudo" ]; then
-+ cmd="/usr/bin/sudo "
-+ else
-+ echo "You must have sudo or root privileges to bring up a network interface"
-+ exit 0
-+ fi
-+fi
-+echo "Bringing up interface $1"
-+switch=$(/sbin/ip route list | awk '/^default / { print $5 }')
-+if [[ $(/sbin/ifconfig | grep -c $1) -gt 0 ]]; then
-+ ${cmd}/sbin/brctl delif ${switch} $1
-+ ${cmd}/sbin/ifconfig $1 down
-+fi
-+${cmd}/usr/bin/tunctl -u $(/usr/bin/whoami) -t $1
-+${cmd}/sbin/ifconfig $1 0.0.0.0 promisc up
-+${cmd}/sbin/brctl addif ${switch} $1