nb/intel/i440bx: Die with standard POST code on fatal conditions

When encountering really incompatible memory configurations, post a
standard POST_RAM_FAILURE code when dying. Gone are the "HALT"
messages that no longer serve any good purpose, instead fatal messages
are edited to always end with "!" to make them stand out even with
loglevel prefix off.

Change-Id: Ie1b9e5a0415e4c64b1f4e935689263f62db012b2
Signed-off-by: Keith Hui <buurin@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/73886
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Paul Menzel <paulepanter@mailbox.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
This commit is contained in:
Keith Hui 2023-03-13 09:42:15 -04:00 committed by Felix Held
parent 6ba67ab2db
commit 94927888c7
1 changed files with 10 additions and 9 deletions

View File

@ -8,6 +8,7 @@
#include <device/pci_def.h> #include <device/pci_def.h>
#include <device/smbus_host.h> #include <device/smbus_host.h>
#include <console/console.h> #include <console/console.h>
#include <commonlib/console/post_codes.h>
#include <timestamp.h> #include <timestamp.h>
#include "i440bx.h" #include "i440bx.h"
#include "raminit.h" #include "raminit.h"
@ -763,8 +764,8 @@ static void set_dram_row_attributes(void)
PRINT_DEBUG("Found DIMM in slot %d\n", i); PRINT_DEBUG("Found DIMM in slot %d\n", i);
if (edo && sd) { if (edo && sd) {
printk(BIOS_ERR, "Mixing EDO/SDRAM unsupported!\n"); die_with_post_code(POST_RAM_FAILURE,
die("HALT\n"); "Mixing EDO/SDRAM unsupported!\n");
} }
/* "DRA" is our RPS for the two rows on this DIMM. */ /* "DRA" is our RPS for the two rows on this DIMM. */
@ -868,12 +869,12 @@ static void set_dram_row_attributes(void)
if (col == 4) if (col == 4)
bpr |= 0xc0; bpr |= 0xc0;
} else { } else {
printk(BIOS_ERR, "# of banks of DIMM unsupported!\n"); die_with_post_code(POST_RAM_FAILURE,
die("HALT\n"); "# of banks of DIMM unsupported!\n");
} }
if (dra == -1) { if (dra == -1) {
printk(BIOS_ERR, "Page size not supported\n"); die_with_post_code(POST_RAM_FAILURE,
die("HALT\n"); "Page size not supported!\n");
} }
/* /*
@ -883,9 +884,9 @@ static void set_dram_row_attributes(void)
*/ */
struct dimm_size sz = spd_get_dimm_size(device); struct dimm_size sz = spd_get_dimm_size(device);
if ((sz.side1 < 8)) { if ((sz.side1 < 8)) {
printk(BIOS_ERR, "DIMMs smaller than 8MB per side\n" die_with_post_code(POST_RAM_FAILURE,
"are not supported on this NB.\n"); "DIMMs smaller than 8MB per side "
die("HALT\n"); "are not supported!\n");
} }
/* Divide size by 8 to set up the DRB registers. */ /* Divide size by 8 to set up the DRB registers. */