[coreboot-gerrit] Change in coreboot[master]: nb/intel/sandybridge/raminit: Add extended memtest
Patrick Rudolph (Code Review)
gerrit at coreboot.org
Fri Oct 27 13:07:42 CEST 2017
Patrick Rudolph has uploaded this change for review. ( https://review.coreboot.org/22200
Change subject: nb/intel/sandybridge/raminit: Add extended memtest
......................................................................
nb/intel/sandybridge/raminit: Add extended memtest
Run an regular or extended memtest on native raminit to make sure the DRAM
is usable. As it's very intrusive, the test is only run on cold-boot, but
not on S3 resume.
Change-Id: I31bcf8348c97b9461ee0aa792b3e53c0225d7d48
Signed-off-by: Patrick Rudolph <siro at das-labor.org>
---
M src/northbridge/intel/sandybridge/Kconfig
M src/northbridge/intel/sandybridge/raminit.c
2 files changed, 22 insertions(+), 2 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/00/22200/1
diff --git a/src/northbridge/intel/sandybridge/Kconfig b/src/northbridge/intel/sandybridge/Kconfig
index 1a47f0d..23ae067 100644
--- a/src/northbridge/intel/sandybridge/Kconfig
+++ b/src/northbridge/intel/sandybridge/Kconfig
@@ -133,6 +133,13 @@
The path and filename of the file to use as System Agent
binary.
+config RAMINIT_EXTENDED_MEMTEST
+ bool "Run extended memtest on raminit"
+ default n
+ help
+ Run extended memtest over all usable memory below 4GiB.
+ This will delay raminit training by several seconds.
+
endif # !USE_NATIVE_RAMINIT
endif
diff --git a/src/northbridge/intel/sandybridge/raminit.c b/src/northbridge/intel/sandybridge/raminit.c
index bdba748..cd6f5e5 100644
--- a/src/northbridge/intel/sandybridge/raminit.c
+++ b/src/northbridge/intel/sandybridge/raminit.c
@@ -445,8 +445,21 @@
/* Zone config */
dram_zones(&ctrl, 0);
- /* Non intrusive, fast ram check */
- quick_ram_check();
+ if (!s3resume) {
+ /* TODO: use PAE */
+ /* Test memory below 4GiB */
+ const size_t stepk = IS_ENABLED(CONFIG_RAMINIT_EXTENDED_MEMTEST)
+ ? (64 << 10) : (4 << 10);
+ const u32 tseg_base = pci_read_config32(PCI_DEV(0, 0, 0), 0xb8);
+ const size_t endk = (tseg_base & 0xfff00000) >> 10;
+
+ for (size_t basek = 0; basek < endk; basek += stepk)
+ ram_check(basek << 10, (basek + (1 << 10)) << 10);
+
+ } else {
+ /* Non intrusive, fast ram check */
+ quick_ram_check();
+ }
intel_early_me_status();
intel_early_me_init_done(ME_INIT_STATUS_SUCCESS);
--
To view, visit https://review.coreboot.org/22200
To unsubscribe, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I31bcf8348c97b9461ee0aa792b3e53c0225d7d48
Gerrit-Change-Number: 22200
Gerrit-PatchSet: 1
Gerrit-Owner: Patrick Rudolph <siro at das-labor.org>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.coreboot.org/pipermail/coreboot-gerrit/attachments/20171027/5208f622/attachment.html>
More information about the coreboot-gerrit
mailing list