diff options
author | Aaron Durbin <adurbin@chromium.org> | 2013-02-08 22:31:33 -0600 |
---|---|---|
committer | Ronald G. Minnich <rminnich@gmail.com> | 2013-03-21 22:47:42 +0100 |
commit | ef4275bc2e4332ed9b6f3ac25060687794f0b98d (patch) | |
tree | 64a0d09402ab1a5e1c5620fb170ab6364ec1bd11 /src/include/cpu | |
parent | e2d9e5bfa99e56eff56ab9b0f3389cfccd9670d6 (diff) |
x86: protect against abi assumptions from compiler
Some of the functions called from assembly assume the standard
x86 32-bit ABI of passing all arguments on the stack. However,
that calling ABI can be changed by compiler flags. In order to
protect against the current implicit calling convention annotate
the functions called from assembly with the cdecl function
attribute. That tells the compiler to use the stack based parameter
calling convention.
Change-Id: I83625e1f92c6821a664b191b6ce1250977cf037a
Signed-off-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: http://review.coreboot.org/2794
Tested-by: build bot (Jenkins)
Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
Diffstat (limited to 'src/include/cpu')
-rw-r--r-- | src/include/cpu/x86/smm.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/include/cpu/x86/smm.h b/src/include/cpu/x86/smm.h index b6a6c4e0c6..62494a9f97 100644 --- a/src/include/cpu/x86/smm.h +++ b/src/include/cpu/x86/smm.h @@ -429,7 +429,7 @@ struct smm_runtime { u8 apic_id_to_cpu[CONFIG_MAX_CPUS]; } __attribute__ ((packed)); -typedef void (*smm_handler_t)(void *arg, int cpu, +typedef void __attribute__((cdecl)) (*smm_handler_t)(void *arg, int cpu, const struct smm_runtime *runtime); #ifdef __SMM__ |