aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Documentation/POSTCODES1
-rw-r--r--src/drivers/intel/fsp1_1/raminit.c3
-rw-r--r--src/drivers/intel/fsp2_0/memory_init.c3
-rw-r--r--src/include/console/post_codes.h8
4 files changed, 13 insertions, 2 deletions
diff --git a/Documentation/POSTCODES b/Documentation/POSTCODES
index 855940f433..2a8285b27f 100644
--- a/Documentation/POSTCODES
+++ b/Documentation/POSTCODES
@@ -19,6 +19,7 @@ This is an (incomplete) list of POST codes emitted by coreboot v4.
0xe0 Boot media (e.g. SPI ROM) is corrupt
0xe1 Resource stored within CBFS is corrupt
0xe2 Vendor binary (e.g. FSP) generated a fatal error
+0xe3 RAM could not be initialized
0xf8 Entry into elf boot
0xf3 Jumping to payload
diff --git a/src/drivers/intel/fsp1_1/raminit.c b/src/drivers/intel/fsp1_1/raminit.c
index fc6f848089..eff011aa62 100644
--- a/src/drivers/intel/fsp1_1/raminit.c
+++ b/src/drivers/intel/fsp1_1/raminit.c
@@ -130,7 +130,8 @@ void raminit(struct romstage_params *params)
printk(BIOS_DEBUG, "FspMemoryInit returned 0x%08x\n", status);
if (status != EFI_SUCCESS)
- die("ERROR - FspMemoryInit failed to initialize memory!\n");
+ die_with_post_code(POST_RAM_FAILURE,
+ "ERROR - FspMemoryInit failed to initialize memory!\n");
/* Locate the FSP reserved memory area */
fsp_reserved_bytes = 0;
diff --git a/src/drivers/intel/fsp2_0/memory_init.c b/src/drivers/intel/fsp2_0/memory_init.c
index 449b57d03e..60e3310a4d 100644
--- a/src/drivers/intel/fsp2_0/memory_init.c
+++ b/src/drivers/intel/fsp2_0/memory_init.c
@@ -316,7 +316,8 @@ static void do_fsp_memory_init(struct fsp_header *hdr, bool s3wake,
fsp_handle_reset(status);
if (status != FSP_SUCCESS) {
printk(BIOS_CRIT, "FspMemoryInit returned 0x%08x\n", status);
- die("FspMemoryInit returned an error!\n");
+ die_with_post_code(POST_RAM_FAILURE,
+ "FspMemoryInit returned an error!\n");
}
do_fsp_post_memory_init(s3wake, fsp_version);
diff --git a/src/include/console/post_codes.h b/src/include/console/post_codes.h
index 478c811b4d..07927ec957 100644
--- a/src/include/console/post_codes.h
+++ b/src/include/console/post_codes.h
@@ -341,6 +341,14 @@
#define POST_INVALID_VENDOR_BINARY 0xe2
/**
+ * \brief RAM failure
+ *
+ * Set if RAM could not be initialized. This includes RAM is missing,
+ * unsupported RAM configuration, or RAM failure.
+ */
+#define POST_RAM_FAILURE 0xe3
+
+/**
* \brief TPM failure
*
* An error with the TPM, either unexepcted state or communications failure.