diff --git a/arch/x64/boot.S b/arch/x64/boot.S
index db63e880d3b9bdc97b94f5936ddddda58d5930ff..2124fd7ac5ed92a85f65b8dad33629f0e5f1a3a0 100644
--- a/arch/x64/boot.S
+++ b/arch/x64/boot.S
@@ -175,8 +175,8 @@ trlock: .byte 0
 smpboot64:
 	mov smpboot_cr3, %rax
 	mov %rax, %cr3
-	mov smp_stack_free, %rax
 1:
+	mov smp_stack_free, %rax
 	mov 4096(%rax), %rbx
 	lock cmpxchg %rbx, smp_stack_free
 	jnz 1b