[coreboot-gerrit] Patch set updated for coreboot: 0087461 baytrail: import and use updated mrc_wrapper.h

Aaron Durbin (adurbin@google.com) gerrit at coreboot.org
Mon Feb 3 16:50:48 CET 2014


Aaron Durbin (adurbin at google.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/4858

-gerrit

commit 0087461bebb261f738bc7d401b351e0724f97377
Author: Aaron Durbin <adurbin at chromium.org>
Date:   Wed Oct 2 11:06:31 2013 -0500

    baytrail: import and use updated mrc_wrapper.h
    
    The mrc_wrapper.h was changed to protect against ABI differences
    between the two sets of compilers and flags used. This requires
    a prope shim for the console output funciton.
    
    BUG=chrome-os-partner:23048
    BRANCH=None
    TEST=Built and booted successfully.
    
    Change-Id: I976e692e66dcfc0eacadae6173abfd9b81e31137
    Signed-off-by: Aaron Durbin <adurbin at chromium.org>
    Reviewed-on: https://chromium-review.googlesource.com/171580
    Reviewed-by: Shawn Nematbakhsh <shawnn at chromium.org>
---
 src/soc/intel/baytrail/baytrail/mrc_wrapper.h | 7 +++++--
 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 556746b..858aab8 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 68836d3..cf9ccfd 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)) {



More information about the coreboot-gerrit mailing list