[PATCH QEMU-KVM 29/34] test: wait for all processors to complete initialization

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

 



so we can start blasting them with IPIs.

Signed-off-by: Avi Kivity <avi@xxxxxxxxxx>
---
 kvm/user/test/x86/cstart64.S |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/kvm/user/test/x86/cstart64.S b/kvm/user/test/x86/cstart64.S
index 54b721f..e5554ba 100644
--- a/kvm/user/test/x86/cstart64.S
+++ b/kvm/user/test/x86/cstart64.S
@@ -152,6 +152,7 @@ ap_start64:
 	call enable_x2apic
 	sti
 	nop
+	lock incw cpu_online_count
 
 1:	hlt
 	jmp 1b
@@ -203,5 +204,11 @@ smp_init:
 	movl $(APIC_DEST_ALLBUT | APIC_DEST_PHYSICAL | APIC_DM_INIT | APIC_INT_ASSERT), APIC_ICR(%rax)
 	movl $(APIC_DEST_ALLBUT | APIC_DEST_PHYSICAL | APIC_DM_INIT), APIC_ICR(%rax)
 	movl $(APIC_DEST_ALLBUT | APIC_DEST_PHYSICAL | APIC_DM_STARTUP), APIC_ICR(%rax)
+	call fwcfg_get_nb_cpus
+1:	pause
+	cmpw %ax, cpu_online_count
+	jne 1b
 smp_init_done:
 	ret
+
+cpu_online_count:	.word 1
-- 
1.6.4.1

--
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