Stefan Reinauer (stefan.reinauer(a)coreboot.org) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/4210
-gerrit
commit 12f523f839f36d70adfe989ccc24b28e4ae29811
Author: Duncan Laurie <dlaurie(a)chromium.org>
Date: Wed May 29 07:49:55 2013 -0700
lynxpoint: Do not clear ACPI NVS region on resume
There are useful values in NVS that are set at boot
and runtime and they should not be cleared on resume.
suspend/resume twice on slippy and ensure
that the USB ports are still powered on the second suspend.
Change-Id: I4bce60b02b6637f6683120ae9c4a5c64563aacf7
Signed-off-by: Duncan Laurie <dlaurie(a)chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/56941
Reviewed-by: Aaron Durbin <adurbin(a)chromium.org>
---
src/southbridge/intel/lynxpoint/lpc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/southbridge/intel/lynxpoint/lpc.c b/src/southbridge/intel/lynxpoint/lpc.c
index ff50476..cc95454 100644
--- a/src/southbridge/intel/lynxpoint/lpc.c
+++ b/src/southbridge/intel/lynxpoint/lpc.c
@@ -701,7 +701,7 @@ static void pch_lpc_read_resources(device_t dev)
/* Allocate ACPI NVS in CBMEM */
gnvs = cbmem_add(CBMEM_ID_ACPI_GNVS, sizeof(global_nvs_t));
- if (gnvs)
+ if (acpi_slp_type != 3 && gnvs)
memset(gnvs, 0, sizeof(global_nvs_t));
}
the following patch was just integrated into master:
commit 2e0c3dc80cd6235ffd8dbf489e0e07e76b9c307b
Author: Kyösti Mälkki <kyosti.malkki(a)gmail.com>
Date: Wed Nov 27 22:54:11 2013 +0200
CBMEM console: increase temporary buffer size for non-dynamic CBMEM
Make temporary buffer allocation equal with the allocation in CBMEM and
let copy_console_buffer() handle possible truncation.
When not using dynamic CBMEM the CBMEM area is initialized late in the
ramstage and should be able to hold almost as many characters as the
CBMEM can hold. We have seen 40000 was not always enough with logging
level set to spew, new default size is 0x10000.
Change-Id: If4b143fdf807e28b6766b8b99db5216b767948d5
Signed-off-by: Kyösti Mälkki <kyosti.malkki(a)gmail.com>
See http://review.coreboot.org/4295 for details.
-gerrit
the following patch was just integrated into master:
commit a44fecb246503cfe4f43c11303d16255fb3c1bbd
Author: Stefan Reinauer <reinauer(a)chromium.org>
Date: Mon Sep 9 11:22:18 2013 -0700
cbmem console: reduce temporary buffer size for dynamic CBMEM
When using dynamic CBMEM the CBMEM area is initialized before
entering ram stage, and so we need a way smaller temporary buffer
for the CBMEM console during early bits of ram stage. In practice
around 256 bytes are needed, but keep the buffer at 1k so we make
sure we don't run out.
TEST=Boot tested on pit
BRANCH=none
BUG=none
Change-Id: I462810b7bafbcc57f8e5f9b1d1f38cfdf85fa630
Signed-off-by: Stefan Reinauer <reinauer(a)google.com>
Reviewed-on: https://chromium-review.googlesource.com/168575
Reviewed-by: Aaron Durbin <adurbin(a)chromium.org>
[km: cherry-pick 7fd1bbc0 from chromium git]
Signed-off-by: Kyösti Mälkki <kyosti.malkki(a)gmail.com>
See http://review.coreboot.org/4293 for details.
-gerrit
the following patch was just integrated into master:
commit 55e8c2221942e150099ef61db87fca7fbeb1475b
Author: Kyösti Mälkki <kyosti.malkki(a)gmail.com>
Date: Wed Nov 27 17:51:31 2013 +0200
CBMEM console: Prevent buffer overrun
Make sure memcpy target and a possible message telling log was truncated
stay within the allocated region for CBMEM console.
This fixes observed CBMEM corruption on platforms that do not use CBMEM
console during romstage. Those platforms will need an additional fix to
reset cursor position to zero on s3 resume.
Change-Id: I76501ca3afc716545ca76ebca1119995126a43f8
Signed-off-by: Kyösti Mälkki <kyosti.malkki(a)gmail.com>
See http://review.coreboot.org/4292 for details.
-gerrit
the following patch was just integrated into master:
commit 323856524ea1bdb70556c501f985ce9e1f4b623d
Author: Andrew Wu <arw(a)dmp.com.tw>
Date: Thu Oct 24 20:37:48 2013 +0800
dmp/vortex86ex: Add timeout for keyboard system flag checking.
If Vortex86EX PS/2 keyboard controller system flag bit times out,
reload controller firmware code and try again.
Abort and die after 11 tries as this means the CPU is defect. Also
inform the user by printing a message.
Change-Id: I24aec4b20d85c721c01e72686f3eb1259f9334b8
Signed-off-by: Andrew Wu <arw(a)dmp.com.tw>
See http://review.coreboot.org/3988 for details.
-gerrit
the following patch was just integrated into master:
commit a82f9fc6c7acef701cab1e39f0adde3b73f02f11
Author: Vladimir Serbinenko <phcoder(a)gmail.com>
Date: Mon Nov 25 23:40:01 2013 +0100
ibexpeak: set HAVE_USBDEBUG_OPTIONS
Previously, I've set this config in mobo config, yet according to
Kyösti Mälkki this parameter is southbridge-specific and not
mobo-specific.
Change-Id: I92428aed5a69d88a371f5d7267bc54ba7530766c
Signed-off-by: Vladimir Serbinenko <phcoder(a)gmail.com>
See http://review.coreboot.org/4276 for details.
-gerrit
Zheng Bao (zheng.bao(a)amd.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/4297
-gerrit
commit 972c32d9ea77447c53874ec46c0616bd0e74503a
Author: Zheng Bao <fishbaozi(a)gmail.com>
Date: Fri Nov 29 21:06:53 2013 +0800
AMD IMC AGESA: Access the data in stack by correct length.
The values of AccessWidthxx are
{ AccessWidth8 = 1,
AccessWidth16,
AccessWidth32,}
For the case of AccessWidth8, we only need to access the index/data
once. But ReadECmsg and WriteECmsg did the loop 1 more time than they
are supposed to do. So did the 16-bit and 32-bits accessing. The data
in stack next to "Value" will be overwritten.
That is an AGESA bug. We need to push this issue back to AMD's team
to fix that.
Change-Id: I566f74c242ce93f4569eedf69ca07d2fb7fb368d
Signed-off-by: Zheng Bao <zheng.bao(a)amd.com>
Signed-off-by: Zheng Bao <fishbaozi(a)gmail.com>
---
src/vendorcode/amd/agesa/f12/Proc/Fch/Imc/ImcLib.c | 4 ++--
src/vendorcode/amd/agesa/f15tn/Proc/Fch/Imc/ImcLib.c | 4 ++--
src/vendorcode/amd/agesa/f16kb/Proc/Fch/Imc/ImcLib.c | 4 ++--
3 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/src/vendorcode/amd/agesa/f12/Proc/Fch/Imc/ImcLib.c b/src/vendorcode/amd/agesa/f12/Proc/Fch/Imc/ImcLib.c
index 1a3f7dd..da85390 100644
--- a/src/vendorcode/amd/agesa/f12/Proc/Fch/Imc/ImcLib.c
+++ b/src/vendorcode/amd/agesa/f12/Proc/Fch/Imc/ImcLib.c
@@ -58,7 +58,7 @@ WriteECmsg (
OpFlag = OpFlag & 0x7f;
if (OpFlag == 0x02) OpFlag = 0x03;
- for (Index = 0; Index <= OpFlag; Index++) {
+ for (Index = 0; Index < OpFlag; Index++) {
/// EC_LDN9_MAILBOX_BASE_ADDRESS
LibAmdIoWrite (AccessWidth8, 0x3E, &Address, StdHeader);
Address++;
@@ -80,7 +80,7 @@ ReadECmsg (
OpFlag = OpFlag & 0x7f;
if (OpFlag == 0x02) OpFlag = 0x03;
- for (Index = 0; Index <= OpFlag; Index++) {
+ for (Index = 0; Index < OpFlag; Index++) {
/// EC_LDN9_MAILBOX_BASE_ADDRESS
LibAmdIoWrite (AccessWidth8, 0x3E, &Address, StdHeader);
Address++;
diff --git a/src/vendorcode/amd/agesa/f15tn/Proc/Fch/Imc/ImcLib.c b/src/vendorcode/amd/agesa/f15tn/Proc/Fch/Imc/ImcLib.c
index a451c41..10f8dfc 100644
--- a/src/vendorcode/amd/agesa/f15tn/Proc/Fch/Imc/ImcLib.c
+++ b/src/vendorcode/amd/agesa/f15tn/Proc/Fch/Imc/ImcLib.c
@@ -60,7 +60,7 @@ WriteECmsg (
OpFlag = 0x03;
}
- for (Index = 0; Index <= OpFlag; Index++) {
+ for (Index = 0; Index < OpFlag; Index++) {
/// EC_LDN9_MAILBOX_BASE_ADDRESS
LibAmdIoWrite (AccessWidth8, 0x3E, &Address, StdHeader);
Address++;
@@ -84,7 +84,7 @@ ReadECmsg (
OpFlag = 0x03;
}
- for (Index = 0; Index <= OpFlag; Index++) {
+ for (Index = 0; Index < OpFlag; Index++) {
/// EC_LDN9_MAILBOX_BASE_ADDRESS
LibAmdIoWrite (AccessWidth8, 0x3E, &Address, StdHeader);
Address++;
diff --git a/src/vendorcode/amd/agesa/f16kb/Proc/Fch/Imc/ImcLib.c b/src/vendorcode/amd/agesa/f16kb/Proc/Fch/Imc/ImcLib.c
index 05f5727..5490cf5 100644
--- a/src/vendorcode/amd/agesa/f16kb/Proc/Fch/Imc/ImcLib.c
+++ b/src/vendorcode/amd/agesa/f16kb/Proc/Fch/Imc/ImcLib.c
@@ -71,7 +71,7 @@ WriteECmsg (
OpFlag = 0x03;
}
- for (Index = 0; Index <= OpFlag; Index++) {
+ for (Index = 0; Index < OpFlag; Index++) {
/// EC_LDN9_MAILBOX_BASE_ADDRESS
LibAmdIoWrite (AccessWidth8, MailBoxPort, &Address, StdHeader);
Address++;
@@ -106,7 +106,7 @@ ReadECmsg (
OpFlag = 0x03;
}
- for (Index = 0; Index <= OpFlag; Index++) {
+ for (Index = 0; Index < OpFlag; Index++) {
/// EC_LDN9_MAILBOX_BASE_ADDRESS
LibAmdIoWrite (AccessWidth8, MailBoxPort, &Address, StdHeader);
Address++;