diff options
author | Patrick Rudolph <patrick.rudolph@9elements.com> | 2023-12-28 07:44:26 +0100 |
---|---|---|
committer | Lean Sheng Tan <sheng.tan@9elements.com> | 2024-01-03 00:38:27 +0000 |
commit | b4283a4fbbcc8702afa4d992789ca458a7df923a (patch) | |
tree | c41be09ed596948596bfeda123554321c5c3fd3f /src/arch/x86/memmove_64.S | |
parent | b14b96d29a5ed196b2205a1bbd239c23d684fa47 (diff) |
cpu/x86/64bit/mode_switch: Simplify assembly code
Drop the first argument specifying the number of arguments pushed
to the stack. Instead always push the 3 arguments to stack and use
the first one as function pointer to call while in protected mode.
While on it add more comments and simplify register restore code.
Tested:
- On qemu can call x86_32 function and pass argument and return
value.
- Booted Lenovo X220 in x86_64 mode using x86_32 MRC.
Change-Id: I30809453a1800ba3c0df60acd7eca778841c520f
Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/79752
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-by: Jérémy Compostella <jeremy.compostella@intel.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'src/arch/x86/memmove_64.S')
0 files changed, 0 insertions, 0 deletions