the following patch was just integrated into master:
commit 72af5d79f9f66e59533f00b58b4cc528658c904b
Author: Ben Frisch <bfrisch(a)gmail.com>
Date: Sat May 9 19:52:18 2015 -0500
smbios: Calculate SMBIOS Max Struct size
The SMBIOS Specification 2.3 and up defines Maximum Structure Size
as the "Size of the largest SMBIOS structure, in bytes, and encompasses
the structure’s formatted area and text strings." The hardcoded size
is too small to accurately represent the maximum SMBIOS structure sizes.
While the field is not used by Linux it is used by some RTOS
implementations, eg. VxWorks.
TEST=Booted Linux and ran github.com/bfrisch/dmidecode which verified
the maximum structure size on Minnowboard Max.
Change-Id: I98087975c53a02857742dea283f4e303485b2ffe
Signed-off-by: Ben Frisch <bfrisch(a)gmail.com>
Reviewed-on: http://review.coreboot.org/10163
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/10163 for details.
-gerrit
Ben Frisch (bfrisch(a)gmail.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/10163
-gerrit
commit b4fc4039f2a5422777e06e6cd5af0ecc16802051
Author: Ben Frisch <bfrisch(a)gmail.com>
Date: Sat May 9 19:52:18 2015 -0500
smbios: Calculate SMBIOS Max Struct size
The SMBIOS Specification 2.3 and up defines Maximum Structure Size
as the "Size of the largest SMBIOS structure, in bytes, and encompasses
the structure’s formatted area and text strings." The hardcoded size
is too small to accurately represent the maximum SMBIOS structure sizes.
While the field is not used by Linux it is used by some RTOS
implementations, eg. VxWorks.
TEST=Booted Linux and ran github.com/bfrisch/dmidecode which verified
the maximum structure size on Minnowboard Max.
Change-Id: I98087975c53a02857742dea283f4e303485b2ffe
Signed-off-by: Ben Frisch <bfrisch(a)gmail.com>
---
src/arch/x86/boot/smbios.c | 29 ++++++++++++++++-------------
1 file changed, 16 insertions(+), 13 deletions(-)
diff --git a/src/arch/x86/boot/smbios.c b/src/arch/x86/boot/smbios.c
index 1dbe32d..fc5ac66 100644
--- a/src/arch/x86/boot/smbios.c
+++ b/src/arch/x86/boot/smbios.c
@@ -529,11 +529,14 @@ static int smbios_walk_device_tree(struct device *tree, int *handle, unsigned lo
return len;
}
+#define update_max(len, max_len, stmt) do { int tmp = stmt; max_len = MAX(max_len, tmp); len += tmp; } while(0)
unsigned long smbios_write_tables(unsigned long current)
{
struct smbios_entry *se;
unsigned long tables;
- int len, handle = 0;
+ int len = 0;
+ int max_struct_size = 0;
+ int handle = 0;
current = ALIGN(current, 16);
printk(BIOS_DEBUG, "%s: %08lx\n", __func__, current);
@@ -543,28 +546,28 @@ unsigned long smbios_write_tables(unsigned long current)
current = ALIGN(current, 16);
tables = current;
- len = smbios_write_type0(¤t, handle++);
- len += smbios_write_type1(¤t, handle++);
- len += smbios_write_type2(¤t, handle++);
- len += smbios_write_type3(¤t, handle++);
- len += smbios_write_type4(¤t, handle++);
- len += smbios_write_type11(¤t, &handle);
+ update_max(len, max_struct_size, smbios_write_type0(¤t, handle++));
+ update_max(len, max_struct_size, smbios_write_type1(¤t, handle++));
+ update_max(len, max_struct_size, smbios_write_type2(¤t, handle++));
+ update_max(len, max_struct_size, smbios_write_type3(¤t, handle++));
+ update_max(len, max_struct_size, smbios_write_type4(¤t, handle++));
+ update_max(len, max_struct_size, smbios_write_type11(¤t, &handle));
#if CONFIG_ELOG
- len += elog_smbios_write_type15(¤t, handle++);
+ update_max(len, max_struct_size, smbios_write_type15(¤t, &handle));
#endif
- len += smbios_write_type17(¤t, &handle);
- len += smbios_write_type32(¤t, handle++);
+ update_max(len, max_struct_size, smbios_write_type17(¤t, &handle));
+ update_max(len, max_struct_size, smbios_write_type32(¤t, handle++));
- len += smbios_walk_device_tree(all_devices, &handle, ¤t);
+ update_max(len, max_struct_size, smbios_walk_device_tree(all_devices, &handle, ¤t));
- len += smbios_write_type127(¤t, handle++);
+ update_max(len, max_struct_size, smbios_write_type127(¤t, handle++));
memset(se, 0, sizeof(struct smbios_entry));
memcpy(se->anchor, "_SM_", 4);
se->length = sizeof(struct smbios_entry);
se->major_version = 2;
se->minor_version = 7;
- se->max_struct_size = 24;
+ se->max_struct_size = max_struct_size;
se->struct_count = handle;
memcpy(se->intermediate_anchor_string, "_DMI_", 5);
the following patch was just integrated into master:
commit f6dde95e8722bf8b5cfbba9469f3aabea3a593ab
Author: Alexander Couzens <lynxis(a)fe80.eu>
Date: Sun May 24 03:17:42 2015 +0200
ec/lenovo/h8: silence sound on boot
Fix a bug when a sound was generated while going into suspend.
E.g. When a low battery sound is played while going into suspend
a sample is stuck in this register. The user will hear a sample forever.
Change-Id: I103a5f462c8044ef5875a9adf812234b5e6960ac
Signed-off-by: Alexander Couzens <lynxis(a)fe80.eu>
Reviewed-on: http://review.coreboot.org/10297
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer(a)coreboot.org>
Reviewed-by: Paul Menzel <paulepanter(a)users.sourceforge.net>
Reviewed-by: Nicolas Reinecke <nr(a)das-labor.org>
See http://review.coreboot.org/10297 for details.
-gerrit
the following patch was just integrated into master:
commit 49a8c8a3adc94c76542389b0bb3dcabec9eb7280
Author: Patrick Georgi <pgeorgi(a)chromium.org>
Date: Mon Jul 6 20:50:33 2015 +0200
sandybridge: provide monotonic timer function
This fixes building the ELOG_GSMI feature by using the TSC as time source for
the flash drivers.
It's not the most precise clock, but should be good enough for the purpose.
Change-Id: I2d416c34268236228300a9e868628c35e22bf40c
Signed-off-by: Patrick Georgi <pgeorgi(a)chromium.org>
Reviewed-on: http://review.coreboot.org/10813
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer(a)coreboot.org>
See http://review.coreboot.org/10813 for details.
-gerrit
the following patch was just integrated into master:
commit 11ac97bb2b4f9d58e899880f536d437a305f3829
Author: Patrick Georgi <pgeorgi(a)chromium.org>
Date: Mon Jul 6 09:31:42 2015 +0000
gitconfig: Improve robustness when blobs aren't present
With no blobs present the 'make gitconfig' target failed when
trying to add a file to a directory which doesn't exist.
Only try to deal with blobs if they're around.
Change-Id: I27ed33e2e22bb1571bc73fe55cf45aa1e2310bf1
Signed-off-by: Patrick Georgi <pgeorgi(a)chromium.org>
Reviewed-on: http://review.coreboot.org/10806
Reviewed-by: Paul Menzel <paulepanter(a)users.sourceforge.net>
Reviewed-by: Stefan Reinauer <stefan.reinauer(a)coreboot.org>
Tested-by: build bot (Jenkins)
See http://review.coreboot.org/10806 for details.
-gerrit
Stefan Reinauer (stefan.reinauer(a)coreboot.org) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/10822
-gerrit
commit 71e05d30389c319e84a68ed79cba7fdde9878549
Author: Stefan Reinauer <stefan.reinauer(a)coreboot.org>
Date: Tue Jul 7 02:11:21 2015 +0200
amd/lamar: drop unused value from mainboard_intr_data[]
This value is overwritten in the next line.
Change-Id: I622c35b8d78f6b01f2532dd8b40db15b2e888f58
Signed-off-by: Stefan Reinauer <stefan.reinauer(a)coreboot.org>
---
src/mainboard/amd/lamar/mainboard.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/mainboard/amd/lamar/mainboard.c b/src/mainboard/amd/lamar/mainboard.c
index 6d4bb06..050ac64 100644
--- a/src/mainboard/amd/lamar/mainboard.c
+++ b/src/mainboard/amd/lamar/mainboard.c
@@ -79,7 +79,7 @@ const u8 mainboard_intr_data[] = {
/* Misc-nil,0,1,2, INT from Serial irq */
[0x08] = 0x00,0x00,0x00,0x00,0x1F,0x1F,0x1F,0x1F,
/* SCI, SMBUS0, ASF, HDA, FC, GEC, PerMon, SD */
- [0x10] = 0x09,0x1F,0x1F,0x10,0x1F,0x1F,0x1F,0x10,0x1F,
+ [0x10] = 0x09,0x1F,0x1F,0x10,0x1F,0x1F,0x1F,0x10,
[0x18] = 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,
/* IMC INT0 - 5 */
[0x20] = 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,
the following patch was just integrated into master:
commit 9d6a17b549ccb200ad9d04c7051e1404741a9d38
Author: Jonathan A. Kollasch <jakllsch(a)kollasch.net>
Date: Mon Jul 6 08:29:00 2015 -0500
util/cbfstool: use _XOPEN_SOURCE=700 to find strdup(3)
Change-Id: I974c6c8733356cc8ea4e0505136a34b6055abf0c
Signed-off-by: Jonathan A. Kollasch <jakllsch(a)kollasch.net>
Reviewed-on: http://review.coreboot.org/10809
Reviewed-by: Patrick Georgi <pgeorgi(a)google.com>
Tested-by: build bot (Jenkins)
See http://review.coreboot.org/10809 for details.
-gerrit
Stefan Reinauer (stefan.reinauer(a)coreboot.org) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/10822
-gerrit
commit 17e453fb60b3eceb8e4fb6094377e293794a0682
Author: Stefan Reinauer <stefan.reinauer(a)coreboot.org>
Date: Tue Jul 7 02:11:21 2015 +0200
amd/lamar: drop unused value from mainboard_intr_data[]
This value is overwritten in the next line.
Change-Id: I622c35b8d78f6b01f2532dd8b40db15b2e888f58
Signed-off-by: Stefan Reinauer <stefan.reinauer(a)coreboot.org>
---
src/mainboard/amd/lamar/mainboard.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/mainboard/amd/lamar/mainboard.c b/src/mainboard/amd/lamar/mainboard.c
index 6d4bb06..050ac64 100644
--- a/src/mainboard/amd/lamar/mainboard.c
+++ b/src/mainboard/amd/lamar/mainboard.c
@@ -79,7 +79,7 @@ const u8 mainboard_intr_data[] = {
/* Misc-nil,0,1,2, INT from Serial irq */
[0x08] = 0x00,0x00,0x00,0x00,0x1F,0x1F,0x1F,0x1F,
/* SCI, SMBUS0, ASF, HDA, FC, GEC, PerMon, SD */
- [0x10] = 0x09,0x1F,0x1F,0x10,0x1F,0x1F,0x1F,0x10,0x1F,
+ [0x10] = 0x09,0x1F,0x1F,0x10,0x1F,0x1F,0x1F,0x10,
[0x18] = 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,
/* IMC INT0 - 5 */
[0x20] = 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,