Patrick Rudolph has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/35739 )
Change subject: soc/intel/common/block: Update microcode for each core
......................................................................
soc/intel/common/block: Update microcode for each core
On Hyper-Threading enabled platform update the microcde only once
for each core, not for each thread.
Follow Intel Software Developer Guidelines as the added comment
also states.
Change-Id: I72804753e567a137a5648ca6950009fed332531b
Signed-off-by: Patrick Rudolph <patrick.rudolph(a)9elements.com>
---
M src/soc/intel/common/block/cpu/mp_init.c
1 file changed, 20 insertions(+), 1 deletion(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/39/35739/1
diff --git a/src/soc/intel/common/block/cpu/mp_init.c b/src/soc/intel/common/block/cpu/mp_init.c
index 2c5061f..e7689cf 100644
--- a/src/soc/intel/common/block/cpu/mp_init.c
+++ b/src/soc/intel/common/block/cpu/mp_init.c
@@ -26,6 +26,7 @@
#include <intelblocks/fast_spi.h>
#include <intelblocks/mp_init.h>
#include <intelblocks/msr.h>
+#include <cpu/intel/common/common.h>
#include <soc/cpu.h>
static const void *microcode_patch;
@@ -44,7 +45,24 @@
static void init_one_cpu(struct device *dev)
{
soc_core_init(dev);
- intel_microcode_load_unlocked(microcode_patch);
+
+ /*
+ * Update just on the first CPU in the core. Other siblings
+ * get the update automatically according to Document: 253668-060US
+ * Intel SDM Chapter 9.11.6.3
+ * "Update in a System Supporting Intel Hyper-Threading Technology"
+ * Intel Hyper-Threading Technology has implications on the loading of the
+ * microcode update. The update must be loaded for each core in a physical
+ * processor. Thus, for a processor supporting Intel Hyper-Threading
+ * Technology, only one logical processor per core is required to load the
+ * microcode update. Each individual logical processor can independently
+ * load the update. However, MP initialization must provide some mechanism
+ * (e.g. a software semaphore) to force serialization of microcode update
+ * loads and to prevent simultaneous load attempts to the same core.
+ */
+ if (!intel_ht_sibling()) {
+ intel_microcode_load_unlocked(microcode_patch);
+ }
}
static struct device_operations cpu_dev_ops = {
@@ -141,6 +159,7 @@
if (CONFIG(USE_INTEL_FSP_MP_INIT))
return;
+ /* Update microcode on BSP */
microcode_patch = intel_microcode_find();
intel_microcode_load_unlocked(microcode_patch);
--
To view, visit https://review.coreboot.org/c/coreboot/+/35739
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I72804753e567a137a5648ca6950009fed332531b
Gerrit-Change-Number: 35739
Gerrit-PatchSet: 1
Gerrit-Owner: Patrick Rudolph <patrick.rudolph(a)9elements.com>
Gerrit-MessageType: newchange
Michał Żygowski has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/43398 )
Change subject: drivers/intel/fsp2_0: Allow including FSPT at specified offset
......................................................................
drivers/intel/fsp2_0: Allow including FSPT at specified offset
FSPT is executed by assembly code and is not being automatically
relocated, thus it must be at specified offset. Add options to
specify FSPT location in CBFS and user option to include FSPT.
Signed-off-by: Michał Żygowski <michal.zygowski(a)3mdeb.com>
Change-Id: I997c7465fd7ac56633c3e7e3fa5b95384dcf5ad2
---
M src/drivers/intel/fsp2_0/Kconfig
M src/drivers/intel/fsp2_0/Makefile.inc
2 files changed, 11 insertions(+), 2 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/98/43398/1
diff --git a/src/drivers/intel/fsp2_0/Kconfig b/src/drivers/intel/fsp2_0/Kconfig
index 3caa04a..5d27f32 100644
--- a/src/drivers/intel/fsp2_0/Kconfig
+++ b/src/drivers/intel/fsp2_0/Kconfig
@@ -89,6 +89,14 @@
help
The path and filename of the Intel FSP-T binary for this platform.
+config FSP_T_CBFS_LOCATION
+ hex "Intel FSP-T Binary location in CBFS"
+ default 0xfffd1000
+ help
+ Specify the location of FSP-T binary. FSP-T is executed early by
+ assembly code and is not automatically relocated. The location must
+ match the binary base address in FSP-T header.
+
config FSP_M_FILE
string "Intel FSP-M (memory init) binary path and filename" if !FSP_USE_REPO
depends on ADD_FSP_BINARIES
@@ -104,7 +112,7 @@
The path and filename of the Intel FSP-S binary for this platform.
config FSP_CAR
- bool
+ bool "Use FSP to setup temporary memory"
default n
help
Use FSP APIs to initialize & Tear Down the Cache-As-Ram
diff --git a/src/drivers/intel/fsp2_0/Makefile.inc b/src/drivers/intel/fsp2_0/Makefile.inc
index 278036a..a1758ea 100644
--- a/src/drivers/intel/fsp2_0/Makefile.inc
+++ b/src/drivers/intel/fsp2_0/Makefile.inc
@@ -42,8 +42,9 @@
cbfs-files-$(CONFIG_FSP_CAR) += $(FSP_T_CBFS)
$(FSP_T_CBFS)-file := $(call strip_quotes,$(CONFIG_FSP_T_FILE))
$(FSP_T_CBFS)-type := fsp
+$(FSP_T_CBFS)-options := -b $(CONFIG_FSP_T_CBFS_LOCATION)
ifeq ($(CONFIG_FSP_T_XIP),y)
-$(FSP_T_CBFS)-options := --xip $(TXTIBB) $(BTGIBB)
+$(FSP_T_CBFS)-options := --xip $(TXTIBB) $(BTGIBB) -b $(CONFIG_FSP_T_CBFS_LOCATION)
endif
cbfs-files-$(CONFIG_ADD_FSP_BINARIES) += $(FSP_M_CBFS)
--
To view, visit https://review.coreboot.org/c/coreboot/+/43398
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I997c7465fd7ac56633c3e7e3fa5b95384dcf5ad2
Gerrit-Change-Number: 43398
Gerrit-PatchSet: 1
Gerrit-Owner: Michał Żygowski <michal.zygowski(a)3mdeb.com>
Gerrit-Reviewer: Andrey Petrov <andrey.petrov(a)gmail.com>
Gerrit-Reviewer: Martin Roth <martinroth(a)google.com>
Gerrit-Reviewer: Patrick Georgi <pgeorgi(a)google.com>
Gerrit-Reviewer: Patrick Rudolph <siro(a)das-labor.org>
Gerrit-MessageType: newchange
Christoph Pomaska has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/34905 )
Change subject: mb/supermicro/x10slm-f: Add new superio support to board's Kconfig
......................................................................
mb/supermicro/x10slm-f: Add new superio support to board's Kconfig
Since the superio support code didnt exist when the board was ported,
the Kconfig was not modified yet to add support for the BMC-chip.
This commit fixes the missing Kconfig entry.
Change-Id: I4f89c2ddcc00327e01d0a83fc13cfa862e6abd70
Signed-off-by: Christoph Pomaska <c.pomaska(a)hosting.de>
---
M src/mainboard/supermicro/x10slm-f/Kconfig
1 file changed, 4 insertions(+), 3 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/05/34905/1
diff --git a/src/mainboard/supermicro/x10slm-f/Kconfig b/src/mainboard/supermicro/x10slm-f/Kconfig
index 3945c09..6effff2 100644
--- a/src/mainboard/supermicro/x10slm-f/Kconfig
+++ b/src/mainboard/supermicro/x10slm-f/Kconfig
@@ -20,15 +20,16 @@
def_bool y
select BOARD_ROMSIZE_KB_16384
select CPU_INTEL_HASWELL
- select DRIVERS_ASPEED_AST2050 # Supports AST2400 too.
+ select SOUTHBRIDGE_INTEL_LYNXPOINT
select HAVE_ACPI_RESUME
select HAVE_ACPI_TABLES
select HAVE_OPTION_TABLE
select HAVE_CMOS_DEFAULT
select NORTHBRIDGE_INTEL_HASWELL
select SERIRQ_CONTINUOUS_MODE
- select SOUTHBRIDGE_INTEL_LYNXPOINT
- select SUPERIO_NUVOTON_NCT6776
+ select DRIVERS_ASPEED_AST2050 # Supports AST2400 too.
+ select SUPERIO_ASPEED_AST2400 # The board's BMC
+ select SUPERIO_NUVOTON_NCT6776 # the board's superio
select SUPERIO_NUVOTON_NCT6776_COM_A
config CBFS_SIZE
--
To view, visit https://review.coreboot.org/c/coreboot/+/34905
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I4f89c2ddcc00327e01d0a83fc13cfa862e6abd70
Gerrit-Change-Number: 34905
Gerrit-PatchSet: 1
Gerrit-Owner: Christoph Pomaska <github(a)aufmachen.jetzt>
Gerrit-MessageType: newchange
Zoltan Baldaszti has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/45829 )
Change subject: Documentation: added more payload links and descriptions
......................................................................
Documentation: added more payload links and descriptions
Change-Id: I13c10edbc7fbb7017641ab025982c658cbeb3610
Signed-off-by: Zoltan Baldaszti <bztemail(a)gmail.com>
---
M Documentation/payloads.md
1 file changed, 35 insertions(+), 7 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/29/45829/1
diff --git a/Documentation/payloads.md b/Documentation/payloads.md
index eee841e..bee8393 100644
--- a/Documentation/payloads.md
+++ b/Documentation/payloads.md
@@ -23,17 +23,45 @@
coreboot payload, but these days this function is available directly in the
CorebootPayloadPkg part of its source tree.
+## iPXE
+
+[iPXE](https://ipxe.org) is the leading open source network boot firmware.
+It provides a full PXE Implementation enchaced with additional features such
+as booting from HTTP, iSCSI, FCoE, AoE, wireless, WAN, infiniband.
+
## GRUB2
-GRUB2 was originally written as a bootloader and that's its most popular
-purpose, but it can also be compiled as a coreboot payload.
+[GRUB2](https://www.gnu.org/software/grub) was originally written as a
+bootloader and that's its most popular purpose, but it can also be compiled
+as a coreboot payload.
+
+## U-Boot
+
+[U-Boot](https://www.denx.de/wiki/U-Boot) is a boot loader for Embedded boards
+based on PowerPC, ARM, MIPS and several other processors, which can be
+installed in a boot ROM and used to initialize and test the hardware or to
+download and run application code.
+
+## FILO
+
+[FILO](https://www.coreboot.org/FILO) loads boot images from local filesystem,
+without help from legacy BIOS services. Expected usage is to flash it into
+the BIOS ROM together with coreboot.
+
+## BOOTBOOT
+
+[BOOTBOOT](https://gitlab.com/bztsrc/bootboot) is a multi-platform,
+architecture agnostic boot protocol. The protocol describes how to boot an
+ELF64 or PE32+ executable inside an initial ram disk image into clean 64 bit
+mode. This version uses libpayload to do that. Initrd can be in ROM or on
+disk a GPT partition or a file on a FAT formatted ESP partition.
## Linux
-There are several projects using Linux as a payload (which was the
-configuration that gave coreboot its original name, LinuxBIOS). That kernel is
-often rather small and serves to load a current kernel from somewhere, e.g.
-disk or network, and run that through the kexec mechanism.
+There are several projects using [Linux](https://kernel.org) as a payload
+(which was the configuration that gave coreboot its original name, LinuxBIOS).
+That kernel is often rather small and serves to load a current kernel from
+somewhere, e.g. disk or network, and run that through the kexec mechanism.
Two aspects emphasized by proponents of Linux-as-a-payload are the
availability of well-tested, battle-hardened drivers (as compared to
@@ -51,4 +79,4 @@
For more details have a look at [heads-wiki].
[Heads]: https://github.com/osresearch/heads
-[heads-wiki]: http://osresearch.net/
\ No newline at end of file
+[heads-wiki]: http://osresearch.net/
--
To view, visit https://review.coreboot.org/c/coreboot/+/45829
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I13c10edbc7fbb7017641ab025982c658cbeb3610
Gerrit-Change-Number: 45829
Gerrit-PatchSet: 1
Gerrit-Owner: Zoltan Baldaszti <bztemail(a)gmail.com>
Gerrit-MessageType: newchange
Nico Huber has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/49056 )
Change subject: [TEST] abuild: Default to !CHROMEOS
......................................................................
[TEST] abuild: Default to !CHROMEOS
Change-Id: I9ae4bc22f70be5b8d8efa35f0cc8aa2d36a5531a
Signed-off-by: Nico Huber <nico.h(a)gmx.de>
---
M util/abuild/abuild
1 file changed, 1 insertion(+), 1 deletion(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/56/49056/1
diff --git a/util/abuild/abuild b/util/abuild/abuild
index 408de12..59da54c 100755
--- a/util/abuild/abuild
+++ b/util/abuild/abuild
@@ -655,7 +655,7 @@
clean_objs=false
verboseopt='V=0'
customizing=""
-configoptions=""
+configoptions="# CONFIG_CHROMEOS is not set\n"
# testclass needs to be undefined if not used for variable expansion to work
unset testclass
while true ; do
--
To view, visit https://review.coreboot.org/c/coreboot/+/49056
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I9ae4bc22f70be5b8d8efa35f0cc8aa2d36a5531a
Gerrit-Change-Number: 49056
Gerrit-PatchSet: 1
Gerrit-Owner: Nico Huber <nico.h(a)gmx.de>
Gerrit-MessageType: newchange