jonzhang(a)fb.com has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/34634 )
Change subject: drivers/vpd: Set bool type variable matching with key/value pair
......................................................................
drivers/vpd: Set bool type variable matching with key/value pair
Summary:
Give a key/value pair in VPD binary blob, and name of a bool
type variable, set the variable value if there is a match.
Several checks are in place:
* The key/value length needs to be correct.
* The key name needs to match.
* THe value is either '1' or '0'.
Test Plan:
* Build an OCP MonoLake coreboot image, flash and run.
Reviewers: dhendrix, hpe, anpetrov
Subscribers:
Tasks:
Tags:
Signed-off-by: Jonathan Zhang <jonzhang(a)fb.com>
Change-Id: Iebdba59419a555147fc40391cf17cc6879d9e1b2
---
M src/drivers/vpd/Makefile.inc
A src/drivers/vpd/vpd_fsp.c
A src/drivers/vpd/vpd_fsp.h
3 files changed, 77 insertions(+), 1 deletion(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/34/34634/1
diff --git a/src/drivers/vpd/Makefile.inc b/src/drivers/vpd/Makefile.inc
index 17019b5..368024b 100644
--- a/src/drivers/vpd/Makefile.inc
+++ b/src/drivers/vpd/Makefile.inc
@@ -1,2 +1,2 @@
-romstage-$(CONFIG_VPD) += vpd_decode.c
+romstage-$(CONFIG_VPD) += vpd_decode.c vpd_fsp.c
ramstage-$(CONFIG_VPD) += vpd.c vpd_decode.c
diff --git a/src/drivers/vpd/vpd_fsp.c b/src/drivers/vpd/vpd_fsp.c
new file mode 100644
index 0000000..adff8e9
--- /dev/null
+++ b/src/drivers/vpd/vpd_fsp.c
@@ -0,0 +1,44 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (c) 2019 The coreboot Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ */
+#include <string.h>
+#include "vpd_fsp.h"
+
+/*
+ * Process UPD variable of boolean type.
+ * Match the variable name with key name in the key/value pair,
+ * use the value to set *val.
+ * During the process, necessary checking is done, such as making
+ * sure the value length is 1, and value is either '1' or '0'.
+ */
+bool set_upd_bool(const char *upd_var,
+ const uint8_t *key, const int32_t key_len,
+ const uint8_t *value, const int32_t value_len,
+ uint8_t *val)
+{
+ int i;
+ /* Check key length and value length */
+ if (key_len != strlen(upd_var) || value_len != 1)
+ return false;
+
+ /* Matching key with variable name */
+ for (i = 0; i < key_len; i++) {
+ if (key[i] != upd_var[i])
+ return false;
+ }
+
+ /* Make sure the value is either '1' or '0' */
+ if (*value == '1') {
+ *val = 1;
+ return true;
+ } else if (*value == '0') {
+ *val = 0;
+ return true;
+ } else
+ return false;
+}
diff --git a/src/drivers/vpd/vpd_fsp.h b/src/drivers/vpd/vpd_fsp.h
new file mode 100644
index 0000000..c59f249
--- /dev/null
+++ b/src/drivers/vpd/vpd_fsp.h
@@ -0,0 +1,32 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (c) 2019 The coreboot Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ */
+
+#ifndef __VPD_FSP__
+#define __VPD_FSP__
+
+#include <inttypes.h>
+
+#define GOOGLE_VPD_2_0_OFFSET 0x600
+
+/*
+ * Process UPD variable of boolean type.
+ *
+ * Match the variable name with key name in the key/value pair,
+ * use the value to set *val.
+ * During the process, necessary checking is done, such as making
+ * sure the value length is 1, and value is either '1' or '0'.
+ *
+ * If there is a match and checking is successful, set *val
+ * accordingly, and return true; otherwise return false.
+ */
+bool set_upd_bool(const char *upd_var,
+ const uint8_t *key, const int32_t key_len,
+ const uint8_t *value, const int32_t value_len,
+ uint8_t *val);
+#endif /* __VPD_FSP__ */
--
To view, visit https://review.coreboot.org/c/coreboot/+/34634
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: Iebdba59419a555147fc40391cf17cc6879d9e1b2
Gerrit-Change-Number: 34634
Gerrit-PatchSet: 1
Gerrit-Owner: jonzhang(a)fb.com
Gerrit-MessageType: newchange
Patrick Rudolph has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/34585 )
Change subject: security/intel: Add TXT infrastructure
......................................................................
security/intel: Add TXT infrastructure
* Add Kconfig to enable TXT
* Add possibility to add BIOS and SINIT ACMs
* Set default BIOS ACM alignment
* Increase FIT space if TXT is enabled
The following commits depend on the basic Kconfig infrastructure.
Intel TXT isn't supported until all following commits are merged.
Change-Id: I5f0f956d2b7ba43d4e7e0062803c6d8ba569a052
Signed-off-by: Patrick Rudolph <patrick.rudolph(a)9elements.com>
---
M Documentation/security/intel/txt.md
M src/cpu/intel/fit/Kconfig
M src/security/Kconfig
M src/security/Makefile.inc
A src/security/intel/Kconfig
A src/security/intel/Makefile.inc
A src/security/intel/txt/Kconfig
A src/security/intel/txt/Makefile.inc
M src/soc/intel/cannonlake/Kconfig
M src/soc/intel/skylake/Kconfig
10 files changed, 115 insertions(+), 3 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/85/34585/1
diff --git a/Documentation/security/intel/txt.md b/Documentation/security/intel/txt.md
index f67b639..f80a731 100644
--- a/Documentation/security/intel/txt.md
+++ b/Documentation/security/intel/txt.md
@@ -90,11 +90,11 @@
## For developers
### Configuring Intel TXT in Kconfig
-Enable ``TEE_INTEL_TXT`` and set the following:
+Enable ``INTEL_TXT`` and set the following:
-``TEE_INTEL_TXT_BIOSACM_FILE`` to the path of the BIOS ACM provided by Intel
+``INTEL_TXT_BIOSACM_FILE`` to the path of the BIOS ACM provided by Intel
-``TEE_INTEL_TXT_SINITACM_FILE`` to the path of the SINIT ACM provided by Intel
+``INTEL_TXT_SINITACM_FILE`` to the path of the SINIT ACM provided by Intel
### Print TXT status as early as possible
Add platform code to print the TXT status as early as possible, as the register
is cleared on cold reset.
diff --git a/src/cpu/intel/fit/Kconfig b/src/cpu/intel/fit/Kconfig
index e48dca9..fa10802 100644
--- a/src/cpu/intel/fit/Kconfig
+++ b/src/cpu/intel/fit/Kconfig
@@ -5,6 +5,7 @@
config CPU_INTEL_NUM_FIT_ENTRIES
int
+ default 16 if INTEL_TXT
default 4
depends on CPU_INTEL_FIRMWARE_INTERFACE_TABLE
help
diff --git a/src/security/Kconfig b/src/security/Kconfig
index 8a1531a..4e08bbd 100644
--- a/src/security/Kconfig
+++ b/src/security/Kconfig
@@ -15,3 +15,4 @@
source "src/security/vboot/Kconfig"
source "src/security/tpm/Kconfig"
source "src/security/memory/Kconfig"
+source "src/security/intel/Kconfig"
diff --git a/src/security/Makefile.inc b/src/security/Makefile.inc
index f62413e..fd78438 100644
--- a/src/security/Makefile.inc
+++ b/src/security/Makefile.inc
@@ -1,3 +1,4 @@
subdirs-y += vboot
subdirs-y += tpm
subdirs-y += memory
+subdirs-y += intel
diff --git a/src/security/intel/Kconfig b/src/security/intel/Kconfig
new file mode 100644
index 0000000..333e385
--- /dev/null
+++ b/src/security/intel/Kconfig
@@ -0,0 +1,20 @@
+## This file is part of the coreboot project.
+##
+## Copyright (C) 2019 9elements Agency GmbH
+## Copyright (C) 2019 Facebook Inc.
+##
+## 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.
+##
+
+menu "Intel"
+
+source "src/security/intel/txt/Kconfig"
+
+endmenu # Intel
diff --git a/src/security/intel/Makefile.inc b/src/security/intel/Makefile.inc
new file mode 100644
index 0000000..9388d3f
--- /dev/null
+++ b/src/security/intel/Makefile.inc
@@ -0,0 +1 @@
+subdirs-y += txt
diff --git a/src/security/intel/txt/Kconfig b/src/security/intel/txt/Kconfig
new file mode 100644
index 0000000..b6c5d19
--- /dev/null
+++ b/src/security/intel/txt/Kconfig
@@ -0,0 +1,55 @@
+## This file is part of the coreboot project.
+##
+## Copyright (C) 2019 9elements Agency GmbH
+## Copyright (C) 2019 Facebook Inc.
+##
+## 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.
+##
+
+config INTEL_TXT
+ bool "Intel TXT support"
+ default n
+ select MRC_SETTINGS_PROTECT if CACHE_MRC_SETTINGS
+ select SOC_INTEL_COMMON_BLOCK_VMX if PLATFORM_USES_FSP2_0
+ select AP_IN_SIPI_WAIT
+ depends on TSC_CONSTANT_RATE
+ depends on (TPM1 || TPM2)
+ depends on CPU_INTEL_FIRMWARE_INTERFACE_TABLE
+ depends on PLATFORM_HAS_DRAM_CLEAR
+ depends on SOC_INTEL_FSP_BROADWELL_DE || SOC_INTEL_COMMON_BLOCK_SA
+
+if INTEL_TXT
+
+config INTEL_TXT_BIOSACM_FILE
+ string "BIOS ACM file"
+ default "3rdparty/blobs/soc/intel/fsp_broadwell_de/biosacm.bin" if SOC_INTEL_FSP_BROADWELL_DE
+ default "3rdparty/blobs/soc/intel/skylake/biosacm.bin" if SOC_INTEL_COMMON_SKYLAKE_BASE
+ help
+ Intel TXT BIOS ACM file. This file can be obtained by privileged
+ access to intel resources. Or for some platforms found inside the
+ blob repository.
+
+config INTEL_TXT_SINITACM_FILE
+ string "SINIT ACM file"
+ default "3rdparty/blobs/soc/intel/fsp_broadwell_de/sinitacm.bin" if SOC_INTEL_FSP_BROADWELL_DE
+ default "3rdparty/blobs/soc/intel/skylake/sinitacm.bin" if SOC_INTEL_COMMON_SKYLAKE_BASE
+ help
+ Intel TXT SINIT ACM file. This file can be obtained by privileged
+ access to intel resources. Or for some platforms found inside the
+ blob repository.
+
+config INTEL_TXT_BIOSACM_ALIGNMENT
+ hex
+ default 0x20000 # 128KB
+ help
+ Exceptions are Ivy- and Sandybridge with 64KB and Purely with 256KB
+ alignment size. Please overwrite it SoC specific.
+
+endif
diff --git a/src/security/intel/txt/Makefile.inc b/src/security/intel/txt/Makefile.inc
new file mode 100644
index 0000000..f123510
--- /dev/null
+++ b/src/security/intel/txt/Makefile.inc
@@ -0,0 +1,25 @@
+ifeq ($(CONFIG_INTEL_TXT),y)
+
+cbfs-files-y += txt_bios_acm.bin
+txt_bios_acm.bin-file := $(CONFIG_INTEL_TXT_BIOSACM_FILE)
+txt_bios_acm.bin-type := raw
+txt_bios_acm.bin-align := $(CONFIG_INTEL_TXT_BIOSACM_ALIGNMENT)
+
+cbfs-files-($(CONFIG_INTEL_FIT_BIOS_POLICY)) += txt_bios_policy.bin
+txt_bios_policy.bin-file := $(objgenerated)/txt_bios_policy.bin
+txt_bios_policy.bin-type := raw
+txt_bios_policy.bin-align := 0x10
+
+ifneq ($(CONFIG_INTEL_TXT_SINITACM_FILE),"")
+cbfs-files-y += txt_sinit_acm.bin
+txt_sinit_acm.bin-file := $(CONFIG_INTEL_TXT_SINITACM_FILE)
+txt_sinit_acm.bin-type := raw
+txt_sinit_acm.bin-align := 0x10
+txt_sinit_acm.bin-compression := lzma
+endif
+
+INTERMEDIATE+=add_acm_fit
+add_acm_fit: $(obj)/coreboot.pre $(IFITTOOL)
+ $(IFITTOOL) -r COREBOOT -a -n txt_bios_acm.bin -t 2 -s $(CONFIG_CPU_INTEL_NUM_FIT_ENTRIES) -f $<
+
+endif
diff --git a/src/soc/intel/cannonlake/Kconfig b/src/soc/intel/cannonlake/Kconfig
index f859cd5..a63b829 100644
--- a/src/soc/intel/cannonlake/Kconfig
+++ b/src/soc/intel/cannonlake/Kconfig
@@ -319,4 +319,8 @@
hex
default 0xe00
+config INTEL_TXT_BIOSACM_ALIGNMENT
+ hex
+ default 0x40000 # 256KB
+
endif
diff --git a/src/soc/intel/skylake/Kconfig b/src/soc/intel/skylake/Kconfig
index f36d5ca..310619e 100644
--- a/src/soc/intel/skylake/Kconfig
+++ b/src/soc/intel/skylake/Kconfig
@@ -309,4 +309,8 @@
string
default "sklkbl"
+config INTEL_TXT_BIOSACM_ALIGNMENT
+ hex
+ default 0x40000 # 256KB
+
endif
--
To view, visit https://review.coreboot.org/c/coreboot/+/34585
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I5f0f956d2b7ba43d4e7e0062803c6d8ba569a052
Gerrit-Change-Number: 34585
Gerrit-PatchSet: 1
Gerrit-Owner: Patrick Rudolph <patrick.rudolph(a)9elements.com>
Gerrit-MessageType: newchange
Felix Singer has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/32734 )
Change subject: mb/supermicro/x11ssh: Add Supermicro X11SSH-TF
......................................................................
Patch Set 80:
(5 comments)
https://review.coreboot.org/c/coreboot/+/32734/68//COMMIT_MSG
Commit Message:
https://review.coreboot.org/c/coreboot/+/32734/68//COMMIT_MSG@12
PS68, Line 12: * SeaBios payload
: * LinuxBoot payload
> master
Done
https://review.coreboot.org/c/coreboot/+/32734/68//COMMIT_MSG@15
PS68, Line 15: PCIe
> Does PEG work with Gen3?
Ack
https://review.coreboot.org/c/coreboot/+/32734/68//COMMIT_MSG@25
PS68, Line 25: Please apply those patches as well for good user experience:
:
: I456be647b159f7a2ea7d94986a24424e56dcc8c4
: I22c6885eae6fd7c778ac37b18f95b8775e9064e3
: Ica0c20255f661dd61edc3a7d15646b7447c4658e
> How do you add comments to the commit message?
Done
https://review.coreboot.org/c/coreboot/+/32734/72/src/mainboard/supermicro/…
File src/mainboard/supermicro/x11ssh/variants/tf/devicetree.cb:
https://review.coreboot.org/c/coreboot/+/32734/72/src/mainboard/supermicro/…
PS72, Line 234: ca2.0
> it's the default IPMI I/O KCS port. Have a look at dmidecode or ACPI tables to find this value.
Done
https://review.coreboot.org/c/coreboot/+/32734/74/src/mainboard/supermicro/…
File src/mainboard/supermicro/x11ssh/variants/tf/devicetree.cb:
https://review.coreboot.org/c/coreboot/+/32734/74/src/mainboard/supermicro/…
PS74, Line 239: device pnp 2e.0 off end
> This device doesn't seem to exist
Done
--
To view, visit https://review.coreboot.org/c/coreboot/+/32734
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I2edaa4a928de3a065e517c0f20e3302b4b702323
Gerrit-Change-Number: 32734
Gerrit-PatchSet: 80
Gerrit-Owner: Christian Walter <christian.walter(a)9elements.com>
Gerrit-Reviewer: Alexander Couzens <lynxis(a)fe80.eu>
Gerrit-Reviewer: Angel Pons <th3fanbus(a)gmail.com>
Gerrit-Reviewer: Christian Walter <christian.walter(a)9elements.com>
Gerrit-Reviewer: Felix Singer <felixsinger(a)posteo.net>
Gerrit-Reviewer: Keno Fischer <keno(a)alumni.harvard.edu>
Gerrit-Reviewer: Martin Roth <martinroth(a)google.com>
Gerrit-Reviewer: Name of user not set #1002358
Gerrit-Reviewer: Patrick Georgi <pgeorgi(a)google.com>
Gerrit-Reviewer: Patrick Rudolph <patrick.rudolph(a)9elements.com>
Gerrit-Reviewer: Philipp Deppenwiese <zaolin.daisuki(a)gmail.com>
Gerrit-Reviewer: T. Hudson <trammell.hudson(a)gmail.com>
Gerrit-Reviewer: Trammell Hudson <hudson(a)trmm.net>
Gerrit-Reviewer: build bot (Jenkins) <no-reply(a)coreboot.org>
Gerrit-CC: Christoph Pomaska <github(a)aufmachen.jetzt>
Gerrit-CC: Felix Held <felix-coreboot(a)felixheld.de>
Gerrit-CC: Maxim Polyakov <max.senia.poliak(a)gmail.com>
Gerrit-CC: Michael Niewöhner
Gerrit-CC: Paul Menzel <paulepanter(a)users.sourceforge.net>
Gerrit-Comment-Date: Sat, 31 Aug 2019 19:37:19 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: Christoph Pomaska <github(a)aufmachen.jetzt>
Comment-In-Reply-To: Angel Pons <th3fanbus(a)gmail.com>
Comment-In-Reply-To: Patrick Rudolph <patrick.rudolph(a)9elements.com>
Comment-In-Reply-To: Maxim Polyakov <max.senia.poliak(a)gmail.com>
Comment-In-Reply-To: Paul Menzel <paulepanter(a)users.sourceforge.net>
Gerrit-MessageType: comment
Felix Singer has uploaded a new patch set (#81) to the change originally created by Christian Walter. ( https://review.coreboot.org/c/coreboot/+/32734 )
Change subject: mb/supermicro/x11ssh: Add Supermicro X11SSH-TF
......................................................................
mb/supermicro/x11ssh: Add Supermicro X11SSH-TF
Add support for the X11SSH-TF which is based on Intel KBL.
Working:
* SeaBIOS payload
* LinuxBoot payload
* IPMI of BMC
* PCIe, SATA, USB and M.2 ports
* RS232 serial
* Native graphics init
Not working:
* TianoCore doesn't work yet as the Aspeed NGI is text mode only.
* Intel SGX, due to random crashes in soc/intel/common
For more details have a look at the documentation.
Please apply those patches as well for good user experience:
Ica0c20255f661dd61edc3a7d15646b7447c4658e
Signed-off-by: Christian Walter <christian.walter(a)9elements.com>
Signed-off-by: Patrick Rudolph <patrick.rudolph(a)9elements.com>
Signed-off-by: Felix Singer <felix.singer(a)9elements.com>
Change-Id: I2edaa4a928de3a065e517c0f20e3302b4b702323
---
M Documentation/mainboard/index.md
A Documentation/mainboard/supermicro/x11ssh-tf.md
A Documentation/mainboard/supermicro/x11ssh_flash.jpg
A src/mainboard/supermicro/x11ssh/Kconfig
A src/mainboard/supermicro/x11ssh/Kconfig.name
A src/mainboard/supermicro/x11ssh/Makefile.inc
A src/mainboard/supermicro/x11ssh/acpi/ec.asl
A src/mainboard/supermicro/x11ssh/acpi/mainboard.asl
A src/mainboard/supermicro/x11ssh/acpi/superio.asl
A src/mainboard/supermicro/x11ssh/acpi_tables.c
A src/mainboard/supermicro/x11ssh/board_info.txt
A src/mainboard/supermicro/x11ssh/bootblock.c
A src/mainboard/supermicro/x11ssh/cmos.layout
A src/mainboard/supermicro/x11ssh/dsdt.asl
A src/mainboard/supermicro/x11ssh/gpio.h
A src/mainboard/supermicro/x11ssh/ramstage.c
A src/mainboard/supermicro/x11ssh/romstage.c
A src/mainboard/supermicro/x11ssh/variants/tf/board_info.txt
A src/mainboard/supermicro/x11ssh/variants/tf/devicetree.cb
A src/mainboard/supermicro/x11ssh/vboot-ro-rwab.fmd
20 files changed, 989 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/34/32734/81
--
To view, visit https://review.coreboot.org/c/coreboot/+/32734
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I2edaa4a928de3a065e517c0f20e3302b4b702323
Gerrit-Change-Number: 32734
Gerrit-PatchSet: 81
Gerrit-Owner: Christian Walter <christian.walter(a)9elements.com>
Gerrit-Reviewer: Alexander Couzens <lynxis(a)fe80.eu>
Gerrit-Reviewer: Angel Pons <th3fanbus(a)gmail.com>
Gerrit-Reviewer: Christian Walter <christian.walter(a)9elements.com>
Gerrit-Reviewer: Felix Singer <felixsinger(a)posteo.net>
Gerrit-Reviewer: Keno Fischer <keno(a)alumni.harvard.edu>
Gerrit-Reviewer: Martin Roth <martinroth(a)google.com>
Gerrit-Reviewer: Name of user not set #1002358
Gerrit-Reviewer: Patrick Georgi <pgeorgi(a)google.com>
Gerrit-Reviewer: Patrick Rudolph <patrick.rudolph(a)9elements.com>
Gerrit-Reviewer: Philipp Deppenwiese <zaolin.daisuki(a)gmail.com>
Gerrit-Reviewer: T. Hudson <trammell.hudson(a)gmail.com>
Gerrit-Reviewer: Trammell Hudson <hudson(a)trmm.net>
Gerrit-Reviewer: build bot (Jenkins) <no-reply(a)coreboot.org>
Gerrit-CC: Christoph Pomaska <github(a)aufmachen.jetzt>
Gerrit-CC: Felix Held <felix-coreboot(a)felixheld.de>
Gerrit-CC: Maxim Polyakov <max.senia.poliak(a)gmail.com>
Gerrit-CC: Michael Niewöhner
Gerrit-CC: Paul Menzel <paulepanter(a)users.sourceforge.net>
Gerrit-MessageType: newpatchset
Hello Aaron Durbin, Patrick Rudolph, Meera Ravindranath, Lean Sheng Tan, Aamir Bohra, Wonkyu Kim, Maulik V Vaghela, Duncan Laurie, V Sowmya, build bot (Jenkins), Furquan Shaikh,
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/35148
to look at the new patch set (#9).
Change subject: soc/intel/common/timer: Make TSC frequency calculation dynamically
......................................................................
soc/intel/common/timer: Make TSC frequency calculation dynamically
tsc_freq_mhz() had a static table of Intel CPU families and crystal
clock, but it is possible to calculate the crystal clock speed dynamically,
and this is preferred over hardcoded table.
Recommendation is to make use of CPUID.16h where crystal clock frequency
was not reported by CPUID.15h to calculate the crystal clock.
On SKL/KBL/CML CPUID.15h.ecx = nominal core crystal clock = 0 Hz
hence we had to use static table to calculate crystal clock.
BUG=b:139798422, b:129839774
TEST=Able to build and boot KBL/CML/ICL.
Change-Id: If660a4b8d12e54b39252bce62bcc0ffcc967f5da
Signed-off-by: Subrata Banik <subrata.banik(a)intel.com>
---
D src/arch/x86/include/arch/intel-family.h
M src/soc/intel/common/block/timer/timer.c
2 files changed, 77 insertions(+), 117 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/48/35148/9
--
To view, visit https://review.coreboot.org/c/coreboot/+/35148
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: If660a4b8d12e54b39252bce62bcc0ffcc967f5da
Gerrit-Change-Number: 35148
Gerrit-PatchSet: 9
Gerrit-Owner: Subrata Banik <subrata.banik(a)intel.com>
Gerrit-Reviewer: Aamir Bohra <aamir.bohra(a)intel.com>
Gerrit-Reviewer: Aaron Durbin <adurbin(a)chromium.org>
Gerrit-Reviewer: Duncan Laurie <dlaurie(a)chromium.org>
Gerrit-Reviewer: Furquan Shaikh <furquan(a)google.com>
Gerrit-Reviewer: Lean Sheng Tan <lean.sheng.tan(a)intel.com>
Gerrit-Reviewer: Maulik V Vaghela <maulik.v.vaghela(a)intel.com>
Gerrit-Reviewer: Meera Ravindranath <meera.ravindranath(a)intel.com>
Gerrit-Reviewer: Patrick Rudolph <siro(a)das-labor.org>
Gerrit-Reviewer: Subrata Banik <subrata.banik(a)intel.com>
Gerrit-Reviewer: V Sowmya <v.sowmya(a)intel.com>
Gerrit-Reviewer: Wonkyu Kim <wonkyu.kim(a)intel.com>
Gerrit-Reviewer: build bot (Jenkins) <no-reply(a)coreboot.org>
Gerrit-CC: Kyösti Mälkki <kyosti.malkki(a)gmail.com>
Gerrit-MessageType: newpatchset