diff options
author | Avi Kivity <avi@qumranet.com> | 2006-12-12 13:59:56 +0000 |
---|---|---|
committer | Avi Kivity <avi@qumranet.com> | 2006-12-12 13:59:56 +0000 |
commit | b2649695b294a770e3114122ef7716de1af71ad2 (patch) | |
tree | a56d82870a8aeae3c8312e57e8123029fad73206 | |
parent | c0f8d356192436b4960ba984a30c73d42ba7a485 (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/Makefile | 1 | ||||
-rw-r--r-- | kvm/kernel/kvm-kmod.spec | 1 | ||||
-rw-r--r-- | kvm/kernel/vmx.c | 4 | ||||
-rwxr-xr-x | kvm/kvm | 8 | ||||
-rw-r--r-- | kvm/kvm.spec | 1 |
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); @@ -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 |