[coreboot-gerrit] New patch to review for coreboot: intel: common: Let mainboard supplement FSP memory info

Patrick Georgi (pgeorgi@google.com) gerrit at coreboot.org
Wed Jul 22 21:11:28 CEST 2015


Patrick Georgi (pgeorgi at google.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/11033

-gerrit

commit c03328b438edf37fe80b26d008ce362487304890
Author: Duncan Laurie <dlaurie at chromium.org>
Date:   Mon Jul 20 16:48:55 2015 -0700

    intel: common: Let mainboard supplement FSP memory info
    
    Since the FSP memory info HOB does not return all the data that we
    need about a DIMM add a weak function that will allow the mainboard
    to supplement the generated memory_info structure.
    
    Ideally this would not be necessary but until FSP returns the
    module part number we need this.
    
    BUG=chrome-os-partner:42975, chrome-os-partner:42561
    BRANCH=none
    TEST=run "mosys memory spd print all" on glados
    
    Change-Id: Ic6d0ee0a31d23efcf7e7d7f18a74e944e09e7b46
    Signed-off-by: Patrick Georgi <pgeorgi at chromium.org>
    Original-Commit-Id: 34ad7f1906ba526e52d38d5a6bce7b88b83f0c13
    Original-Change-Id: I8509c5c627c1605894473fdea567e7f7ede08cf9
    Original-Signed-off-by: Duncan Laurie <dlaurie at chromium.org>
    Original-Reviewed-on: https://chromium-review.googlesource.com/286876
    Original-Reviewed-by: Aaron Durbin <adurbin at chromium.org>
---
 src/soc/intel/common/romstage.c | 13 +++++++++++++
 src/soc/intel/common/romstage.h |  4 ++++
 2 files changed, 17 insertions(+)

diff --git a/src/soc/intel/common/romstage.c b/src/soc/intel/common/romstage.c
index 99ac890..7a05e17 100644
--- a/src/soc/intel/common/romstage.c
+++ b/src/soc/intel/common/romstage.c
@@ -363,6 +363,10 @@ __attribute__((weak)) void mainboard_save_dimm_info(
 						MEMORY_BUS_WIDTH_128;
 					break;
 				}
+
+				/* Add any mainboard specific information */
+				mainboard_add_dimm_info(params, mem_info,
+							channel, dimm, index);
 				index++;
 			}
 		}
@@ -371,6 +375,15 @@ __attribute__((weak)) void mainboard_save_dimm_info(
 	printk(BIOS_DEBUG, "%d DIMMs found\n", mem_info->dimm_cnt);
 }
 
+/* Add any mainboard specific information */
+__attribute__((weak)) void mainboard_add_dimm_info(
+	struct romstage_params *params,
+	struct memory_info *mem_info,
+	int channel, int dimm, int index)
+{
+	printk(BIOS_DEBUG, "WEAK: %s/%s called\n", __FILE__, __func__);
+}
+
 /* Get the memory configuration data */
 __attribute__((weak)) int mrc_cache_get_current(
 	const struct mrc_saved_data **cache)
diff --git a/src/soc/intel/common/romstage.h b/src/soc/intel/common/romstage.h
index c677095..403016e 100644
--- a/src/soc/intel/common/romstage.h
+++ b/src/soc/intel/common/romstage.h
@@ -23,6 +23,7 @@
 
 #include <stdint.h>
 #include <arch/cpu.h>
+#include <memory_info.h>
 #include <fsp_util.h>
 #include <soc/intel/common/util.h>
 #include <soc/pei_data.h>
@@ -76,6 +77,9 @@ void mainboard_memory_init_params(struct romstage_params *params,
 void mainboard_pre_console_init(struct romstage_params *params);
 void mainboard_romstage_entry(struct romstage_params *params);
 void mainboard_save_dimm_info(struct romstage_params *params);
+void mainboard_add_dimm_info(struct romstage_params *params,
+			     struct memory_info *mem_info,
+			     int channel, int dimm, int index);
 void raminit(struct romstage_params *params);
 void report_memory_config(void);
 void report_platform_info(void);



More information about the coreboot-gerrit mailing list