the following patch was just integrated into master:
commit f5fd4c99d5b05fd9677cf81124d5ad5ef2270011
Author: Ben Gardner <gardner.ben(a)gmail.com>
Date: Fri Nov 20 13:25:25 2015 -0600
lib/timestamp.c: only log "Timestamp table full" once
If the timestamp table gets corrupted (separate issue), the
timestamp_sync_cache_to_cbmem() function may add a large number of bogus
timestamp entries.
This causes a flood of "ERROR: Timestamp table full". With logs going
to a serial console, this renders the system essentially unbootable.
There really isn't a need to log that more than once, so log it when the
last slot in the timestamp table is filled.
Change-Id: I05d131183afceca31f4dac91c5edc95cfb1e443f
Signed-off-by: Ben Gardner <gardner.ben(a)gmail.com>
Reviewed-on: http://review.coreboot.org/12506
Tested-by: build bot (Jenkins)
Reviewed-by: Paul Menzel <paulepanter(a)users.sourceforge.net>
Reviewed-by: Patrick Georgi <pgeorgi(a)google.com>
See http://review.coreboot.org/12506 for details.
-gerrit
the following patch was just integrated into master:
commit 1ef80141c05bd1a5acb17b3b59567fd2d4dee9f0
Author: Nico Huber <nico.h(a)gmx.de>
Date: Thu Nov 5 23:27:06 2015 +0100
soc/intel/braswell: Drop gfx_read_resources()
Drop the last remnant of vanished CONFIG_MARK_GRAPHICS_MEM_WRCOMB.
Could not build test google/cyan and intel/strago due to lack of UEFI
headers, OMG.
Change-Id: I0b9eac5c040d24bab2b85e9b63042b6aaa9879d9
Signed-off-by: Nico Huber <nico.h(a)gmx.de>
Reviewed-on: http://review.coreboot.org/12338
Tested-by: build bot (Jenkins)
Reviewed-by: Paul Menzel <paulepanter(a)users.sourceforge.net>
Reviewed-by: Martin Roth <martinroth(a)google.com>
See http://review.coreboot.org/12338 for details.
-gerrit
the following patch was just integrated into master:
commit 22861385613e34a16ef745917f6956a92243d88b
Author: Zheng Bao <fishbaozi(a)gmail.com>
Date: Sat Nov 21 12:19:22 2015 +0800
AMD/bettong: Add UART support
The function delay in uart8250mem.c is not enough for hudson. I guess
there are some problems in lapic_timer(). I uploaded a patch to gerrit
to show the way to enable UART feature.
http://review.coreboot.org/#/c/12343/4
Currently the HUDSON_UART is unchecked by default. Select HUDSON_UART to
enable this feature.
The UART is test at BIOS stage.
Since it is not a standart UART device, the windows internal UART driver
doesnt support it. I guess we need a driver to use it on windows.
Change-Id: I4cec833cc2ff8069c82886837f7cbd4483ff11bb
Signed-off-by: Zheng Bao <zheng.bao(a)amd.com>
Signed-off-by: Zheng Bao <fishbaozi(a)gmail.com>
Reviewed-on: http://review.coreboot.org/11749
Tested-by: build bot (Jenkins)
Reviewed-by: Aaron Durbin <adurbin(a)chromium.org>
See http://review.coreboot.org/11749 for details.
-gerrit
Jonathan A. Kollasch (jakllsch(a)kollasch.net) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/12528
-gerrit
commit f1dc6b99e184fbb97d3c39224d48b90e7c80d312
Author: Jonathan A. Kollasch <jakllsch(a)kollasch.net>
Date: Tue Nov 24 10:15:22 2015 -0600
amd/car: don't apply Fam10h/Fam12h Errata 343 fix to Fam0Fh
Fixes early fault problem on Fam0Fh introduced in
Change I8e01a4ab68b463efe02c27f589e0b4b719532eb5,
commit 991f18475c951dcd728eb8550b10dd62938b1770.
Change-Id: Id215d2822b78917939c28f7a922a94e02e5d15bf
Signed-off-by: Jonathan A. Kollasch <jakllsch(a)kollasch.net>
---
src/cpu/amd/car/post_cache_as_ram.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/src/cpu/amd/car/post_cache_as_ram.c b/src/cpu/amd/car/post_cache_as_ram.c
index 2c11777..b532345 100644
--- a/src/cpu/amd/car/post_cache_as_ram.c
+++ b/src/cpu/amd/car/post_cache_as_ram.c
@@ -79,18 +79,18 @@ static void prepare_ramstage_region(void *resume_backup_memory)
print_car_debug(" Done\n");
}
-/* Disable Erratum 343 Workaround, see RevGuide for Fam10h, Pub#41322 Rev 3.33 */
+/* Disable Erratum 343 Workaround, see RevGuide for Fam10h, Pub#41322 Rev 3.33
+ * and RevGuide for Fam12h, Pub#44739 Rev 3.10
+ */
static void vErrata343(void)
{
-#ifdef BU_CFG2_MSR
msr_t msr;
unsigned int uiMask = 0xFFFFFFF7;
msr = rdmsr(BU_CFG2_MSR);
msr.hi &= uiMask; // IcDisSpecTlbWr (bit 35) = 0
wrmsr(BU_CFG2_MSR, msr);
-#endif
}
void post_cache_as_ram(void)
@@ -121,8 +121,8 @@ void post_cache_as_ram(void)
prepare_romstage_ramstack(resume_backup_memory);
/* from here don't store more data in CAR */
- if (family < 0x6f) {
- /* Family 10h or earlier */
+ if (family > 0xf && family < 0x6f) {
+ /* Family 10h and 12h, maybe others */
vErrata343();
}
Timothy Pearson (tpearson(a)raptorengineeringinc.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/12054
-gerrit
commit 9346e87bb14e284fe1051576b7f692ee5e244768
Author: Timothy Pearson <tpearson(a)raptorengineeringinc.com>
Date: Thu Aug 20 15:53:25 2015 -0500
northbridge/amd/amdfam10: Work around sporadic lockups when CC6 enabled
Change-Id: If31140651f25f9c524a824b2da552ce3690eae18
Signed-off-by: Timothy Pearson <tpearson(a)raptorengineeringinc.com>
---
src/northbridge/amd/amdfam10/northbridge.c | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/src/northbridge/amd/amdfam10/northbridge.c b/src/northbridge/amd/amdfam10/northbridge.c
index 60ad8c4..3177a5f 100644
--- a/src/northbridge/amd/amdfam10/northbridge.c
+++ b/src/northbridge/amd/amdfam10/northbridge.c
@@ -812,6 +812,20 @@ static void amdfam10_domain_read_resources(device_t dev)
else
qword = 0x1000000;
+ /* FIXME
+ * The BKDG appears to be incorrect as to the location of the CC6 save region
+ * lower boundary on non-interleaved systems, causing lockups on attempted write
+ * to the CC6 save region.
+ *
+ * For now, work around by allocating the maximum possible CC6 save region size.
+ *
+ * Determine if this is a BKDG error or a setup problem and remove this warning!
+ */
+ qword = (0x1 << 27);
+ max_range_limit = (((uint64_t)(pci_read_config32(get_node_pci(max_node, 1), 0x124) & 0x1fffff)) << 27) - 1;
+
+ printk(BIOS_INFO, "Reserving CC6 save segment base: %08llx size: %08llx\n", (max_range_limit + 1), qword);
+
/* Reserve the CC6 save segment */
reserved_ram_resource(dev, 8, (max_range_limit + 1) >> 10, qword >> 10);
}