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>
This commit is contained in:
Scott Radcliffe 2014-10-10 16:26:05 -04:00 committed by Marc Jones
parent 9310df8d03
commit 375e6ce4ae
1 changed files with 3 additions and 0 deletions

View File

@ -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();