Andrey Petrov (andrey.petrov(a)intel.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/14471
-gerrit
commit 17ecc076bfddde0712099cb9bab5c91b5f8d7bfe
Author: Lance Zhao <lijian.zhao(a)intel.com>
Date: Tue Apr 19 18:04:21 2016 -0700
soc/intel/apollolake: Add handling of GNVS ACPI entry for CHROMES builds
Add chromeos required GNVS feature. The GNVS table stays in both CBMEM
and ACPI DSDT tables.
Change-Id: I4db0eb18d2de62917a94704318a7896c04e4777f
Signed-off-by: Andrey Petrov <andrey.petrov(a)intel.com>
---
src/soc/intel/apollolake/acpi.c | 29 ++++++++++++++++++++++
src/soc/intel/apollolake/acpi/globalnvs.asl | 35 +++++++++++++++++++++++++++
src/soc/intel/apollolake/chip.c | 6 +++++
src/soc/intel/apollolake/include/soc/acpi.h | 2 ++
src/soc/intel/apollolake/include/soc/nvs.h | 37 +++++++++++++++++++++++++++++
src/soc/intel/apollolake/lpc.c | 1 +
6 files changed, 110 insertions(+)
diff --git a/src/soc/intel/apollolake/acpi.c b/src/soc/intel/apollolake/acpi.c
index 7d28313..a5d1dfa 100644
--- a/src/soc/intel/apollolake/acpi.c
+++ b/src/soc/intel/apollolake/acpi.c
@@ -16,12 +16,15 @@
*/
#include <arch/acpi.h>
+#include <arch/acpigen.h>
#include <arch/ioapic.h>
#include <arch/smp/mpspec.h>
+#include <cbmem.h>
#include <cpu/x86/smm.h>
#include <soc/acpi.h>
#include <soc/iomap.h>
#include <soc/pm.h>
+#include <soc/nvs.h>
unsigned long acpi_fill_mcfg(unsigned long current)
{
@@ -125,3 +128,29 @@ unsigned long southbridge_write_acpi_tables(device_t device,
{
return acpi_write_hpet(device, current, rsdp);
}
+
+static void acpi_create_gnvs(struct global_nvs_t *gnvs)
+{
+ if (IS_ENABLED(CONFIG_CHROMEOS)) {
+ /* Initialize Verified Boot data */
+ chromeos_init_vboot(&gnvs->chromeos);
+ gnvs->chromeos.vbt2 = ACTIVE_ECFW_RO;
+ }
+}
+
+void southbridge_inject_dsdt(device_t device)
+{
+ struct global_nvs_t *gnvs;
+
+ gnvs = cbmem_find(CBMEM_ID_ACPI_GNVS);
+
+ if (gnvs) {
+ acpi_create_gnvs(gnvs);
+ acpi_save_gnvs((uintptr_t)gnvs);
+
+ /* Add it to DSDT. */
+ acpigen_write_scope("\\");
+ acpigen_write_name_dword("NVSA", (uintptr_t)gnvs);
+ acpigen_pop_len();
+ }
+}
diff --git a/src/soc/intel/apollolake/acpi/globalnvs.asl b/src/soc/intel/apollolake/acpi/globalnvs.asl
new file mode 100644
index 0000000..2ef5031
--- /dev/null
+++ b/src/soc/intel/apollolake/acpi/globalnvs.asl
@@ -0,0 +1,35 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2016 Intel Corp.
+ * (Written by Alexandru Gagniuc <alexandrux.gagniuc(a)intel.com> for Intel Corp.)
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
+/*
+ * NOTE: The layout of the GNVS structure below must match the layout in
+ * soc/intel/apollolake/include/soc/nvs.h !!!
+ *
+ */
+
+External (NVSA)
+
+OperationRegion (GNVS, SystemMemory, NVSA, 0x1000)
+Field (GNVS, ByteAcc, NoLock, Preserve)
+{
+ /* Nothing here yet, folks */
+ Offset (0x00),
+
+ /* ChromeOS stuff (0x100 -> 0xfff, size 0xeff) */
+ Offset (0x100),
+ #include <vendorcode/google/chromeos/acpi/gnvs.asl>
+}
diff --git a/src/soc/intel/apollolake/chip.c b/src/soc/intel/apollolake/chip.c
index d2a1e0d..6e0a90f 100644
--- a/src/soc/intel/apollolake/chip.c
+++ b/src/soc/intel/apollolake/chip.c
@@ -17,6 +17,7 @@
*/
#include <bootstate.h>
+#include <cbmem.h>
#include <console/console.h>
#include <cpu/cpu.h>
#include <device/device.h>
@@ -26,6 +27,7 @@
#include <memrange.h>
#include <soc/iomap.h>
#include <soc/cpu.h>
+#include <soc/nvs.h>
#include <soc/pci_devs.h>
#include "chip.h"
@@ -65,11 +67,15 @@ static void enable_dev(device_t dev)
static void soc_init(void *data)
{
struct range_entry range;
+ struct global_nvs_t *gnvs;
/* TODO: tigten this resource range */
/* TODO: fix for S3 resume, as this would corrupt OS memory */
range_entry_init(&range, 0x200000, 4ULL*GiB, 0);
fsp_silicon_init(&range);
+
+ /* Allocate ACPI NVS in CBMEM */
+ gnvs = cbmem_add(CBMEM_ID_ACPI_GNVS, sizeof(*gnvs));
}
void platform_fsp_silicon_init_params_cb(struct FSPS_UPD *silupd)
diff --git a/src/soc/intel/apollolake/include/soc/acpi.h b/src/soc/intel/apollolake/include/soc/acpi.h
index 2d20805..3605cc3 100644
--- a/src/soc/intel/apollolake/include/soc/acpi.h
+++ b/src/soc/intel/apollolake/include/soc/acpi.h
@@ -25,4 +25,6 @@ void soc_fill_common_fadt(acpi_fadt_t * fadt);
unsigned long southbridge_write_acpi_tables(device_t device,
unsigned long current, struct acpi_rsdp *rsdp);
+void southbridge_inject_dsdt(device_t device);
+
#endif /* _SOC_APOLLOLAKE_ACPI_H_ */
diff --git a/src/soc/intel/apollolake/include/soc/nvs.h b/src/soc/intel/apollolake/include/soc/nvs.h
new file mode 100644
index 0000000..8b3a3af
--- /dev/null
+++ b/src/soc/intel/apollolake/include/soc/nvs.h
@@ -0,0 +1,37 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2015 Intel Corp.
+ * (Written by Lance Zhao <lijian.zhao(a)intel.com> for Intel Corp.)
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
+/*
+ * NOTE: The layout of the global_nvs_t structure below must match the layout
+ * in soc/intel/apollolake/acpi/globalnvs.asl !!!
+ *
+ */
+
+#ifndef _SOC_APOLLOLAKE_NVS_H_
+#define _SOC_APOLLOLAKE_NVS_H_
+
+#include <vendorcode/google/chromeos/gnvs.h>
+
+struct global_nvs_t {
+ /* Miscellaneous */
+ uint8_t unused[256];
+
+ /* ChromeOS specific (0x100 - 0xfff) */
+ chromeos_acpi_t chromeos;
+} __attribute__((packed));
+
+#endif /* _SOC_APOLLOLAKE_NVS_H_ */
diff --git a/src/soc/intel/apollolake/lpc.c b/src/soc/intel/apollolake/lpc.c
index 6e366e0..06ca0db 100644
--- a/src/soc/intel/apollolake/lpc.c
+++ b/src/soc/intel/apollolake/lpc.c
@@ -86,6 +86,7 @@ static struct device_operations device_ops = {
.set_resources = &pci_dev_set_resources,
.enable_resources = &pci_dev_enable_resources,
.write_acpi_tables = southbridge_write_acpi_tables,
+ .acpi_inject_dsdt_generator = southbridge_inject_dsdt,
.init = &lpc_init
};
Noah Glovsky (noah.glovsky(a)watershedschool.org) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/14530
-gerrit
commit 81eb184b9422e3ac704a32bd98ba039cc5055d20
Author: Noah Glovsky <noah.glovsky(a)watershedschool.org>
Date: Wed Apr 27 13:09:15 2016 -0600
mainboard/asus:add license headers
Change-Id: I71e461b91f981368d4bd13631b868430d1fc5774
Signed-off-by: Noah Glovsky <noah.glovsky(a)watershedschool.org>
---
src/mainboard/asus/a8n_e/acpi_tables.c | 12 +++++++++++-
src/mainboard/asus/f2a85-m/acpi/AmdImc.asl | 13 +++++++++++++
src/mainboard/asus/f2a85-m_le/OptionsIds.h | 13 +++++++++++++
src/mainboard/asus/f2a85-m_le/PlatformGnbPcie.c | 13 +++++++++++++
src/mainboard/asus/f2a85-m_le/PlatformGnbPcieComplex.h | 13 +++++++++++++
src/mainboard/asus/f2a85-m_le/acpi/AmdImc.asl | 13 +++++++++++++
src/mainboard/asus/f2a85-m_le/acpi/cpstate.asl | 13 +++++++++++++
src/mainboard/asus/f2a85-m_le/acpi/gpe.asl | 13 +++++++++++++
src/mainboard/asus/f2a85-m_le/acpi/mainboard.asl | 13 +++++++++++++
src/mainboard/asus/f2a85-m_le/acpi/routing.asl | 13 +++++++++++++
src/mainboard/asus/f2a85-m_le/acpi/sata.asl | 13 +++++++++++++
src/mainboard/asus/f2a85-m_le/acpi/si.asl | 13 +++++++++++++
src/mainboard/asus/f2a85-m_le/acpi/sleep.asl | 13 +++++++++++++
src/mainboard/asus/f2a85-m_le/acpi/superio.asl | 13 +++++++++++++
src/mainboard/asus/f2a85-m_le/acpi/thermal.asl | 13 +++++++++++++
src/mainboard/asus/f2a85-m_le/acpi/usb_oc.asl | 13 +++++++++++++
src/mainboard/asus/f2a85-m_le/acpi_tables.c | 13 +++++++++++++
src/mainboard/asus/f2a85-m_le/dsdt.asl | 13 +++++++++++++
src/mainboard/asus/f2a85-m_le/irq_tables.c | 13 +++++++++++++
src/mainboard/asus/f2a85-m_le/mainboard.c | 13 +++++++++++++
src/mainboard/asus/f2a85-m_le/mptable.c | 13 +++++++++++++
src/mainboard/asus/f2a85-m_le/romstage.c | 13 +++++++++++++
src/mainboard/asus/kfsn4-dre/acpi_tables.c | 11 +++++++++++
src/mainboard/asus/kfsn4-dre_k8/acpi_tables.c | 11 +++++++++++
src/mainboard/asus/mew-vm/irq_tables.c | 13 +++++++++++++
util/lint/lint-stable-000-license-headers | 4 ++--
26 files changed, 321 insertions(+), 3 deletions(-)
diff --git a/src/mainboard/asus/a8n_e/acpi_tables.c b/src/mainboard/asus/a8n_e/acpi_tables.c
index f5ddec3..788368f 100644
--- a/src/mainboard/asus/a8n_e/acpi_tables.c
+++ b/src/mainboard/asus/a8n_e/acpi_tables.c
@@ -1,9 +1,19 @@
/*
+ * This file is part of the coreboot project.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
* ACPI support
* written by Stefan Reinauer <stepan(a)openbios.org>
* (C) 2005 Stefan Reinauer
*
- *
* Copyright 2005 AMD
* 2005.9 yhlu modify that to more dynamic for AMD Opteron Based MB
*/
diff --git a/src/mainboard/asus/f2a85-m/acpi/AmdImc.asl b/src/mainboard/asus/f2a85-m/acpi/AmdImc.asl
index f55a12a..5e6c02b 100644
--- a/src/mainboard/asus/f2a85-m/acpi/AmdImc.asl
+++ b/src/mainboard/asus/f2a85-m/acpi/AmdImc.asl
@@ -1,3 +1,16 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
//BTDC Due to IMC Fan, ACPI control codes
OperationRegion(IMIO, SystemIO, 0x3E, 0x02)
Field(IMIO , ByteAcc, NoLock, Preserve) {
diff --git a/src/mainboard/asus/f2a85-m_le/OptionsIds.h b/src/mainboard/asus/f2a85-m_le/OptionsIds.h
index c702a9c..060ef8d 100644
--- a/src/mainboard/asus/f2a85-m_le/OptionsIds.h
+++ b/src/mainboard/asus/f2a85-m_le/OptionsIds.h
@@ -1 +1,14 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
#include "../f2a85-m/OptionsIds.h"
diff --git a/src/mainboard/asus/f2a85-m_le/PlatformGnbPcie.c b/src/mainboard/asus/f2a85-m_le/PlatformGnbPcie.c
index d83a779..cd68205 100644
--- a/src/mainboard/asus/f2a85-m_le/PlatformGnbPcie.c
+++ b/src/mainboard/asus/f2a85-m_le/PlatformGnbPcie.c
@@ -1 +1,14 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
#include "../f2a85-m/PlatformGnbPcie.c"
diff --git a/src/mainboard/asus/f2a85-m_le/PlatformGnbPcieComplex.h b/src/mainboard/asus/f2a85-m_le/PlatformGnbPcieComplex.h
index f6f4c9a..aa7b1fd 100644
--- a/src/mainboard/asus/f2a85-m_le/PlatformGnbPcieComplex.h
+++ b/src/mainboard/asus/f2a85-m_le/PlatformGnbPcieComplex.h
@@ -1 +1,14 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
#include "../f2a85-m/PlatformGnbPcieComplex.h"
diff --git a/src/mainboard/asus/f2a85-m_le/acpi/AmdImc.asl b/src/mainboard/asus/f2a85-m_le/acpi/AmdImc.asl
index 43c2428..8d858c7 100644
--- a/src/mainboard/asus/f2a85-m_le/acpi/AmdImc.asl
+++ b/src/mainboard/asus/f2a85-m_le/acpi/AmdImc.asl
@@ -1 +1,14 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
#include "../../f2a85-m/acpi/AmdImc.asl"
diff --git a/src/mainboard/asus/f2a85-m_le/acpi/cpstate.asl b/src/mainboard/asus/f2a85-m_le/acpi/cpstate.asl
index 29c8d69..441b38b 100644
--- a/src/mainboard/asus/f2a85-m_le/acpi/cpstate.asl
+++ b/src/mainboard/asus/f2a85-m_le/acpi/cpstate.asl
@@ -1 +1,14 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
#include "../../f2a85-m/acpi/cpstate.asl"
diff --git a/src/mainboard/asus/f2a85-m_le/acpi/gpe.asl b/src/mainboard/asus/f2a85-m_le/acpi/gpe.asl
index 4794311..1855067 100644
--- a/src/mainboard/asus/f2a85-m_le/acpi/gpe.asl
+++ b/src/mainboard/asus/f2a85-m_le/acpi/gpe.asl
@@ -1 +1,14 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
#include "../../f2a85-m/acpi/gpe.asl"
diff --git a/src/mainboard/asus/f2a85-m_le/acpi/mainboard.asl b/src/mainboard/asus/f2a85-m_le/acpi/mainboard.asl
index f81742e..ee60630 100644
--- a/src/mainboard/asus/f2a85-m_le/acpi/mainboard.asl
+++ b/src/mainboard/asus/f2a85-m_le/acpi/mainboard.asl
@@ -1 +1,14 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
#include "../../f2a85-m/acpi/mainboard.asl"
diff --git a/src/mainboard/asus/f2a85-m_le/acpi/routing.asl b/src/mainboard/asus/f2a85-m_le/acpi/routing.asl
index 77a1f8a..7ae6c32 100644
--- a/src/mainboard/asus/f2a85-m_le/acpi/routing.asl
+++ b/src/mainboard/asus/f2a85-m_le/acpi/routing.asl
@@ -1 +1,14 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
#include "../../f2a85-m/acpi/routing.asl"
diff --git a/src/mainboard/asus/f2a85-m_le/acpi/sata.asl b/src/mainboard/asus/f2a85-m_le/acpi/sata.asl
index 46bc2e6..63a5e94 100644
--- a/src/mainboard/asus/f2a85-m_le/acpi/sata.asl
+++ b/src/mainboard/asus/f2a85-m_le/acpi/sata.asl
@@ -1 +1,14 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
#include "../../f2a85-m/acpi/sata.asl"
diff --git a/src/mainboard/asus/f2a85-m_le/acpi/si.asl b/src/mainboard/asus/f2a85-m_le/acpi/si.asl
index 208e5c4..8079af9 100644
--- a/src/mainboard/asus/f2a85-m_le/acpi/si.asl
+++ b/src/mainboard/asus/f2a85-m_le/acpi/si.asl
@@ -1 +1,14 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
#include "../../f2a85-m/acpi/si.asl"
diff --git a/src/mainboard/asus/f2a85-m_le/acpi/sleep.asl b/src/mainboard/asus/f2a85-m_le/acpi/sleep.asl
index 67e4e2b..36b9419 100644
--- a/src/mainboard/asus/f2a85-m_le/acpi/sleep.asl
+++ b/src/mainboard/asus/f2a85-m_le/acpi/sleep.asl
@@ -1 +1,14 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
#include "../../f2a85-m/acpi/sleep.asl"
diff --git a/src/mainboard/asus/f2a85-m_le/acpi/superio.asl b/src/mainboard/asus/f2a85-m_le/acpi/superio.asl
index 88a494d..c2f778b 100644
--- a/src/mainboard/asus/f2a85-m_le/acpi/superio.asl
+++ b/src/mainboard/asus/f2a85-m_le/acpi/superio.asl
@@ -1 +1,14 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
#include "../../f2a85-m/acpi/superio.asl"
diff --git a/src/mainboard/asus/f2a85-m_le/acpi/thermal.asl b/src/mainboard/asus/f2a85-m_le/acpi/thermal.asl
index 3d529e5..321a770 100644
--- a/src/mainboard/asus/f2a85-m_le/acpi/thermal.asl
+++ b/src/mainboard/asus/f2a85-m_le/acpi/thermal.asl
@@ -1 +1,14 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
#include "../../f2a85-m/acpi/thermal.asl"
diff --git a/src/mainboard/asus/f2a85-m_le/acpi/usb_oc.asl b/src/mainboard/asus/f2a85-m_le/acpi/usb_oc.asl
index 1b3fba0..ff64183 100644
--- a/src/mainboard/asus/f2a85-m_le/acpi/usb_oc.asl
+++ b/src/mainboard/asus/f2a85-m_le/acpi/usb_oc.asl
@@ -1 +1,14 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
include "../../f2a85-m/acpi/usb_oc.asl"
diff --git a/src/mainboard/asus/f2a85-m_le/acpi_tables.c b/src/mainboard/asus/f2a85-m_le/acpi_tables.c
index febb723..9e65606 100644
--- a/src/mainboard/asus/f2a85-m_le/acpi_tables.c
+++ b/src/mainboard/asus/f2a85-m_le/acpi_tables.c
@@ -1 +1,14 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
#include "../f2a85-m/acpi_tables.c"
diff --git a/src/mainboard/asus/f2a85-m_le/dsdt.asl b/src/mainboard/asus/f2a85-m_le/dsdt.asl
index b27b81d..ee1e55d 100644
--- a/src/mainboard/asus/f2a85-m_le/dsdt.asl
+++ b/src/mainboard/asus/f2a85-m_le/dsdt.asl
@@ -1 +1,14 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
#include "../f2a85-m/dsdt.asl"
diff --git a/src/mainboard/asus/f2a85-m_le/irq_tables.c b/src/mainboard/asus/f2a85-m_le/irq_tables.c
index 7e6c693..9396858 100644
--- a/src/mainboard/asus/f2a85-m_le/irq_tables.c
+++ b/src/mainboard/asus/f2a85-m_le/irq_tables.c
@@ -1 +1,14 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
#include "../f2a85-m/irq_tables.c"
diff --git a/src/mainboard/asus/f2a85-m_le/mainboard.c b/src/mainboard/asus/f2a85-m_le/mainboard.c
index d8cc9c8..4d7b48e 100644
--- a/src/mainboard/asus/f2a85-m_le/mainboard.c
+++ b/src/mainboard/asus/f2a85-m_le/mainboard.c
@@ -1 +1,14 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
#include "../f2a85-m/mainboard.c"
diff --git a/src/mainboard/asus/f2a85-m_le/mptable.c b/src/mainboard/asus/f2a85-m_le/mptable.c
index 1d0784d..41c69f9 100644
--- a/src/mainboard/asus/f2a85-m_le/mptable.c
+++ b/src/mainboard/asus/f2a85-m_le/mptable.c
@@ -1 +1,14 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
#include <mainboard/asus/f2a85-m/mptable.c>
diff --git a/src/mainboard/asus/f2a85-m_le/romstage.c b/src/mainboard/asus/f2a85-m_le/romstage.c
index 0062c87..0b9b11a 100644
--- a/src/mainboard/asus/f2a85-m_le/romstage.c
+++ b/src/mainboard/asus/f2a85-m_le/romstage.c
@@ -1 +1,14 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
#include "../f2a85-m/romstage.c"
diff --git a/src/mainboard/asus/kfsn4-dre/acpi_tables.c b/src/mainboard/asus/kfsn4-dre/acpi_tables.c
index caffdc4..587c13f 100644
--- a/src/mainboard/asus/kfsn4-dre/acpi_tables.c
+++ b/src/mainboard/asus/kfsn4-dre/acpi_tables.c
@@ -1,4 +1,15 @@
/*
+ * This file is part of the coreboot project.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
* ACPI support
* written by Stefan Reinauer <stepan(a)openbios.org>
* (C) 2005 Stefan Reinauer
diff --git a/src/mainboard/asus/kfsn4-dre_k8/acpi_tables.c b/src/mainboard/asus/kfsn4-dre_k8/acpi_tables.c
index c6d2981..a925eb7 100644
--- a/src/mainboard/asus/kfsn4-dre_k8/acpi_tables.c
+++ b/src/mainboard/asus/kfsn4-dre_k8/acpi_tables.c
@@ -1,4 +1,15 @@
/*
+ * This file is part of the coreboot project.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
* ACPI support
* written by Stefan Reinauer <stepan(a)openbios.org>
* (C) 2005 Stefan Reinauer
diff --git a/src/mainboard/asus/mew-vm/irq_tables.c b/src/mainboard/asus/mew-vm/irq_tables.c
index 3d8bebe..b556624 100644
--- a/src/mainboard/asus/mew-vm/irq_tables.c
+++ b/src/mainboard/asus/mew-vm/irq_tables.c
@@ -1,3 +1,16 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
#include <arch/pirq_routing.h>
static const struct irq_routing_table intel_irq_routing_table = {
diff --git a/util/lint/lint-stable-000-license-headers b/util/lint/lint-stable-000-license-headers
index 07660ff..338682a 100755
--- a/util/lint/lint-stable-000-license-headers
+++ b/util/lint/lint-stable-000-license-headers
@@ -32,8 +32,8 @@ util/lint/lint-000-license-headers "src/device/superio"
# /src/mainboard
util/lint/lint-000-license-headers "src/mainboard/aaeon src/mainboard/abit src/mainboard/adlink src/mainboard/advansus \
- src/mainboard/aopen src/mainboard/atrend src/mainboard/avalue src/mainboard/azza \
- src/mainboard/bachmann src/mainboard/bap src/mainboard/bcom src/mainboard/bifferos"
+ src/mainboard/amd src/mainboard/aopen src/mainboard/apple src/mainboard/atrend src/mainboard/avalue \
+ src/mainboard/azza src/mainboard/bachmann src/mainboard/bap src/mainboard/bcom src/mainboard/bifferos”
util/lint/lint-000-license-headers "src/mainboard/biostar src/mainboard/compaq src/mainboard/dmp src/mainboard/ecs \
src/mainboard/esd src/mainboard/gizmosphere src/mainboard/google src/mainboard/iei \
src/mainboard/intel src/mainboard/jetway src/mainboard/lanner src/mainboard/lintop \
Timothy Pearson (tpearson(a)raptorengineeringinc.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/14529
-gerrit
commit ab8a702250d8f042a0b7322b93571bdcf3067193
Author: Timothy Pearson <tpearson(a)raptorengineeringinc.com>
Date: Wed Apr 27 12:46:57 2016 -0500
nb/amd/mct_ddr3: Restart system on training failure instead of using die()
DIMM training can sporadically fail due to external influences or various
errata. In these cases, restarting to retry training is a more appropriate
response than halting the system and requiring manual intervention.
Change-Id: Id49f7419f56e0640a84448cc06ecbaf62bed145e
Signed-off-by: Timothy Pearson <tpearson(a)raptorengineeringinc.com>
---
src/northbridge/amd/amdmct/mct_ddr3/mct_d.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/src/northbridge/amd/amdmct/mct_ddr3/mct_d.c b/src/northbridge/amd/amdmct/mct_ddr3/mct_d.c
index 284e890..bea67b2 100644
--- a/src/northbridge/amd/amdmct/mct_ddr3/mct_d.c
+++ b/src/northbridge/amd/amdmct/mct_ddr3/mct_d.c
@@ -32,6 +32,8 @@
* supported.
*/
+#include <reset.h>
+
// #define DEBUG_DIMM_SPD 1
static u8 ReconfigureDIMMspare_D(struct MCTStatStruc *pMCTstat,
@@ -3685,7 +3687,8 @@ retry_dqs_training_and_levelization:
if (pDCTstat->NodePresent) {
if (pDCTstat->TrainErrors & (1 << SB_FatalError)) {
- die("DIMM training FAILED! Halting system.");
+ printk(BIOS_ERR, "DIMM training FAILED! Restarting system...");
+ soft_reset();
}
if (pDCTstat->TrainErrors & (1 << SB_RetryConfigTrain)) {
retry_requested = 1;
the following patch was just integrated into master:
commit 4005d9b2e42d6d8e70e9fb4b88002b3a69d20bca
Author: Martin Roth <martinroth(a)google.com>
Date: Tue Apr 26 09:51:41 2016 -0600
payloads: Add a stable version of Memtest86+ for reproducibility
Memtest86+ was pulling origin/master which will change over time. This
adds a commit-id as a stable version to allow it to be reproducible.
The other secondary payloads, coreinfo and nvramcui, do not need this
because they are part of the coreboot repo and not fetched from an
external source.
Change-Id: I20c516010f76cf03342bd8883d0ee7ac5f8bc7e4
Signed-off-by: Martin Roth <martinroth(a)google.com>
Reviewed-on: https://review.coreboot.org/14520
Tested-by: build bot (Jenkins)
Reviewed-by: Jonathan Neuschäfer <j.neuschaefer(a)gmx.net>
Reviewed-by: Stefan Reinauer <stefan.reinauer(a)coreboot.org>
See https://review.coreboot.org/14520 for details.
-gerrit
Timothy Pearson (tpearson(a)raptorengineeringinc.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/14529
-gerrit
commit 124e360bec9be0c245f208fc02936ea6e886b28b
Author: Timothy Pearson <tpearson(a)raptorengineeringinc.com>
Date: Wed Apr 27 12:46:57 2016 -0500
nb/amd/mct_ddr3: Restart system on training failure instead of using die()
DIMM training can sporadically fail due to external influences or various
errata. In these cases, restarting to retry training is a more appropriate
response than halting the system and requiring manual intervention.
Change-Id: Id49f7419f56e0640a84448cc06ecbaf62bed145e
Signed-off-by: Timothy Pearson <tpearson(a)raptorengineeringinc.com>
---
src/northbridge/amd/amdmct/mct_ddr3/mct_d.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/northbridge/amd/amdmct/mct_ddr3/mct_d.c b/src/northbridge/amd/amdmct/mct_ddr3/mct_d.c
index 284e890..7c9f1c7 100644
--- a/src/northbridge/amd/amdmct/mct_ddr3/mct_d.c
+++ b/src/northbridge/amd/amdmct/mct_ddr3/mct_d.c
@@ -3685,7 +3685,8 @@ retry_dqs_training_and_levelization:
if (pDCTstat->NodePresent) {
if (pDCTstat->TrainErrors & (1 << SB_FatalError)) {
- die("DIMM training FAILED! Halting system.");
+ printk(BIOS_ERR, "DIMM training FAILED! Restarting system...");
+ soft_reset();
}
if (pDCTstat->TrainErrors & (1 << SB_RetryConfigTrain)) {
retry_requested = 1;
Martin Roth (martinroth(a)google.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/14520
-gerrit
commit 1270bd9cf61c22e8607f82d036f4d0828d7ec877
Author: Martin Roth <martinroth(a)google.com>
Date: Tue Apr 26 09:51:41 2016 -0600
payloads: Add a stable version of Memtest86+ for reproducibility
Memtest86+ was pulling origin/master which will change over time. This
adds a commit-id as a stable version to allow it to be reproducible.
The other secondary payloads, coreinfo and nvramcui, do not need this
because they are part of the coreboot repo and not fetched from an
external source.
Change-Id: I20c516010f76cf03342bd8883d0ee7ac5f8bc7e4
Signed-off-by: Martin Roth <martinroth(a)google.com>
---
payloads/Kconfig | 21 +++++++++++++++++++++
payloads/external/Makefile.inc | 2 ++
payloads/external/Memtest86Plus/Makefile | 8 +++++---
3 files changed, 28 insertions(+), 3 deletions(-)
diff --git a/payloads/Kconfig b/payloads/Kconfig
index 00d5d88..6c178d4 100644
--- a/payloads/Kconfig
+++ b/payloads/Kconfig
@@ -77,6 +77,27 @@ config MEMTEST_SECONDARY_PAYLOAD
Memtest86+ can be loaded as a secondary payload under SeaBIOS, GRUB,
or any other payload that can load additional payloads.
+choice
+ prompt "Memtest86+ version"
+ default MEMTEST_STABLE
+ depends on MEMTEST_SECONDARY_PAYLOAD
+
+config MEMTEST_STABLE
+ bool "Stable"
+ help
+ Stable Memtest86+ version.
+
+ For reproducible builds, this option must be selected.
+config MEMTEST_MASTER
+ bool "Master"
+ help
+ Newest Memtest86+ version.
+
+ This option will fetch the newest version of the Memtest86+ code,
+ updating as new changes are committed. This makes the build
+ non-reproducible, as it can fetch different code each time.
+endchoice
+
config NVRAMCUI_SECONDARY_PAYLOAD
bool "Load nvramcui as a secondary payload"
default n
diff --git a/payloads/external/Makefile.inc b/payloads/external/Makefile.inc
index 26a5613..5ae9f7e 100644
--- a/payloads/external/Makefile.inc
+++ b/payloads/external/Makefile.inc
@@ -122,6 +122,8 @@ payloads/external/Memtest86Plus/memtest86plus/memtest: $(top)/$(DOTCONFIG)
LD="$(LD_x86_32)" \
OBJCOPY="$(OBJCOPY_x86_32)" \
AS="$(AS_x86_32)" \
+ CONFIG_MEMTEST_MASTER=$(CONFIG_MEMTEST_MASTER) \
+ CONFIG_MEMTEST_STABLE=$(CONFIG_MEMTEST_STABLE) \
$(MEMTEST_SERIAL_OPTIONS) \
MFLAGS= MAKEFLAGS=
diff --git a/payloads/external/Memtest86Plus/Makefile b/payloads/external/Memtest86Plus/Makefile
index f77fa38..90ea5e8 100644
--- a/payloads/external/Memtest86Plus/Makefile
+++ b/payloads/external/Memtest86Plus/Makefile
@@ -13,8 +13,10 @@
## GNU General Public License for more details.
##
-TAG-y=origin/master
-NAME-y=MASTER
+TAG-$(CONFIG_MEMTEST_MASTER)=origin/master
+NAME-$(CONFIG_MEMTEST_MASTER)=Master
+TAG-$(CONFIG_MEMTEST_STABLE)=ca352c9a6bd8c1bba16ea22cbfc7028d97bacec9
+NAME-$(CONFIG_MEMTEST_STABLE)=Stable
project_name=Memtest86+
project_dir=$(CURDIR)/memtest86plus
@@ -33,7 +35,7 @@ fetch: $(project_dir)
git fetch; fi
checkout: fetch
- echo " Checking out $(project_name) revision $(NAME-y)"
+ echo " Checking out $(project_name) revision $(NAME-y) ($(TAG-y))"
cd $(project_dir); \
git checkout master; \
git branch -D coreboot 2>/dev/null; \
the following patch was just integrated into master:
commit 4793ec3ea18b099efab7d8acf97e0063e0f577b7
Author: Martin Roth <martinroth(a)google.com>
Date: Wed Mar 16 15:00:37 2016 -0600
Memtest86Plus/Makefile: Update to common payload makefile format
This series of patches attempts to update all of the external payload
makefiles to be as similar as possible.
- Add .git to the git repo URL to show that it's a git repo.
- Use the common checkout, fetch, and clone ($(project dir)) targets
- Add TAG-y and NAME-y variables - just with origin/master for now.
Stable will be added shortly.
- Make sure all phony targets are in .PHONY
Change-Id: If83c100841d5f91a9fab7ac44ba20ec2271c0594
Signed-off-by: Martin Roth <martinroth(a)google.com>
Reviewed-on: https://review.coreboot.org/14152
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer(a)coreboot.org>
See https://review.coreboot.org/14152 for details.
-gerrit