diff options
author | Pratik Prajapati <pratikkumar.v.prajapati@intel.com> | 2015-09-11 13:51:38 -0700 |
---|---|---|
committer | Patrick Georgi <pgeorgi@google.com> | 2015-11-20 18:21:25 +0100 |
commit | b90b94d3efbbe969c019ab8bb8316e2c08ac4968 (patch) | |
tree | 66b36427232d4408f6706d00295837ec57bb3767 /src/commonlib | |
parent | fb128734ec45b9ca7d3ed1a59ea05a81fa6ae360 (diff) | |
download | coreboot-b90b94d3efbbe969c019ab8bb8316e2c08ac4968.tar.xz |
intel: Add MMA feature in coreboot
This patch implements Memory Margin Analysis feature in coreboot.
Few things to note
(1) the feature is enabled by setting CONFIG_MMA=y in the config file
(2) coreboot reads mma_test_metadata.bin from cbfs during romstage and
gets the name of MMA test name and test config name. Then coreboot finds
these files in CBFS.
If found, coreboot passes location and size of these files to FSP via
UPD params. Sets MrcFastBoot to 0 so that MRC happens and then MMA test
would be executed during memory init.
(3) FSP passes MMA results data in HOB and coreboot saves it in cbmem
(4) when system boots to OS after test is executed cbmem tool is used
to grab the MMA results data.
BRANCH=none
BUG=chrome-os-partner:43731
TEST=Build and Boot kunimitsu (FAB3) and executed MMA tests
Not tested on Glados
CQ-DEPEND=CL:299476,CL:299475,CL:299474,CL:299473,CL:299509,CL:299508,CL:299507,CL:*230478,CL:*230479
Change-Id: I0b4524abcf57db4d2440a06a79b5a0f4b60fa0ea
Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Original-Commit-Id: 4aba9b728c263b9d5da5746ede3807927c9cc2a7
Original-Change-Id: Ie2728154b49eac8695f707127334b12e345398dc
Original-Signed-off-by: Pratik Prajapati <pratikkumar.v.prajapati@intel.com>
Original-Reviewed-on: https://chromium-review.googlesource.com/299476
Original-Commit-Ready: Pratikkumar V Prajapati <pratikkumar.v.prajapati@intel.com>
Original-Tested-by: Pratikkumar V Prajapati <pratikkumar.v.prajapati@intel.com>
Original-Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Original-Reviewed-by: Pratikkumar V Prajapati <pratikkumar.v.prajapati@intel.com>
Reviewed-on: http://review.coreboot.org/12481
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
Diffstat (limited to 'src/commonlib')
-rw-r--r-- | src/commonlib/include/commonlib/cbfs_serialized.h | 2 | ||||
-rw-r--r-- | src/commonlib/include/commonlib/cbmem_id.h | 2 |
2 files changed, 4 insertions, 0 deletions
diff --git a/src/commonlib/include/commonlib/cbfs_serialized.h b/src/commonlib/include/commonlib/cbfs_serialized.h index 2efb53201c..edef551da5 100644 --- a/src/commonlib/include/commonlib/cbfs_serialized.h +++ b/src/commonlib/include/commonlib/cbfs_serialized.h @@ -72,6 +72,8 @@ #define CBFS_TYPE_MICROCODE 0x53 #define CBFS_TYPE_FSP 0x60 #define CBFS_TYPE_MRC 0x61 +#define CBFS_TYPE_MMA 0x62 +#define CBFS_TYPE_EFI 0x63 #define CBFS_COMPONENT_CMOS_DEFAULT 0xaa #define CBFS_TYPE_SPD 0xab #define CBFS_TYPE_MRC_CACHE 0xac diff --git a/src/commonlib/include/commonlib/cbmem_id.h b/src/commonlib/include/commonlib/cbmem_id.h index 44ab31ecb8..729d38eea5 100644 --- a/src/commonlib/include/commonlib/cbmem_id.h +++ b/src/commonlib/include/commonlib/cbmem_id.h @@ -37,6 +37,7 @@ #define CBMEM_ID_IMD_ROOT 0xff4017ff #define CBMEM_ID_IMD_SMALL 0x53a11439 #define CBMEM_ID_MEMINFO 0x494D454D +#define CBMEM_ID_MMA_DATA 0x4D4D4144 #define CBMEM_ID_MPTABLE 0x534d5054 #define CBMEM_ID_MRCDATA 0x4d524344 #define CBMEM_ID_MTC 0xcb31d31c @@ -84,6 +85,7 @@ { CBMEM_ID_IMD_ROOT, "IMD ROOT " }, \ { CBMEM_ID_IMD_SMALL, "IMD SMALL " }, \ { CBMEM_ID_MEMINFO, "MEM INFO " }, \ + { CBMEM_ID_MMA_DATA, "MMA DATA " }, \ { CBMEM_ID_MPTABLE, "SMP TABLE " }, \ { CBMEM_ID_MRCDATA, "MRC DATA " }, \ { CBMEM_ID_MTC, "MTC " }, \ |