summaryrefslogtreecommitdiff
path: root/kvm
diff options
context:
space:
mode:
Diffstat (limited to 'kvm')
-rw-r--r--kvm/user/test/x86/cstart64.S7
1 files changed, 7 insertions, 0 deletions
diff --git a/kvm/user/test/x86/cstart64.S b/kvm/user/test/x86/cstart64.S
index 54b721fcf..e5554baff 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