summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorScott Radcliffe <sradcliffe@microind.com>2014-10-10 16:26:05 -0400
committerMarc Jones <marc.jones@se-eng.com>2014-10-14 18:58:46 +0200
commit375e6ce4aeee449c34a6d3efb6374c5684f7b32f (patch)
tree48423c96f7fd1b15e5b939cd65f2927da05b5e99
parent9310df8d0351842e7bb9efe3cabc0ff82ec99c53 (diff)
downloadcoreboot-staging-375e6ce4aeee449c34a6d3efb6374c5684f7b32f.zip
coreboot-staging-375e6ce4aeee449c34a6d3efb6374c5684f7b32f.tar.gz
intel/fsp_baytrail: Clear the GNVS area prior to filling
Zero out the GNVS area so that uninitialized portions are defined. Tests using Microsoft Windows (XP/7/8) gave a bluescreen bugcheck: A5 (ACPI_BIOS_ERROR) with the first parameter (0x00001000) (ACPI_BIOS_USING_OS_MEMORY). Some ACPI enumerated devices use the GNVS area to define whether they're enabled and their MMIO regions. On my custom baytrail-based board and build, these devices were disabled but GNVS had uninitialized data indicating the devices were enabled with improper MMIO regions. Should investigate further to see where the GNVS device values are set if enabled and make sure they're set to valid values even when the devices are disabled via the mainboard/devicetree.cb. Change-Id: I2b575c65bfaab58ae6206ac6f457c259c27a7d97 Signed-off-by: Scott Radcliffe <sradcliffe@microind.com> Reviewed-on: http://review.coreboot.org/7040 Tested-by: build bot (Jenkins) Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net> Reviewed-by: Marc Jones <marc.jones@se-eng.com>
-rw-r--r--src/soc/intel/fsp_baytrail/acpi.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/soc/intel/fsp_baytrail/acpi.c b/src/soc/intel/fsp_baytrail/acpi.c
index dece178..fb0dc87 100644
--- a/src/soc/intel/fsp_baytrail/acpi.c
+++ b/src/soc/intel/fsp_baytrail/acpi.c
@@ -88,6 +88,9 @@ static acpi_cstate_t cstate_map[] = {
void acpi_init_gnvs(global_nvs_t *gnvs)
{
+ /* Clear gnvs area so uninitialized portions are defined */
+ memset(gnvs, 0, sizeof(*gnvs));
+
/* CPU core count */
gnvs->pcnt = dev_count_cpu();
OpenPOWER on IntegriCloud