diff options
author | Avi Kivity <avi@qumranet.com> | 2006-11-21 10:19:06 +0000 |
---|---|---|
committer | Avi Kivity <avi@qumranet.com> | 2006-11-21 10:19:06 +0000 |
commit | 36a87c3a00d25f8ec19062d598564dca7ff20504 (patch) | |
tree | 8a893de1b658287541b088d875a2cdf58adf7edd | |
parent | 1fee06fa1dd0477d3823e7ac0c846ec639c7d768 (diff) |
kvm: merge minor changes from trunk
-rw-r--r-- | hw/usb-hid.c | 4 | ||||
-rw-r--r-- | kvm/Makefile | 34 | ||||
-rw-r--r-- | kvm/kernel/Makefile | 12 | ||||
-rwxr-xr-x | kvm/kvm | 8 | ||||
-rw-r--r-- | kvm/kvm.spec | 59 | ||||
-rw-r--r-- | kvm/user/Makefile | 7 |
6 files changed, 109 insertions, 15 deletions
diff --git a/hw/usb-hid.c b/hw/usb-hid.c index 8fc0b744b..327d2a923 100644 --- a/hw/usb-hid.c +++ b/hw/usb-hid.c @@ -169,7 +169,9 @@ static const uint8_t qemu_tablet_config_descriptor[] = { 0x81, /* u8 ep_bEndpointAddress; IN Endpoint 1 */ 0x03, /* u8 ep_bmAttributes; Interrupt */ 0x08, 0x00, /* u16 ep_wMaxPacketSize; */ - 0x03, /* u8 ep_bInterval; (255ms -- usb 2.0 spec) */ + /* Temporarily increase usb polling interval to prevent cpu + * saturation (3 ms is way too often for kvm) */ + 0x33, /* u8 ep_bInterval; (255ms -- usb 2.0 spec) */ }; static const uint8_t qemu_mouse_hid_report_descriptor[] = { diff --git a/kvm/Makefile b/kvm/Makefile index 9209f4c7b..07a1111b9 100644 --- a/kvm/Makefile +++ b/kvm/Makefile @@ -5,7 +5,7 @@ DESTDIR= rpmrelease = devel -.PHONY: kernel user qemu +.PHONY: kernel user qemu clean all: $(if $(WANT_MODULE), kernel) user qemu @@ -14,6 +14,27 @@ qemu kernel user: qemu: user +clean: + @for d in kernel user qemu; do \ + $(MAKE) -C $$d $@; \ + done + +bindir = /usr/bin +bin = $(bindir)/kvm +initdir = /etc/init.d +confdir = /etc/kvm +utilsdir = /etc/kvm/utils + +install-rpm: + mkdir -p $(DESTDIR)/$(bindir) + mkdir -p $(DESTDIR)/$(confdir) + mkdir -p $(DESTDIR)/$(initdir) + mkdir -p $(DESTDIR)/$(utilsdir) + cp qemu/x86_64-softmmu/qemu-system-x86_64 $(DESTDIR)/$(bin) + cp scripts/kvm $(DESTDIR)/$(initdir)/kvm + cp scripts/qemu-ifup $(DESTDIR)/$(confdir)/qemu-ifup + cp kvm $(DESTDIR)/$(utilsdir)/kvm + install: make -C user DESTDIR="$(DESTDIR)" install make -C qemu DESTDIR="$(DESTDIR)" install @@ -26,8 +47,19 @@ rpm: user qemu rpmbuild --define="kverrel $$(uname -r)" \ --define="objdir $$(pwd)" \ --define="_topdir $$(pwd)" \ + --define="prebuilt 1" \ -bb $(tmpspec) +srpm: + mkdir -p SOURCES SRPMS + sed 's/^Release:.*/Release: $(rpmrelease)/' kvm.spec > $(tmpspec) + tar czf SOURCES/kvm.tar.gz qemu + tar czf SOURCES/user.tar.gz user + tar czf SOURCES/kernel.tar.gz kernel + tar czf SOURCES/scripts.tar.gz scripts + cp Makefile SOURCES + rpmbuild --define="_topdir $$(pwd)" -bs $(tmpspec) + clean: for i in $(if $(WANT_MODULE), kernel) user qemu; do \ make -C $$i clean; \ diff --git a/kvm/kernel/Makefile b/kvm/kernel/Makefile index e5183307d..1f2d19296 100644 --- a/kvm/kernel/Makefile +++ b/kvm/kernel/Makefile @@ -1,4 +1,5 @@ -KERNELDIR := /lib/modules/`uname -r`/build +KERNELDIR := /lib/modules/$(shell uname -r)/build +KVERREL = $(patsubst /lib/modules/%/build,%,$(KERNELDIR)) rpmrelease = devel @@ -10,11 +11,14 @@ tmpspec = .tmp.kvm-kmod.spec rpm: all mkdir -p ../BUILD ../RPMS/$$(uname -m) sed 's/^Release:.*/Release: $(rpmrelease)/' kvm-kmod.spec > $(tmpspec) - rpmbuild --define="kverrel $$(uname -r)" \ + rpmbuild --define="kverrel $(KVERREL)" \ --define="objdir $$(pwd)" \ --define="_topdir $$(pwd)/.." \ -bb $(tmpspec) clean: - $(MAKE) -C $(KERNELDIR) M=`pwd` clean - rm -f Module.symvers
\ No newline at end of file + $(MAKE) -C $(KERNELDIR) M=`pwd` $@ + +svnclean: + svn st | grep '^\?' | awk '{print $2}' | xargs rm -rf + @@ -53,6 +53,11 @@ optparser.add_option('--cdrom', dest = 'cdrom', default = '/data/mirror/fedora/core/5/x86_64/os/images/boot.iso', ) +optparser.add_option('--loadvm', + help = 'select saved vm-image', + dest = 'saved_image', + default = '', + ) (options, args) = optparser.parse_args(sys.argv) @@ -118,6 +123,9 @@ if not options.notap: if options.vnc is not None: qemu_args += ('-vnc', str(options.vnc)) +if options.saved_image != '': + qemu_args += ('-loadvm' , options.saved_image, ) + def concat_func(x,y): return x + ' ' + y print 'Running %s' % reduce(concat_func, qemu_args) diff --git a/kvm/kvm.spec b/kvm/kvm.spec index 7caf48e20..bc6745936 100644 --- a/kvm/kvm.spec +++ b/kvm/kvm.spec @@ -10,8 +10,27 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release} ExclusiveArch: i386 x86_64 -Requires: qemu kvm-kmod -BuildRequires: SDL-devel zlib-devel compat-gcc-32 +Requires: qemu kvm-kmod bridge-utils + +%define fedora_release %(rpm -q --qf '%%{version}' fedora-release) + +%if %{fedora_release} == 5 +BuildRequires: compat-gcc-32 +%else +BuildRequires: compat-gcc-34 +%endif + +BuildRequires: SDL-devel zlib-devel + +%define _prebuilt %{?prebuilt:1}%{!?prebuilt:0} + +%if !%{_prebuilt} +Source0: kvm.tar.gz +Source1: user.tar.gz +Source2: kernel.tar.gz +Source3: scripts.tar.gz +Source4: Makefile +%endif %description The Kernel Virtual Machine provides a virtualization enviroment for processors @@ -19,20 +38,46 @@ with hardware support for virtualization: Intel's VT and AMD's AMD-V. %prep +%if !%{_prebuilt} +%setup -T -b 0 -n qemu +%setup -T -b 1 -n user -D +%setup -T -b 2 -n kernel -D +%setup -T -b 3 -n scripts -D +cd .. +cp %{_sourcedir}/Makefile . +%endif + %build rm -rf %{buildroot} +%if !%{_prebuilt} +cd .. +make -C user +(cd qemu; ./kvm-configure) +make -C qemu +%endif + %install +%if !%{_prebuilt} +cd .. +%else +cd %{objdir} +%endif + +make DESTDIR=%{buildroot} install-rpm + %define bindir /usr/bin %define bin %{bindir}/kvm -mkdir -p %{buildroot}/%{bindir} -cp %{objdir}/qemu/x86_64-softmmu/qemu-system-x86_64 %{buildroot}/%{bin} +%define initdir /etc/init.d +%define confdir /etc/kvm +%define utilsdir /etc/kvm/utils %post - depmod %{kverrel} +/sbin/chkconfig --level 2345 kvm on +/sbin/chkconfig --level 16 kvm off %postun @@ -42,5 +87,7 @@ depmod %{kverrel} %files /usr/bin/kvm - +%{confdir}/qemu-ifup +%{initdir}/kvm +%{utilsdir}/kvm %changelog diff --git a/kvm/user/Makefile b/kvm/user/Makefile index 2327bdc8a..885e0f55c 100644 --- a/kvm/user/Makefile +++ b/kvm/user/Makefile @@ -45,7 +45,8 @@ test/sieve.flat: test/cstart64.o test/sieve.o test/print.o test/vm.o test/test32.flat: test/test32.o -clean: - rm -f kvmctl *.o *.a test/*.o test/*.flat test/bootstrap .*.d - -include .*.d + +clean: + $(RM) kvmctl *.o *.a .*.d + $(RM) test/bootstrap test/*.o test/*.flat test/.*.d |