diff options
-rw-r--r-- | src/soc/intel/baytrail/baytrail/mrc_wrapper.h | 7 | ||||
-rw-r--r-- | src/soc/intel/baytrail/romstage/raminit.c | 7 |
2 files changed, 11 insertions, 3 deletions
diff --git a/src/soc/intel/baytrail/baytrail/mrc_wrapper.h b/src/soc/intel/baytrail/baytrail/mrc_wrapper.h index 556746bb53..858aab887c 100644 --- a/src/soc/intel/baytrail/baytrail/mrc_wrapper.h +++ b/src/soc/intel/baytrail/baytrail/mrc_wrapper.h @@ -32,6 +32,9 @@ #define NUM_CHANNELS 2 +/* Provide generic x86 calling conventions. */ +#define ABI_X86 __attribute((regparm(0))) + enum { DRAM_INFO_SPD_SMBUS, /* Use the typical SPD smbus access. */ DRAM_INFO_SPD_MEM, /* SPD info in memory. */ @@ -67,7 +70,7 @@ struct mrc_params { struct mrc_mainboard_params mainboard; - void (*console_out)(unsigned char byte); + void ABI_X86 (*console_out)(unsigned char byte); int prev_sleep_state; @@ -83,6 +86,6 @@ struct mrc_params { } __attribute__((packed)); /* Call into wrapper. */ -typedef int (*mrc_wrapper_entry_t)(struct mrc_params *); +typedef int ABI_X86 (*mrc_wrapper_entry_t)(struct mrc_params *); #endif /* _MRC_WRAPPER_H_ */ diff --git a/src/soc/intel/baytrail/romstage/raminit.c b/src/soc/intel/baytrail/romstage/raminit.c index 68836d3ada..cf9ccfd1d6 100644 --- a/src/soc/intel/baytrail/romstage/raminit.c +++ b/src/soc/intel/baytrail/romstage/raminit.c @@ -52,6 +52,11 @@ static void enable_smbus(void) score_select_func(PCU_SMB_DATA_PAD, 1); } +static void ABI_X86 send_to_console(unsigned char b) +{ + console_tx_byte(b); +} + void raminit(struct mrc_params *mp, int prev_sleep_state) { int ret; @@ -60,7 +65,7 @@ void raminit(struct mrc_params *mp, int prev_sleep_state) /* Fill in default entries. */ mp->version = MRC_PARAMS_VER; - mp->console_out = &console_tx_byte; + mp->console_out = &send_to_console; mp->prev_sleep_state = prev_sleep_state; if (!mrc_cache_get_current(&cache)) { |