coreboot-kgpe-d16/payloads
Mathias Krause 57dc93c967 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)
2017-02-17 17:27:55 +01:00
..
bayou bayou: delete pbuilder utility 2016-07-30 19:34:36 +02:00
coreinfo build system: don't run xcompile or git for %clean/%config targets 2017-01-24 23:22:56 +01:00
external payloads/depthcharge: Allow generic libpayload config 2017-02-01 21:14:29 +01:00
libpayload libpayload: x86/exec - simplify and robustify the code 2017-02-17 17:27:55 +01:00
nvramcui nvramcui: Declare variable outside for loop 2017-01-25 10:05:54 +01:00
Kconfig payloads: add Kconfig option for bayou 2016-08-09 10:44:44 +02:00
Makefile.inc tint: Fix tint and add Kconfig option 2016-06-28 18:29:48 +02:00