diff options
-rw-r--r-- | src/cpu/intel/haswell/mp_init.c | 3 | ||||
-rw-r--r-- | src/cpu/intel/haswell/smmrelocate.c | 6 | ||||
-rw-r--r-- | src/include/cpu/x86/smm.h | 2 |
3 files changed, 6 insertions, 5 deletions
diff --git a/src/cpu/intel/haswell/mp_init.c b/src/cpu/intel/haswell/mp_init.c index 47683fb78c..7f15c391d7 100644 --- a/src/cpu/intel/haswell/mp_init.c +++ b/src/cpu/intel/haswell/mp_init.c @@ -149,7 +149,8 @@ static void cleanup_rom_caching(void) /* By the time APs call ap_init() caching has been setup, and microcode has * been loaded. */ -static void ap_init(unsigned int cpu, void *microcode_ptr) +static void __attribute__((cdecl)) +ap_init(unsigned int cpu, void *microcode_ptr) { struct cpu_info *info; diff --git a/src/cpu/intel/haswell/smmrelocate.c b/src/cpu/intel/haswell/smmrelocate.c index 4312d7953e..2bf304ebbf 100644 --- a/src/cpu/intel/haswell/smmrelocate.c +++ b/src/cpu/intel/haswell/smmrelocate.c @@ -85,8 +85,8 @@ static inline void write_uncore_emrr(struct smm_relocation_params *relo_params) /* The relocation work is actually performed in SMM context, but the code * resides in the ramstage module. This occurs by trampolining from the default * SMRAM entry point to here. */ -static void cpu_smm_do_relocation(void *arg, int cpu, - const struct smm_runtime *runtime) +static void __attribute__((cdecl)) +cpu_smm_do_relocation(void *arg, int cpu, const struct smm_runtime *runtime) { em64t101_smm_state_save_area_t *save_state; msr_t mtrr_cap; @@ -209,7 +209,7 @@ static int install_relocation_handler(int num_cpus, .num_concurrent_stacks = num_cpus, .per_cpu_save_state_size = save_state_size, .num_concurrent_save_states = 1, - .handler = &cpu_smm_do_relocation, + .handler = (smm_handler_t)&cpu_smm_do_relocation, .handler_arg = (void *)relo_params, }; 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__ |