aboutsummaryrefslogtreecommitdiff
path: root/payloads/libpayload/arch/x86/head.S
diff options
context:
space:
mode:
authorMathias Krause <minipli@googlemail.com>2017-02-11 21:02:08 +0100
committerMartin Roth <martinroth@google.com>2017-02-17 17:27:55 +0100
commit57dc93c967f45167f09e7817266ebb4f3dbda62a (patch)
treeb8827ef75215a08f46af5f9f312f34e5e2a37e8c /payloads/libpayload/arch/x86/head.S
parent7b681c5926d3699b33c936e34a8176833a03eaf2 (diff)
libpayload: x86/exec - simplify and robustify the code
Simplify the code by directly using the arguments on the stack as base pointer relative memory references, instead of loading them into intermediate registers first. Make it more robust by preserving all callee saved registers mandated by the C calling convention (and only those), namely EBP, EBX, ESI and EDI. Don't assume anything about the register state when the called function returns -- beside the segment registers and the stack pointer to be still the same as before the call. Change-Id: I383d6ccefc5b3d5cca37a1c9b638c231bbc48aa8 Signed-off-by: Mathias Krause <minipli@googlemail.com> Reviewed-on: https://review.coreboot.org/18335 Reviewed-by: Aaron Durbin <adurbin@chromium.org> Tested-by: build bot (Jenkins)
Diffstat (limited to 'payloads/libpayload/arch/x86/head.S')
0 files changed, 0 insertions, 0 deletions