More descriptive error messages in Sandybridge raminit code

MRC returns specific error codes; print the according error
message if we know what it means.

Change-Id: Iaaf1512b9d577d4291fccfb94d879043ab5b11b5
Signed-off-by: Stefan Reinauer <reinauer@google.com>
Reviewed-on: http://review.coreboot.org/1289
Tested-by: build bot (Jenkins)
Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
This commit is contained in:
Stefan Reinauer 2012-06-18 14:38:40 -07:00 committed by Ronald G. Minnich
parent 0c32c9795b
commit 696262bd99
1 changed files with 11 additions and 2 deletions

View File

@ -249,8 +249,17 @@ void sdram_initialize(struct pei_data *pei_data)
"call *%%ecx\n\t"
:"=a" (rv) : "c" (entry), "a" (pei_data));
if (rv) {
printk(BIOS_ERR, "MRC returned %x\n", rv);
die("Nonzero MRC return value\n");
switch (rv) {
case -1:
printk(BIOS_ERR, "PEI version mismatch.");
break;
case -2:
printk(BIOS_ERR, "Invalid memory frequency.\n");
break;
default:
printk(BIOS_ERR, "MRC returned %x.\n", rv);
}
die("Nonzero MRC return value.\n");
}
} else {
die("UEFI PEI System Agent not found.\n");