mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-06-25 06:51:49 +00:00
HV: fix per-cpu stack relocation in trampoline.c
In write_trampoline_stack_sym(), when do relocation for pcpu's stack, it wrongly adds an offset. As a result, during booting, when non-BSP CPU (APs) tries to run trampoline code once they are waken up by BSP via SIPI, system hangs. Tracked-On: #2035 Signed-off-by: Chaohong guo <chaohong.guo@intel.com>
This commit is contained in:
parent
5b88e59ca4
commit
3bbe6b739c
@ -45,7 +45,7 @@ void write_trampoline_stack_sym(uint16_t pcpu_id)
|
||||
hva = (uint64_t *)(hpa2hva(trampoline_start16_paddr) + trampoline_relo_addr(secondary_cpu_stack));
|
||||
|
||||
stack_sym_addr = (uint64_t)&per_cpu(stack, pcpu_id)[CONFIG_STACK_SIZE - 1];
|
||||
*hva = stack_sym_addr + get_hv_image_delta();
|
||||
*hva = stack_sym_addr;
|
||||
|
||||
clflush(hva);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user