doc/soc/intel/xeon_sp: Add Xeon-SP coreboot community preview guide
The community preview branch for coreboot on latest Xeon Scalable processor is opensource at: https://review.coreboot.org/plugins/gitiles/intel-dev-pub/. Change-Id: Ie2ffc1722a4a26d6039b6642efa95bf072d896ad Signed-off-by: Shuo Liu <shuo.liu@intel.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/78787 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: David Hendricks <david.hendricks@gmail.com>
This commit is contained in:
parent
49509473c7
commit
b34b4bf0dd
|
@ -12,3 +12,4 @@ This section contains documentation about coreboot on specific Intel SOCs.
|
||||||
- [Firmware Interface Table](fit.md)
|
- [Firmware Interface Table](fit.md)
|
||||||
- [Apollolake](apollolake/index.md)
|
- [Apollolake](apollolake/index.md)
|
||||||
- [CSE FW Update](cse_fw_update/cse_fw_update.md)
|
- [CSE FW Update](cse_fw_update/cse_fw_update.md)
|
||||||
|
- [Xeon Scalable processor](xeon_sp/index.md)
|
||||||
|
|
|
@ -0,0 +1,120 @@
|
||||||
|
Xeon Scalable processor coreboot Community Preview Guide
|
||||||
|
================================================
|
||||||
|
|
||||||
|
## Background
|
||||||
|
|
||||||
|
Sapphire Rapids coreboot was already merged into coreboot mainline.
|
||||||
|
Granite Rapids coreboot upstreaming is coming.
|
||||||
|
|
||||||
|
For Granite Rapids coreboot, we are going to perform a phased
|
||||||
|
upstreaming strategy according to the maturity of the code. A community
|
||||||
|
preview branch is opensource at:
|
||||||
|
https://review.coreboot.org/plugins/gitiles/intel-dev-pub/.
|
||||||
|
|
||||||
|
The community preview branch initially contains codes on legacy feature
|
||||||
|
enabling and matured patch set for platform support. More platform
|
||||||
|
support code will come with the platform development. The subsequent
|
||||||
|
upstreaming work will be based on this branch. It provides 2 board
|
||||||
|
targets,
|
||||||
|
|
||||||
|
1. Avenue City CRB (Granite Rapids-AP)
|
||||||
|
2. Beechnut City CRB (Granite Rapids-SP)
|
||||||
|
|
||||||
|
The above targets can pass build with Granite Rapids n-1 FSP headers,
|
||||||
|
which is a set of stub FSP headers used for compilation sanity check.
|
||||||
|
|
||||||
|
## Build steps
|
||||||
|
|
||||||
|
### Prepare workspace
|
||||||
|
|
||||||
|
```
|
||||||
|
# Create workspace
|
||||||
|
|
||||||
|
mkdir workspace && cd workspace
|
||||||
|
|
||||||
|
# Prepare coreboot codebase
|
||||||
|
|
||||||
|
git clone https://review.coreboot.org/intel-dev-pub ln -s intel-dev-pub/
|
||||||
|
coreboot
|
||||||
|
|
||||||
|
# Prepare stub binaries and update their path in
|
||||||
|
# configs/builder/config.intel.crb.avc.n-1
|
||||||
|
|
||||||
|
# Granite Rapids coreboot uses FSP 2.4, where FSP-I is newly introduced
|
||||||
|
# as an optional module to provide FSP based SMM capability. For FSP 2.4
|
||||||
|
# and FSP-I, please further refer to:
|
||||||
|
# https://cdrdv2-public.intel.com/736809/736809_FSP_EAS_v2.4_Errata_A.pdf
|
||||||
|
|
||||||
|
CONFIG_IFD_BIN_PATH=<path of intel flash descriptor blob>
|
||||||
|
CONFIG_CPU_UCODE_BINARIES=<path of ucode>
|
||||||
|
CONFIG_FSP_T_FILE=<path of FSP-T binary>
|
||||||
|
CONFIG_FSP_M_FILE=<path of FSP-M binary>
|
||||||
|
CONFIG_FSP_S_FILE=<path of FSP-S binary>
|
||||||
|
CONFIG_FSP_I_FILE=<path of FSP-I binary>
|
||||||
|
CONFIG_PAYLOAD_FILE=<path of payload binary>
|
||||||
|
```
|
||||||
|
|
||||||
|
### Download necessary submodules
|
||||||
|
```
|
||||||
|
git submodule update --init --checkout 3rdparty/vboot
|
||||||
|
```
|
||||||
|
|
||||||
|
### Or take below alternative if the network connection is not good
|
||||||
|
```
|
||||||
|
git clone https://github.com/coreboot/vboot.git 3rdparty/vboot/
|
||||||
|
```
|
||||||
|
|
||||||
|
### Build toolchain
|
||||||
|
```
|
||||||
|
make crossgcc-i386 CPUS=$(nproc)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Build BIOS (Avenue City CRB)
|
||||||
|
```
|
||||||
|
make distclean
|
||||||
|
|
||||||
|
make defconfig KBUILD_DEFCONFIG=configs/builder/config.intel.crb.avc.n-1
|
||||||
|
|
||||||
|
make olddefconfig
|
||||||
|
|
||||||
|
make clean
|
||||||
|
|
||||||
|
make UPDATED_SUBMODULES=1 -j`nproc`
|
||||||
|
```
|
||||||
|
|
||||||
|
### Build BIOS (Beechnut City CRB)
|
||||||
|
```
|
||||||
|
make distclean
|
||||||
|
|
||||||
|
make defconfig KBUILD_DEFCONFIG=configs/builder/config.intel.crb.bnc.n-1
|
||||||
|
|
||||||
|
make olddefconfig
|
||||||
|
|
||||||
|
make clean
|
||||||
|
|
||||||
|
make UPDATED_SUBMODULES=1 -j`nproc`
|
||||||
|
```
|
||||||
|
|
||||||
|
### Obtain the preview patch list
|
||||||
|
|
||||||
|
```
|
||||||
|
# The tag ‘upstream’ points to the upstream commit that the preview
|
||||||
|
# branch is based on.
|
||||||
|
|
||||||
|
git format-patch upstream..HEAD
|
||||||
|
```
|
||||||
|
|
||||||
|
## About Granite Rapids n-1 FSP Headers
|
||||||
|
|
||||||
|
This is a set of stub FSP headers for Granite Rapids server, which will
|
||||||
|
be forward compatible with the formal Granite Rapids FSP headers which
|
||||||
|
will be opensource at a later stage. For the n-1 FSP headers, there are
|
||||||
|
no corresponding n-1 FSP binaries. To pass build, users need to use stub
|
||||||
|
binaries which could be generated in arbitrary ways. Granite Rapids n-1
|
||||||
|
FSP headers are at: `src/vendorcode/intel/fsp/fsp2_0/graniterapids_n-1`.
|
||||||
|
|
||||||
|
For the formal Granite Rapids FSP headers and binaries, they will be
|
||||||
|
published at in
|
||||||
|
https://github.com/coreboot/coreboot/tree/main/src/vendorcode/intel/fsp/fsp2_0
|
||||||
|
(headers only) and https://github.com/intel/FSP (headers and binaries)
|
||||||
|
at a later stage.
|
|
@ -0,0 +1,8 @@
|
||||||
|
# Xeon Scalable processor documentation
|
||||||
|
|
||||||
|
This section contains documentation about coreboot on Xeon Scalable
|
||||||
|
processors.
|
||||||
|
|
||||||
|
## Topics
|
||||||
|
|
||||||
|
- [Community preview guide](community_preview_guide.md)
|
Loading…
Reference in New Issue