Commit Graph

63066 Commits

Author SHA1 Message Date
Michał Żygowski dc388f43d0 soc/amd/turin_poc/chipset.cb: Add ACP device
Add missing ACP device described in the Turin PPR.

Upstream-Status: Pending
Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
2026-06-12 12:20:11 +02:00
Michał Żygowski 1d91c76b6e soc/amd/turin_poc/chipset.cb: Disable hidden SDXI devices
Since SDXI devices are not visible by default, turn them off.

Upstream-Status: Pending
Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
2026-06-12 12:19:48 +02:00
Michał Żygowski c9200a71f2 soc/amd/turin_poc,amdblocks/pcie_gpp: Assign proper ops to GPP bridges
Some bridges were missing the operations and were not marked
as hidden. Fix it for consistency.

Also the intenal GPP bridges are PCIe bridges and should use PCIe
bridge scann method. Otherwise, the devices may end up with mismatched
MaxPayload capability. For openSIL, which does not program PCIe
capabilities yet on the bridges and devices behind them, let coreboot
do it.

For external GPP bridges assign hotplug ops if hotplug enabled and port
is capable of hotplugging.

Upstream-Status: Pending
Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
2026-06-12 12:10:22 +02:00
Michał Żygowski 8584e188a5 drivers/amd/opensil/memmap.c: Report RAM between holes
If holes are not continuous, we may end up loosing some RAM, e.g.
if Remap1Tb entry is present in the list of holes.

Upstream-Status: Pending
Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
2026-06-12 12:01:03 +02:00
Michał Żygowski 76e40f7eea vc/amd/opensil/turin_poc/memmap.c: Add missing hole definitions
Add missing memory hole definitions to have human readable information
what given hole represents.

Upstream-Status: Pending
Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
2026-06-12 12:00:43 +02:00
Michał Żygowski 935633bbe7 soc/amd/turin_poc/cpu.c: Avoid page faults when clearing RMP table
We do not cover enough of memory with page tables to reach higher
memory than 1TB. When there is more memory than 1TB in the system,
RMP is unreachable, resulting in page faults.

Upstream-Status: Pending
Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
2026-06-12 12:00:31 +02:00
Michał Żygowski de2bb00c0c soc/amd/turin_poc/Kconfig: Increase MAX_ACPI_TABLE_SIZE_KB
Increase MAX_ACPI_TABLE_SIZE_KB to fit all ACPI tables when a higher
core count CPU is used. The SSDT gets linearly bigger with higher core
count and the default fixed allocation for ACPI tables is not enough.

Upstream-Status: Pending
Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
2026-06-12 11:57:16 +02:00
Michał Żygowski 3226c59f27 payloads/external/edk2: Specify max CPUs and AP init timeout
On server platforms the maximum number of logical processors
is greater than default 64 defined in the DSC file. Use MAX_CPUs
Kconfig value to pass the epxected maximum processor count and
use the 100ms increments for each processor for the AP init timeout
as coreboot does for its own MP init.

TEST=Boot Gigbyte MZ33-AR1 with 128 core processor

Upstream-Status: Pending
Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
2026-06-12 11:57:16 +02:00
Michał Żygowski 526736cb6a mainboard/gigabyte/mz33-ar1: Update APCBs to R22_F15
Add APCBs from R22_F15 vendor BIOS image.

Upstream-Status: Pending
Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
2026-06-12 11:57:16 +02:00
Michał Żygowski 0fcf7cd1f8 soc/amd/turin_poc: Add Turin Dense CPU support
Upstream-Status: Pending
Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
2026-06-12 11:57:16 +02:00
Michał Żygowski 4bc79fddc6 vc/amd/opensil/turin_poc/opensil: Bump submodule for BRHD support
Upstream-Status: Pending
Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
2026-06-12 11:57:08 +02:00
Michał Żygowski a127bc7268 soc/amd/turin_poc/Makefile.mk: Add support for BOOTBLOCK_IN_CBFS
The bootblock may be placed in the CBFS as in the old days. The
Makefile.mk that prepares parameters for amdfwtool must simply
pass the right parameters about BIOS_BIN to be uncompressed and
where to look for the bootblock in flash. On AMD platforms it can
be the last block of COREBOOT region of C_ENV_BOOTBLOCK_SIZE.

Upstream-Status: Pending
Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
2026-05-26 15:47:26 +02:00
Michał Żygowski b84662dc4c src/console/Kconfig: Add baud rate 3M
AMD FCH UARTs can work with 3M baud rates.

Upstream-Status: Pending
Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
2026-05-26 15:46:10 +02:00
Michał Żygowski 0f5773b3a5 soc/amd/turin_poc: Add option to build single level PSP directories
It is not required to build multilevel directories to make the platform
boot. If multilevel is disabled, the blob footprint is reduced due
to inclusion of a single copy of given blob, at the cost of PSP
recovery, which we do not support anyways.

