[PATCH 7/8] kvm tools: fix SMP

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



We accidently broke SMP when we moved mptable init to before we initialize the vcpu
count, that means that we always built smptable which was not properly initialized
for the given configuration.

Instead of initializing mptable as part of the kvm arch initialization, let it
be initialized on it's own in the firmware initialization level.

Signed-off-by: Sasha Levin <levinsasha928@xxxxxxxxx>
---
 tools/kvm/x86/kvm.c     | 14 ++------------
 tools/kvm/x86/mptable.c |  2 ++
 2 files changed, 4 insertions(+), 12 deletions(-)

diff --git a/tools/kvm/x86/kvm.c b/tools/kvm/x86/kvm.c
index e636d43..ecada45 100644
--- a/tools/kvm/x86/kvm.c
+++ b/tools/kvm/x86/kvm.c
@@ -342,27 +342,17 @@ bool load_bzimage(struct kvm *kvm, int fd_kernel,
  */
 int kvm__arch_setup_firmware(struct kvm *kvm)
 {
-	int r;
-
 	/* standart minimal configuration */
 	setup_bios(kvm);
 
 	/* FIXME: SMP, ACPI and friends here */
 
-	/* MP table */
-	r = mptable__init(kvm);
-
-	return r;
+	return 0;
 }
 
 int kvm__arch_free_firmware(struct kvm *kvm)
 {
-	int r;
-
-	/* MP table */
-	r = mptable__exit(kvm);
-
-	return r;
+	return 0;
 }
 
 void kvm__arch_periodic_poll(struct kvm *kvm)
diff --git a/tools/kvm/x86/mptable.c b/tools/kvm/x86/mptable.c
index 12bdcf8..ea8c6e8 100644
--- a/tools/kvm/x86/mptable.c
+++ b/tools/kvm/x86/mptable.c
@@ -280,8 +280,10 @@ int mptable__init(struct kvm *kvm)
 
 	return 0;
 }
+firmware_init(mptable__init);
 
 int mptable__exit(struct kvm *kvm)
 {
 	return 0;
 }
+firmware_exit(mptable__exit);
-- 
1.7.12

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux