diff --git a/arch/x86_64/src/intel64/intel64_head.S b/arch/x86_64/src/intel64/intel64_head.S index 5792067c2c..764b8c3ca9 100644 --- a/arch/x86_64/src/intel64/intel64_head.S +++ b/arch/x86_64/src/intel64/intel64_head.S @@ -364,6 +364,10 @@ ap_start: add %rax, %rbx mov (%rbx), %rsp + /* Move initial RSP below IDLE TCB regs */ + sub $XCPTCONTEXT_SIZE, %rsp + and $(~XCPTCONTEXT_SIZE), %rsp + /* Jump to ap_start routine */ movabs $x86_64_ap_boot, %rbx jmp *%rbx