[coreboot-gerrit] Patch set updated for coreboot: 63b216e bd82x6x, ibexpeak, lynxpoint: Ensure 0-filling of uninited GNVS vars.

Vladimir Serbinenko (phcoder@gmail.com) gerrit at coreboot.org
Sun Oct 5 11:25:56 CEST 2014


Vladimir Serbinenko (phcoder at gmail.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/7015

-gerrit

commit 63b216ec6a8efb4aba041d235f6ade42887fd9d0
Author: Vladimir Serbinenko <phcoder at gmail.com>
Date:   Sun Oct 5 11:07:33 2014 +0200

    bd82x6x, ibexpeak, lynxpoint: Ensure 0-filling of uninited GNVS vars.
    
    Change-Id: I672c3ca9e7f30a21330cf1920a25b1ab38b3f282
    Signed-off-by: Vladimir Serbinenko <phcoder at gmail.com>
---
 src/southbridge/intel/bd82x6x/lpc.c   | 4 ++++
 src/southbridge/intel/ibexpeak/lpc.c  | 4 ++++
 src/southbridge/intel/lynxpoint/lpc.c | 9 ++++++++-
 3 files changed, 16 insertions(+), 1 deletion(-)

diff --git a/src/southbridge/intel/bd82x6x/lpc.c b/src/southbridge/intel/bd82x6x/lpc.c
index fa05d54..a1c7c2a 100644
--- a/src/southbridge/intel/bd82x6x/lpc.c
+++ b/src/southbridge/intel/bd82x6x/lpc.c
@@ -33,6 +33,7 @@
 #include <arch/acpigen.h>
 #include <drivers/intel/gma/i915.h>
 #include <cbmem.h>
+#include <string.h>
 #include "pch.h"
 #include "nvs.h"
 
@@ -680,6 +681,9 @@ static unsigned long southbridge_fill_ssdt(unsigned long current, const char *oe
 
 	if (gnvs) {
 		int scopelen;
+
+		memset(gnvs, 0, sizeof (*gnvs));
+
 		acpi_create_gnvs(gnvs);
 		/* IGD OpRegion Base Address */
 		gnvs->aslb = (u32)opregion;
diff --git a/src/southbridge/intel/ibexpeak/lpc.c b/src/southbridge/intel/ibexpeak/lpc.c
index 7580aa9..27ece63 100644
--- a/src/southbridge/intel/ibexpeak/lpc.c
+++ b/src/southbridge/intel/ibexpeak/lpc.c
@@ -34,6 +34,7 @@
 #include <arch/acpigen.h>
 #include <drivers/intel/gma/i915.h>
 #include <cbmem.h>
+#include <string.h>
 #include "pch.h"
 #include "nvs.h"
 
@@ -674,6 +675,9 @@ static unsigned long southbridge_fill_ssdt(unsigned long current, const char *oe
 
 	if (gnvs) {
 		int scopelen;
+
+		memset(gnvs, 0, sizeof (*gnvs));
+
 		acpi_create_gnvs(gnvs);
 		/* IGD OpRegion Base Address */
 		gnvs->aslb = (u32)opregion;
diff --git a/src/southbridge/intel/lynxpoint/lpc.c b/src/southbridge/intel/lynxpoint/lpc.c
index d1a7203..451aeab 100644
--- a/src/southbridge/intel/lynxpoint/lpc.c
+++ b/src/southbridge/intel/lynxpoint/lpc.c
@@ -745,7 +745,14 @@ static void set_subsystem(device_t dev, unsigned vendor, unsigned device)
 
 static unsigned long southbridge_fill_ssdt(unsigned long current, const char *oem_table_id)
 {
-	global_nvs_t *gnvs = cbmem_add (CBMEM_ID_ACPI_GNVS, sizeof (*gnvs));
+	global_nvs_t *gnvs;
+
+	gnvs = cbmem_find(CBMEM_ID_ACPI_GNVS);
+	if (!gnvs) {
+		gnvs = cbmem_add(CBMEM_ID_ACPI_GNVS, sizeof (*gnvs));
+		if (gnvs)
+			memset(gnvs, 0, sizeof(*gnvs));
+	}
 
 	if (gnvs) {
 		int scopelen;



More information about the coreboot-gerrit mailing list