diff options
Diffstat (limited to 'virt/kvm/kvm_main.c')
| -rw-r--r-- | virt/kvm/kvm_main.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c index b78b794c1039..5186e728c53e 100644 --- a/virt/kvm/kvm_main.c +++ b/virt/kvm/kvm_main.c | |||
| @@ -1958,10 +1958,10 @@ static int kvm_cpu_hotplug(struct notifier_block *notifier, unsigned long val, | |||
| 1958 | cpu); | 1958 | cpu); |
| 1959 | hardware_disable(NULL); | 1959 | hardware_disable(NULL); |
| 1960 | break; | 1960 | break; |
| 1961 | case CPU_ONLINE: | 1961 | case CPU_STARTING: |
| 1962 | printk(KERN_INFO "kvm: enabling virtualization on CPU%d\n", | 1962 | printk(KERN_INFO "kvm: enabling virtualization on CPU%d\n", |
| 1963 | cpu); | 1963 | cpu); |
| 1964 | smp_call_function_single(cpu, hardware_enable, NULL, 1); | 1964 | hardware_enable(NULL); |
| 1965 | break; | 1965 | break; |
| 1966 | } | 1966 | } |
| 1967 | return NOTIFY_OK; | 1967 | return NOTIFY_OK; |
| @@ -1970,10 +1970,12 @@ static int kvm_cpu_hotplug(struct notifier_block *notifier, unsigned long val, | |||
| 1970 | 1970 | ||
| 1971 | asmlinkage void kvm_handle_fault_on_reboot(void) | 1971 | asmlinkage void kvm_handle_fault_on_reboot(void) |
| 1972 | { | 1972 | { |
| 1973 | if (kvm_rebooting) | 1973 | if (kvm_rebooting) { |
| 1974 | /* spin while reset goes on */ | 1974 | /* spin while reset goes on */ |
| 1975 | local_irq_enable(); | ||
| 1975 | while (true) | 1976 | while (true) |
| 1976 | ; | 1977 | ; |
| 1978 | } | ||
| 1977 | /* Fault while not rebooting. We want the trace. */ | 1979 | /* Fault while not rebooting. We want the trace. */ |
| 1978 | BUG(); | 1980 | BUG(); |
| 1979 | } | 1981 | } |
| @@ -2096,7 +2098,6 @@ int kvm_io_bus_unregister_dev(struct kvm *kvm, enum kvm_bus bus_idx, | |||
| 2096 | 2098 | ||
| 2097 | static struct notifier_block kvm_cpu_notifier = { | 2099 | static struct notifier_block kvm_cpu_notifier = { |
| 2098 | .notifier_call = kvm_cpu_hotplug, | 2100 | .notifier_call = kvm_cpu_hotplug, |
| 2099 | .priority = 20, /* must be > scheduler priority */ | ||
| 2100 | }; | 2101 | }; |
| 2101 | 2102 | ||
| 2102 | static int vm_stat_get(void *_offset, u64 *val) | 2103 | static int vm_stat_get(void *_offset, u64 *val) |
