diff --git a/hypervisor/arch/x86/cpu.c b/hypervisor/arch/x86/cpu.c index 5345b2da0..7331eaf92 100644 --- a/hypervisor/arch/x86/cpu.c +++ b/hypervisor/arch/x86/cpu.c @@ -58,7 +58,7 @@ static uint64_t start_tsc __attribute__((__section__(".bss_noinit"))); { \ asm volatile ("movq %0, %%rsp\n" \ "pushq %1\n" \ - "call %2\n" \ + "call *%2\n" \ : \ : "r"(rsp), "rm"(SP_BOTTOM_MAGIC), "a"(to)); \ } diff --git a/hypervisor/arch/x86/trampoline.S b/hypervisor/arch/x86/trampoline.S index 027ac2649..48f813331 100644 --- a/hypervisor/arch/x86/trampoline.S +++ b/hypervisor/arch/x86/trampoline.S @@ -165,7 +165,7 @@ trampoline_start64: /* Jump to C entry */ movq main_entry(%rip), %rax - jmp %rax + jmp *%rax /* main entry */