aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAvi Kivity <avi@qumranet.com>2006-12-12 13:59:56 +0000
committerAvi Kivity <avi@qumranet.com>2006-12-12 13:59:56 +0000
commitb2649695b294a770e3114122ef7716de1af71ad2 (patch)
treea56d82870a8aeae3c8312e57e8123029fad73206
parentc0f8d356192436b4960ba984a30c73d42ba7a485 (diff)
kvm: release: merge from trunk
........ r4074 | avi | 2006-12-12 12:52:40 +0200 (Tue, 12 Dec 2006) | 4 lines kvm: don't touch the virtual apic vt registers on 32-bit From: Michael Riepe <michael@mr511.de> ........ r4075 | avi | 2006-12-12 13:03:48 +0200 (Tue, 12 Dec 2006) | 2 lines kvm: web: add small scale todo list ........ r4076 | avi | 2006-12-12 13:37:54 +0200 (Tue, 12 Dec 2006) | 5 lines kvm: run script: allow passing image as positional argument as in ./kvm /images/fc5.img ........ r4077 | avi | 2006-12-12 14:54:19 +0200 (Tue, 12 Dec 2006) | 4 lines kvm: create /lib/modules/<kver>/extra directory resolves sf bug 1613577 ........ r4078 | dor | 2006-12-12 15:07:48 +0200 (Tue, 12 Dec 2006) | 2 lines Add %clean content to the rpm so it won't leave marks in the /var/tmp dir ........ r4080 | avi | 2006-12-12 15:15:05 +0200 (Tue, 12 Dec 2006) | 4 lines kvm: enable vmx more carefully this hopefully fixes hangs man macbooks. ........ r4082 | avi | 2006-12-12 15:48:57 +0200 (Tue, 12 Dec 2006) | 4 lines kvm: revert r4080 cleaner fix available. ........ r4083 | avi | 2006-12-12 15:50:25 +0200 (Tue, 12 Dec 2006) | 5 lines kvm: re-fix vmx hardware_enable() it seems macbooks set bit 2 but not bit 0, which is an "enabled but vmxon will fault" setting. ........
-rw-r--r--kvm/kernel/Makefile1
-rw-r--r--kvm/kernel/kvm-kmod.spec1
-rw-r--r--kvm/kernel/vmx.c4
-rwxr-xr-xkvm/kvm8
-rw-r--r--kvm/kvm.spec1
5 files changed, 13 insertions, 2 deletions
diff --git a/kvm/kernel/Makefile b/kvm/kernel/Makefile
index f40e39761..039486e79 100644
--- a/kvm/kernel/Makefile
+++ b/kvm/kernel/Makefile
@@ -11,6 +11,7 @@ all::
$(MAKE) -C $(KERNELDIR) M=`pwd` "$$@"
install:
+ mkdir -p $(DESTDIR)/$(INSTALLDIR)
cp *.ko $(DESTDIR)/$(INSTALLDIR)
depmod -a
diff --git a/kvm/kernel/kvm-kmod.spec b/kvm/kernel/kvm-kmod.spec
index da2554c44..542c30ce4 100644
--- a/kvm/kernel/kvm-kmod.spec
+++ b/kvm/kernel/kvm-kmod.spec
@@ -38,6 +38,7 @@ depmod %{kverrel}
depmod %{kverrel}
%clean
+%{__rm} -rf %{buildroot}
%files
%{moddir}/%{kmod_name}.ko
diff --git a/kvm/kernel/vmx.c b/kvm/kernel/vmx.c
index d046296a9..cc42cab27 100644
--- a/kvm/kernel/vmx.c
+++ b/kvm/kernel/vmx.c
@@ -534,7 +534,7 @@ static __init void hardware_enable(void *garbage)
u64 old;
rdmsrl(MSR_IA32_FEATURE_CONTROL, old);
- if ((old & 5) == 0)
+ if ((old & 4) == 0)
/* enable and lock */
wrmsrl(MSR_IA32_FEATURE_CONTROL, old | 5);
write_cr4(read_cr4() | CR4_VMXE); /* FIXME: not cpu hotplug safe */
@@ -1175,8 +1175,10 @@ static int vmx_vcpu_setup(struct kvm_vcpu *vcpu)
VM_ENTRY_CONTROLS, 0);
vmcs_write32(VM_ENTRY_INTR_INFO_FIELD, 0); /* 22.2.1 */
+#ifdef CONFIG_X86_64
vmcs_writel(VIRTUAL_APIC_PAGE_ADDR, 0);
vmcs_writel(TPR_THRESHOLD, 0);
+#endif
vmcs_writel(CR0_GUEST_HOST_MASK, KVM_GUEST_CR0_MASK);
vmcs_writel(CR4_GUEST_HOST_MASK, KVM_GUEST_CR4_MASK);
diff --git a/kvm/kvm b/kvm/kvm
index b5e315309..3d1b3723f 100755
--- a/kvm/kvm
+++ b/kvm/kvm
@@ -59,7 +59,13 @@ optparser.add_option('--loadvm',
default = '',
)
-(options, args) = optparser.parse_args(sys.argv)
+(options, args) = optparser.parse_args()
+
+if len(args) > 0:
+ options.image = args[0]
+
+if len(args) > 1:
+ options.cdrom = args[1]
def remove_module(module):
module = module.replace('-', '_')
diff --git a/kvm/kvm.spec b/kvm/kvm.spec
index 17d8af6c6..fcb9a42c8 100644
--- a/kvm/kvm.spec
+++ b/kvm/kvm.spec
@@ -84,6 +84,7 @@ depmod %{kverrel}
depmod %{kverrel}
%clean
+%{__rm} -rf %{buildroot}
%files
/usr/bin/kvm