KVM: Trivial: Avoid hardware_disable predeclaration
Don't pre-declare hardware_disable: shuffle the reboot hook down. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Signed-off-by: Avi Kivity <avi@qumranet.com>
This commit is contained in:
committed by
Avi Kivity
parent
dcc0766b22
commit
9a2b85c620
@@ -54,8 +54,6 @@ static cpumask_t cpus_hardware_enabled;
|
|||||||
|
|
||||||
struct kvm_arch_ops *kvm_arch_ops;
|
struct kvm_arch_ops *kvm_arch_ops;
|
||||||
|
|
||||||
static void hardware_disable(void *ignored);
|
|
||||||
|
|
||||||
#define STAT_OFFSET(x) offsetof(struct kvm_vcpu, stat.x)
|
#define STAT_OFFSET(x) offsetof(struct kvm_vcpu, stat.x)
|
||||||
|
|
||||||
static struct kvm_stats_debugfs_item {
|
static struct kvm_stats_debugfs_item {
|
||||||
@@ -2924,25 +2922,6 @@ static struct miscdevice kvm_dev = {
|
|||||||
&kvm_chardev_ops,
|
&kvm_chardev_ops,
|
||||||
};
|
};
|
||||||
|
|
||||||
static int kvm_reboot(struct notifier_block *notifier, unsigned long val,
|
|
||||||
void *v)
|
|
||||||
{
|
|
||||||
if (val == SYS_RESTART) {
|
|
||||||
/*
|
|
||||||
* Some (well, at least mine) BIOSes hang on reboot if
|
|
||||||
* in vmx root mode.
|
|
||||||
*/
|
|
||||||
printk(KERN_INFO "kvm: exiting hardware virtualization\n");
|
|
||||||
on_each_cpu(hardware_disable, NULL, 0, 1);
|
|
||||||
}
|
|
||||||
return NOTIFY_OK;
|
|
||||||
}
|
|
||||||
|
|
||||||
static struct notifier_block kvm_reboot_notifier = {
|
|
||||||
.notifier_call = kvm_reboot,
|
|
||||||
.priority = 0,
|
|
||||||
};
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Make sure that a cpu that is being hot-unplugged does not have any vcpus
|
* Make sure that a cpu that is being hot-unplugged does not have any vcpus
|
||||||
* cached on it.
|
* cached on it.
|
||||||
@@ -3025,6 +3004,25 @@ static int kvm_cpu_hotplug(struct notifier_block *notifier, unsigned long val,
|
|||||||
return NOTIFY_OK;
|
return NOTIFY_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int kvm_reboot(struct notifier_block *notifier, unsigned long val,
|
||||||
|
void *v)
|
||||||
|
{
|
||||||
|
if (val == SYS_RESTART) {
|
||||||
|
/*
|
||||||
|
* Some (well, at least mine) BIOSes hang on reboot if
|
||||||
|
* in vmx root mode.
|
||||||
|
*/
|
||||||
|
printk(KERN_INFO "kvm: exiting hardware virtualization\n");
|
||||||
|
on_each_cpu(hardware_disable, NULL, 0, 1);
|
||||||
|
}
|
||||||
|
return NOTIFY_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
static struct notifier_block kvm_reboot_notifier = {
|
||||||
|
.notifier_call = kvm_reboot,
|
||||||
|
.priority = 0,
|
||||||
|
};
|
||||||
|
|
||||||
void kvm_io_bus_init(struct kvm_io_bus *bus)
|
void kvm_io_bus_init(struct kvm_io_bus *bus)
|
||||||
{
|
{
|
||||||
memset(bus, 0, sizeof(*bus));
|
memset(bus, 0, sizeof(*bus));
|
||||||
|
Reference in New Issue
Block a user