diff --git a/src/soc/intel/broadwell/broadwell/pei_data.h b/src/soc/intel/broadwell/broadwell/pei_data.h index 19b4451f89..a805163546 100644 --- a/src/soc/intel/broadwell/broadwell/pei_data.h +++ b/src/soc/intel/broadwell/broadwell/pei_data.h @@ -30,6 +30,7 @@ #define PEI_DATA_H #include +#include #define PEI_VERSION 21 @@ -177,6 +178,7 @@ struct pei_data /* Data from MRC that should be saved to flash */ void *data_to_save; int data_to_save_size; + struct memory_info meminfo; } __attribute__((packed)); typedef struct pei_data PEI_DATA; diff --git a/src/soc/intel/broadwell/romstage/raminit.c b/src/soc/intel/broadwell/romstage/raminit.c index a5f688ea69..2601195609 100644 --- a/src/soc/intel/broadwell/romstage/raminit.c +++ b/src/soc/intel/broadwell/romstage/raminit.c @@ -47,6 +47,7 @@ void raminit(struct pei_data *pei_data) { const struct mrc_saved_data *cache; + struct memory_info* mem_info; pei_wrapper_entry_t entry; int ret; @@ -125,4 +126,9 @@ void raminit(struct pei_data *pei_data) if (pei_data->data_to_save != NULL && pei_data->data_to_save_size > 0) mrc_cache_stash_data(pei_data->data_to_save, pei_data->data_to_save_size); + + printk(BIOS_DEBUG, "create cbmem for dimm information\n"); + mem_info = cbmem_add(CBMEM_ID_MEMINFO, sizeof(struct memory_info)); + memcpy(mem_info, &pei_data->meminfo, sizeof(struct memory_info)); + }