Patrick Georgi (pgeorgi(a)google.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/11531
-gerrit
commit b4a6e17f80dd95bd6f0d4666815d336b026cd401
Author: Duncan Laurie <dlaurie(a)chromium.org>
Date: Thu Aug 27 16:03:45 2015 -0700
skylake: ACPI: Add functions for PCR access
There are a few places in ACPI that touch PCR registers,
either to read a value or to set some magic bits.
Expose some functions for this that will keep all the PCR
access in one location instead of spread throughout the code.
BUG=chrome-os-partner:44622
BRANCH=none
TEST=emerge-glados coreboot
Change-Id: Iafeb3e2cd8f38af10d29eaaf18f2380c5651fe6d
Signed-off-by: Patrick Georgi <pgeorgi(a)chromium.org>
Original-Commit-Id: e78b2801fbc5c00ba452ae5e4ecb07c3e23bf6c1
Original-Change-Id: I2e4d491157f7ac6d2ebc231b11661c059b4a7fa0
Original-Signed-off-by: Duncan Laurie <dlaurie(a)chromium.org>
Original-Reviewed-on: https://chromium-review.googlesource.com/295904
Original-Reviewed-by: Aaron Durbin <adurbin(a)chromium.org>
---
src/soc/intel/skylake/acpi/pch.asl | 2 +
src/soc/intel/skylake/acpi/pcr.asl | 75 ++++++++++++++++++++++++++++++++++++++
2 files changed, 77 insertions(+)
diff --git a/src/soc/intel/skylake/acpi/pch.asl b/src/soc/intel/skylake/acpi/pch.asl
index 18a41f2..581efa0 100644
--- a/src/soc/intel/skylake/acpi/pch.asl
+++ b/src/soc/intel/skylake/acpi/pch.asl
@@ -37,6 +37,8 @@
/* PCIE Ports */
#include "pcie.asl"
+/* PCR Access */
+#include "pcr.asl"
/* Serial IO */
#include "serialio.asl"
diff --git a/src/soc/intel/skylake/acpi/pcr.asl b/src/soc/intel/skylake/acpi/pcr.asl
new file mode 100644
index 0000000..a6fb46e
--- /dev/null
+++ b/src/soc/intel/skylake/acpi/pcr.asl
@@ -0,0 +1,75 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2015 Google Inc.
+ * Copyright (C) 2015 Intel Corporation.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc.
+ */
+
+/*
+ * Calculate PCR register base at specified PID
+ * Arg0 - PCR Port ID
+ */
+Method (PCRB, 1, NotSerialized)
+{
+ Return (Add (PCH_PCR_BASE_ADDRESS, ShiftLeft (Arg0, PCR_PORTID_SHIFT)))
+}
+
+/*
+ * Read a PCR register at specified PID and offset
+ * Arg0 - PCR Port ID
+ * Arg1 - Register Offset
+ */
+Method (PCRR, 2, NotSerialized)
+{
+ OperationRegion (PCRD, SystemMemory, Add (PCRB (Arg0), Arg1), 4)
+ Field (PCRD, DWordAcc, NoLock, Preserve)
+ {
+ DATA, 32
+ }
+ Return (DATA)
+}
+
+/*
+ * AND a value with PCR register at specified PID and offset
+ * Arg0 - PCR Port ID
+ * Arg1 - Register Offset
+ * Arg2 - Value to AND
+ */
+Method (PCRA, 3, Serialized)
+{
+ OperationRegion (PCRD, SystemMemory, Add (PCRB (Arg0), Arg1), 4)
+ Field (PCRD, DWordAcc, NoLock, Preserve)
+ {
+ DATA, 32
+ }
+ And (DATA, Arg2, DATA)
+}
+
+/*
+ * OR a value with PCR register at specified PID and offset
+ * Arg0 - PCR Port ID
+ * Arg1 - Register Offset
+ * Arg2 - Value to OR
+ */
+Method (PCRO, 3, Serialized)
+{
+ OperationRegion (PCRD, SystemMemory, Add (PCRB (Arg0), Arg1), 4)
+ Field (PCRD, DWordAcc, NoLock, Preserve)
+ {
+ DATA, 32
+ }
+ Or (DATA, Arg2, DATA)
+}
the following patch was just integrated into master:
commit 2c482a969a546a70c2787d4d96d1ac212da11eff
Author: Alexandru Gagniuc <mr.nuke.me(a)gmail.com>
Date: Mon Sep 7 01:54:23 2015 -0700
intel: Do not hardcode the position of mrc.cache
The reason for hardcoding the position of the MRC cache was to satisfy
the alignment to the erase size of the flash chip. Hardcoding is no
longer needed, as we can specify alignment directly. In the long term,
the MRC cache will have to move to FMAP, but for now, we reduce
fragmentation in CBFS.
Note that soc/intel/common hardcoding of mrc.cache is not removed, as
the mrc cache implementation there does not use CBFS to find the cache
region, and needs a hardcoded address.
Change-Id: I5b9fc1ba58bb484c7b5f687368172d9ebe625bfd
Signed-off-by: Alexandru Gagniuc <mr.nuke.me(a)gmail.com>
Reviewed-on: http://review.coreboot.org/11527
Tested-by: build bot (Jenkins)
Reviewed-by: Paul Menzel <paulepanter(a)users.sourceforge.net>
Reviewed-by: Aaron Durbin <adurbin(a)chromium.org>
See http://review.coreboot.org/11527 for details.
-gerrit
the following patch was just integrated into master:
commit 4460703f59c58626c762a8a1244842b7a3efe0db
Author: Stefan Reinauer <reinauer(a)chromium.org>
Date: Sat Sep 5 07:51:32 2015 -0700
Drop "See file CREDITS..." comment
coreboot has no CREDITS file.
Change-Id: Iaa4686979ba1385b00ad1dbb6ea91e58f5014384
Signed-off-by: Stefan Reinauer <stefan.reinauer(a)coreboot.org>
Reviewed-on: http://review.coreboot.org/11514
Tested-by: build bot (Jenkins)
Reviewed-by: Patrick Georgi <pgeorgi(a)google.com>
See http://review.coreboot.org/11514 for details.
-gerrit
Alexandru Gagniuc (mr.nuke.me(a)gmail.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/8599
-gerrit
commit 4a1dd447e053f574c02278823f458723c56b5398
Author: Alexandru Gagniuc <mr.nuke.me(a)gmail.com>
Date: Tue Mar 3 22:37:44 2015 -0600
drivers/pc80: Do not initialize PS2 keyboard by default
The most common payloads do not need this set, so optimize for the
common case.
Change-Id: I2e5b68d74e9b91b41bbbcffc17d31d5c1bb38fd4
Signed-off-by: Alexandru Gagniuc <mr.nuke.me(a)gmail.com>
---
src/drivers/pc80/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/drivers/pc80/Kconfig b/src/drivers/pc80/Kconfig
index 0ed1ecf..18c626c 100644
--- a/src/drivers/pc80/Kconfig
+++ b/src/drivers/pc80/Kconfig
@@ -4,7 +4,7 @@ if PC80_SYSTEM
config DRIVERS_PS2_KEYBOARD
bool "PS/2 keyboard init"
- default y
+ default n
help
Enable this option to initialize PS/2 keyboards found connected
to the PS/2 port.
Alexandru Gagniuc (mr.nuke.me(a)gmail.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/8599
-gerrit
commit f0c3d7b2eebde37422083e8bd251726e3a926e8f
Author: Alexandru Gagniuc <mr.nuke.me(a)gmail.com>
Date: Tue Mar 3 22:37:44 2015 -0600
drivers/pc80: Do not initialize PS2 keyboard by default
The most common payloads do not need this set, so optimize for the
common case.
Change-Id: I2e5b68d74e9b91b41bbbcffc17d31d5c1bb38fd4
Signed-off-by: Alexandru Gagniuc <mr.nuke.me(a)gmail.com>
---
3rdparty/arm-trusted-firmware | 1 -
3rdparty/blobs | 1 -
3rdparty/vboot | 1 -
src/drivers/pc80/Kconfig | 2 +-
4 files changed, 1 insertion(+), 4 deletions(-)
diff --git a/3rdparty/arm-trusted-firmware b/3rdparty/arm-trusted-firmware
deleted file mode 160000
index 649591b..0000000
--- a/3rdparty/arm-trusted-firmware
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 649591bbabbc737534943136751722307429b7d6
diff --git a/3rdparty/blobs b/3rdparty/blobs
deleted file mode 160000
index b4ade40..0000000
--- a/3rdparty/blobs
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit b4ade4096486fd1abcde468de8719e45a721aee7
diff --git a/3rdparty/vboot b/3rdparty/vboot
deleted file mode 160000
index fbf631c..0000000
--- a/3rdparty/vboot
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit fbf631c845c08299f0bcbae3f311c5807d34c0d6
diff --git a/src/drivers/pc80/Kconfig b/src/drivers/pc80/Kconfig
index 0ed1ecf..18c626c 100644
--- a/src/drivers/pc80/Kconfig
+++ b/src/drivers/pc80/Kconfig
@@ -4,7 +4,7 @@ if PC80_SYSTEM
config DRIVERS_PS2_KEYBOARD
bool "PS/2 keyboard init"
- default y
+ default n
help
Enable this option to initialize PS/2 keyboards found connected
to the PS/2 port.