]> xenbits.xensource.com Git - unikraft/unikraft.git/commit
lib/syscall_shim/arch/arm64: Store caller's link register
authorSergiu Moga <sergiu@unikraft.io>
Mon, 24 Mar 2025 16:42:17 +0000 (18:42 +0200)
committerUnikraft Bot <monkey@unikraft.io>
Thu, 17 Apr 2025 12:33:46 +0000 (12:33 +0000)
commit87fa095ae8bfffa4bd9b621fa9915451db8a31e5
treecbbf34c9a32a0da0d1241068fdfbfd15468c0e72
parent81322bb61bc3d05cff0b151a90f31c2670c0dd08
lib/syscall_shim/arch/arm64: Store caller's link register

So far for storing LR and ELR_EL1 we have been using the current
link register for both instead. This does not reflect reality when
it comes to LR as we should instead store the LR that the caller
would know. To achieve this, do a brief level 1 stack unwinding and
fetch caller's LR from the top of its frame.

Signed-off-by: Sergiu Moga <sergiu@unikraft.io>
Approved-by: Michalis Pappas <michalis@unikraft.io>
Reviewed-by: Michalis Pappas <michalis@unikraft.io>
Reviewed-by: Andrei Tatar <andrei@unikraft.io>
GitHub-Closes: #1618
lib/syscall_shim/arch/arm64/include/arch/syscall_prologue.h