switch-coreboot/payloads
Mathias Krause 98efca1d93 UPSTREAM: 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.

BUG=none
BRANCH=none
TEST=none

Change-Id: I231828bb9a65a6b1077b17024c0c59fed8546284
Signed-off-by: Furquan Shaikh <furquan@chromium.org>
Original-Commit-Id: 57dc93c967
Original-Change-Id: I383d6ccefc5b3d5cca37a1c9b638c231bbc48aa8
Original-Signed-off-by: Mathias Krause <minipli@googlemail.com>
Original-Reviewed-on: https://review.coreboot.org/18335
Original-Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Original-Tested-by: build bot (Jenkins)
Reviewed-on: https://chromium-review.googlesource.com/444816
2017-02-18 03:10:58 -08:00
..
bayou UPSTREAM: bayou: delete pbuilder utility 2016-08-04 23:36:49 -07:00
coreinfo UPSTREAM: build system: don't run xcompile or git for %clean/%config targets 2017-01-26 18:43:51 -08:00
external UPSTREAM: payloads/depthcharge: Allow generic libpayload config 2017-02-03 09:08:54 -08:00
libpayload UPSTREAM: libpayload: x86/exec - simplify and robustify the code 2017-02-18 03:10:58 -08:00
nvramcui UPSTREAM: nvramcui: Declare variable outside for loop 2017-01-27 07:48:58 -08:00
Kconfig UPSTREAM: payloads: add Kconfig option for bayou 2016-08-14 15:11:13 -07:00
Makefile.inc UPSTREAM: tint: Fix tint and add Kconfig option 2016-06-28 17:17:08 -07:00