Upstream-Status: Pending
Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
2026-05-26 15:44:41 +02:00
Michał Żygowski d9adcee3c7 util/amdfwtool/amdfwtool.c: Add missing PMU files
Include new PMU firmware file in the PSP BIOS directories that
are available on Turin SOC.

Upstream-Status: Pending
Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
2026-05-26 15:43:10 +02:00
Michał Żygowski 348b462794 util/amdfwtool/amdfwtool.c: Avoid adding APOB NV or BIOS NV without size
Avoid adding APOB NV or BIOS NV is size is not specified. Otherwise,
the PSP BIOS directory may end up with BIOS NV of base 0 and size 0.

Upstream-Status: Pending
Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
2026-05-26 15:41:47 +02:00
Michał Żygowski 646ca90e79 vc/amd/opensil/turin_poc/mpio: Add TX and RX polarity inversion settings
Add settings to specify the polarity of PCIe signals. Some board designs
invert RX or TX lines on the connectors.

Upstream-Status: Pending
Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
2026-05-26 15:40:41 +02:00
Michał Żygowski 05a68f335a Revert ".github/workflows/test.yml: Use secrets to install OSFV dependencies"
This reverts commit 5e801cbb7b.
The repository osfv-scripts is public again, no need to use secrets.

Upstream-Status: Inappropriate [reverts non-upstream commit]
Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
2026-05-19 09:31:29 +02:00
Michał Żygowski a182404917 cpu/amd/pi: Use AMD common block for TSC
Select options to utilize common AMD block for TSC. The coreboot
timestamp table needs the tick frequency to be provided by TSC.
Currently AMD PI CPU uses LAPIC as the timer, which does not provide
the TSC tick frequency. It is also required to properly measure
firmware performance in EDK2.

Upstream-Status: Pending
Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
2026-05-15 10:01:06 +02:00
Michał Żygowski 5b77741ee8 configs,payloads/external/iPXE/Kconfig: Use IPXE_STABLE as default
Using iPXE master revision may lead to unreproducible builds.
Make sure the iPXE is buitl from a fixed revision pointed by
IPXE_STABLE option.

Upstream-Status: Inappropriate [Dasharo downstream]
Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
2026-05-15 09:42:34 +02:00
Michał Żygowski 00b34cf08e build.sh: Fix permissions when building with GH actions
The GH runners have UID 1001, while user coreboot in SDK has id 1000.
This creates a mismatch of IDs and causes permission problems when
mounting coreboot git repository under /home/coreboot/coreboot in the
container, because the /home/coreboot is a HOME directory of different
user.

To fix the problem, move the mountpoint to a "neutral" place, where
permissions should not be a an issue. The /build directory is chosen
so that it does not collide with any HOME directory or system directory.

Upstream-Status: Inappropriate [Dasharo CI]
Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
2026-05-15 09:42:33 +02:00
Michał Żygowski b779612547 sbom/Makefile.mk: Fix rules for git directories presence
For multijob builds to produce reproducible results, the SBOM rules
have to ensure that the respective git directory of component exists.
Otherwise sometimes the SBOM may contain component git version,
sometimes not during fresh builds. After a rebuild, when the git
directories were present, then the git versions appeared in SBOM,
causing the build to be different and not reproducible, despite
the source was not changed, only make was issued the second time.

Add proper rules to clone repositories or checkout necessary
submodules.

Upstream-Status: Pending
Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
gigabyte_mz33_ar1_v0.9.0
2026-05-14 19:03:58 +02:00
Michał Żygowski efa89198e7 configs/config.gigabyte_mz33-ar1: Select EDK2_CAPSULE_DOES_NOT_SURVIVE_RESET
Likely due to AMD PSP initializing the memory or the active SME, the
memory contents are not retain after reset, so the Capsule Update after
reset will not work if Capsule is stored in RAM before reset.
Use Capsule on Disk only.

Upstream-Status: Inappropriate [custom config]
Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
2026-05-13 16:03:14 +02:00
Michał Żygowski f7a3df328c payloads/edk2: Add option to disable Capsules processed after reset
Add option to indicate that Capsules do not survive resets. Platforms
that do not retain memory contents after reset would lose capsule that
has a CAPSULE_FLAGS_PERSIST_ACROSS_RESET flag set. The only way to
support such platforms is to use Capsule on Disk solely without the flag
set and with Capsule after reset disabled in the payload.

TEST=Perform Capsule on Disk Update on Gigabyte MZ33-AR1

Upstream-Status: Pending
Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
2026-05-13 16:01:53 +02:00
Michał Żygowski 0c753d910f payloads/edk2: Set System Table firmware information PCDs
Set the EFI System Table fields with the PCDs containing firmware
information, such as vendor, release date, version and revision.
Do it so the information is the same in coreboot, EDK2 and SMBIOS.

Upstream-Status: Inappropriate [Dasharo downstream]
Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
2026-05-13 15:36:41 +02:00