Skip to content

pre-commit: autoupdate hooks - #747

Open
macpijan wants to merge 875 commits into
dasharofrom
pre-commit
Open

pre-commit: autoupdate hooks#747
macpijan wants to merge 875 commits into
dasharofrom
pre-commit

Conversation

@macpijan

Copy link
Copy Markdown
Contributor

Change-Id: Ia9233d626c13b4066488f8f2d15bf061733e1a93
Upstream-Status: Inappropriate [Dasharo downstream]

jeremy-compostella and others added 30 commits March 26, 2025 20:25
This resolves a crash issue observed on Meteor Lake and introduced by
commit 70bdd2e ("cpu/x86/topology:
Simplify CPU topology initialization"). This commit simplifies the
code and provides more detailed CPU topology information by
generalizing the use of the Extended Topology Enumeration Leaves
0x1f. As a result, the coreboot APIC core_id field does not provide
the fully detailed path information.

It turns out that the topology core identifier is used by the coreboot
MP service mp_get_processor_info() implementation. But the MP Service
EFI_CPU_PHYSICAL_LOCATION data structure only captures information
about the package, core, and thread. The core identifier returned to
the MP service caller must incorporate the full hierarchical path (die
group, die, module, tile, module and core).

This commit adds a new field to the cpu topology structure to
represent the core ID within the package.

For reference, here is that signature of the crash:

   LAPIC 0x40 in X2APIC mode.
   CPU Index 2 - APIC 64 Unexpected Exception:13 @ 10:69f3d1e4 - Halting
   Code: 0 eflags: 00010046 cr2: 00000000
   eax: 00000001 ebx: 69f313e8 ecx: 0000004e edx: 00000000
   edi: 69f38018 esi: 00000029 ebp: 69aeee0c esp: 69aeedc0
   [...]

The crash occurred when FSP attempted to lock the Protected
Processor Inventory Number Enable Control MSR (IA32_PPIN_CTL
0x4e).

   69f3d1d3:	8b 43 f4             	mov    -0xc(%ebx),%eax
   69f3d1d6:	89 4d c4             	mov    %ecx,-0x3c(%ebp)
   69f3d1d9:	89 45 dc             	mov    %eax,-0x24(%ebp)
   69f3d1dc:	8b 55 c4             	mov    -0x3c(%ebp),%edx
   69f3d1df:	8b 45 c0             	mov    -0x40(%ebp),%eax
   69f3d1e2:	8b 4d dc             	mov    -0x24(%ebp),%ecx
   69f3d1e5:	0f 30                	wrmsr
   69f3d1e7:	e9 ee fd ff ff       	jmp    0xfffffe39

FSP experiences issues due to attempting to lock the same register
multiple times for a single core. This is caused by an inconsistency
in the processor information data structure, where multiple cores
share the same identifier. This is not permitted and triggers a
General Protection Fault Exception.

TEST=Executing CpuFeaturesPei.efi in FSP-S does not crash on a rex
     board.

Upstream-Status: Backport [25.03]
Change-Id: I06db580cddaeaf5c452fa72f131d37d10dbc5974
Signed-off-by: Jeremy Compostella <jeremy.compostella@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/86004
Reviewed-by: Patrick Rudolph <patrick.rudolph@9elements.com>
Reviewed-by: Cliff Huang <cliff.huang@intel.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Zhixing Ma <zhixing.ma@intel.com>
Change-Id: I9381be805b5345650848dfb8945c168d15a7c55b
Upstream-Status: Inappropriate [Dasharo downstream]
Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
Change-Id: I866fbf9622341f711904fdeef5e21f24a8e8d2bf
Upstream-Status: Inappropriate [Dasharo downstream]
Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
Change-Id: I7187b24adae3138488f9a50ed19a83898e6ca409
Upstream-Status: Inappropriate [Dasharo downstream]
Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
The option logic has been changed to default false but the coreboot
configs were not updated to enable the options for the platforms
that should have the quiet and fast boot.

Change-Id: I289b7bde108db19c50e4fa157381b143685c7d63
Upstream-Status: Inappropriate [Dasharo downstream]
Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
Change-Id: I4eaf5cd08574ca5012f86a5d1d050af872036760
Upstream-Status: Inappropriate [Dasharo downstream]
Signed-off-by: Filip Lewiński <filip.lewinski@3mdeb.com>
Upstream-Status: Inappropriate [Dasharo downstream]
Change-Id: I0a5650de8da73a9fe168457c0cfe817a6e6fd0be
Signed-off-by: Filip Lewiński <filip.lewinski@3mdeb.com>
Change-Id: I09e700bacd0187ef1f6ebb286a3ad3367c4964dd
Upstream-Status: Inappropriate [Dasharo downstream]
Signed-off-by: Filip Lewiński <filip.lewinski@3mdeb.com>
1. Don't try to power it on again if it was powered on already.
2. Kick the platform via global reset if the GPU fails to come up. This
   reliably fixes dGPU detection.

Upstream-Status: Pending
Change-Id: I76b80ec8c988d25adff23f02b697d98885848f35
Signed-off-by: Michał Kopeć <michal.kopec@3mdeb.com>
Upstream-Status: Inappropriate [Dasharo downstream]
Change-Id: I74f38ddfec9a3665478875e4866731fef5587379
Signed-off-by: Filip Lewiński <filip.lewinski@3mdeb.com>
Change-Id: Ied54e079fe913e724e5da822d1051dc340b29884
Upstream-Status: Inappropriate [Dasharo downstream]
Signed-off-by: Jakub Redmerski <jakub.redmerski@3mdeb.com>
Upstream-Status: Inappropriate [Dasharo downstream]
Change-Id: I795041b444888fe6524640fdf3d042e8ed9fa6cd
Signed-off-by: Jakub Redmerski <jakub.redmerski@3mdeb.com>
Upstream-Status: Inappropriate [Dasharo downstream]
Change-Id: I0cd8d6d472e61f5b0911c3411ba7f521fe81f520
Signed-off-by: Sergii Dmytruk <sergii.dmytruk@3mdeb.com>
Change-Id: I456109d3836c1982206aa2c4397c8b85b06c68cf
Signed-off-by: Sergii Dmytruk <sergii.dmytruk@3mdeb.com>
Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
Upstream-Status: Inappropriate [Dasharo downstream]
Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
Signed-off-by: Filip Lewiński <filip.lewinski@3mdeb.com>
Signed-off-by: Michał Kopeć <michal.kopec@3mdeb.com>
Signed-off-by: Michał Kopeć <michal.kopec@3mdeb.com>
Upstream-Status: Inappropriate (not all boards upstreamed)
Change-Id: Ie7a55f50826f4daa45260a327bc76437e236b297
Signed-off-by: Michał Kopeć <michal.kopec@3mdeb.com>
Change-Id: I43543123ab09b9a3309c44f081d6a5901da15248
Signed-off-by: Michał Kopeć <michal.kopec@3mdeb.com>
Change-Id: Id947352ae6105962006898e6568f76b64fe2a066
Signed-off-by: Michał Kopeć <michal.kopec@3mdeb.com>
Upstream-Status: Pending
Change-Id: Ica3976097f87ef76bf795a5ce73f68bbf2f51c16
Signed-off-by: Michał Kopeć <michal.kopec@3mdeb.com>
Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
Upstream-Status: Inappropriate (Dasharo downstream)
Change-Id: If6c8373d09d19bc6c6481719061d4f28c8c82eac
Signed-off-by: Michał Kopeć <michal.kopec@3mdeb.com>
Signed-off-by: Filip Lewiński <filip.lewinski@3mdeb.com>
…port

Signed-off-by: Filip Lewiński <filip.lewinski@3mdeb.com>
Signed-off-by: Filip Lewiński <filip.lewinski@3mdeb.com>
Signed-off-by: Filip Lewiński <filip.lewinski@3mdeb.com>
Signed-off-by: Filip Lewiński <filip.lewinski@3mdeb.com>
miczyg1 and others added 28 commits August 7, 2025 17:20
Fixes the issue with display not working in the firmware.
New FSP updated VBT definitions. Old VBTs no longer work with new FSP.
Update VBT so that it works with up to date ADL-N FSP.

TEST=Boot ODROID H4 Ultra with monitor plugged into all DP and HDMI
ports and observe boot logo on the screen.

Upstream-Status: Pending
Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
Change-Id: Ic6fdf94450ce5ed5884a7851e53e68c43ecdf6b7
Upstream-Status: Inappropriate [custom feature]
Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
DSP is not needed for audio to work. Moreover, it causes problems
with driver binding in Windows as it changes how the HDA controller
is seen in Windows.

Upstream-Status: Pending
Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
Add code to support new menu option for In-band ECC feature
control.

Upstream-Status: Inappropriate [custom feature]
Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
Add In-band ECC configuration in devicetree necessary to fill
FSP UPDs to enable IBECC.

Upstream-Status: Inappropriate [custom feature]
Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
Add code to enable In-band ECC feature option in setup menu.

Change-Id: I1acdf89ccf5e390d058e6d2a3893c1545282f5fc
Upstream-Status: Inappropriate [custom feature]
Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
Paylaod revision has to be updated with introduction of new PCD.
New PCD controls the visibility of XMP profile selection so that
it is independent of IBECC option.

Upstream-Status: Inappropriate [custom configs]
Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
FW performance measurement is required to measure difference in boot
time with fast boot.

Change-Id: I28071058985f16e4cc1cee936c7a380862e5be64
Upstream-Status: Inappropriate [custom configs]
Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
Add build checks for new ODROID build variant.

Change-Id: Icf2f3645e295b721356252e996900fd14f278b3b
Upstream-Status: Inappropriate [CI configuration]
Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
Change-Id: I7b695dc1e334bea77480e58a6e1695f440eed0a5
Upstream-Status: Inappropriate [custom configs]
Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
Change-Id: Id66590bbb4aba3f19d448ebcb08aa544f25b975c
Upstream-Status: Pending
Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
Update iPXE revision so that coreboot can be built with newer
toolchains.

Upstream-Status: Inappropriate [custom configs]
Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
It was incorrectly assumed that capsules' memory will be reserved in
clear_memory() without any additional changes to the function.  As a
result, platforms for which memory clearing conditions were met during a
capsule update reset cleared the capsules.

Make efi_parse_capsules() return start and size of the range occupied by
capsules via output parameters and exclude the range in clear_memory().

Also print memory range instead of merely where it starts in
efi_parse_capsules(), this was helpful in determining the cause of this
issue.

Upstream-Status: Pending
Change-Id: Ibf62012cec0216daee4ee754085604dd11acaf74
Signed-off-by: Sergii Dmytruk <sergii.dmytruk@3mdeb.com>
Change-Id: I802f77bdc75c8a966f03d0d58c9f3b35c896204c
Upstream-Status: Inappropriate [custom configs]
Signed-off-by: Mateusz Maciejewski <mateusz.maciejewski@3mdeb.com>
Signed-off-by: Sergii Dmytruk <sergii.dmytruk@3mdeb.com>
… Odroid H4+

Change-Id: I051b42ff89fd7de94d8c5a5e064fde05b29c6f13
Upstream-Status: Inappropriate [Dasharo downstream]
Signed-off-by: Sergii Dmytruk <sergii.dmytruk@3mdeb.com>
When CPU doesn't support SMX, a DRTM is not possible, yet any reboot
seems to be treated as DRTM reset.  Discard TXT error and secret bits as
irrelevant to avoid unnecessarily clearing DRAM on reboots as that makes
reboot significantly longer.

This applies to platforms which have CONFIG_INTEL_TXT for CBnT, have a
TXT-enabled chipset, but don't have a CPU with TXT support.

Change-Id: If937419d4186c7421c3eb52daf0cc299993b5068
Upstream-Status: Pending
Signed-off-by: Sergii Dmytruk <sergii.dmytruk@3mdeb.com>
Change-Id: I96458f500fd6967c719b4e0e08029e28240f25f5
Signed-off-by: Michał Kopeć <michal.kopec@3mdeb.com>
Upstream-Status: Inappropriate [Dasharo downstream]
Change-Id: Ie1dc7406b5f1b5a6b6e96aad5e3d7810caadccf1
Signed-off-by: Sergii Dmytruk <sergii.dmytruk@3mdeb.com>
That is the function which all code related to measurements ends up
calling.  For this reason it must be responsible for initializing the
log.

Without this change, vboot_extend_pcr() may invoke tpm_extend_pcr()
before the log is being initialized indirectly by a call to
tspi_cbfs_measurement() resulting in a failure to log VBOOT
measurements.

Change-Id: I98fdb4cdab72ae23ad895898eac11dd6c864a20e
Upstream-Status: Pending
Signed-off-by: Sergii Dmytruk <sergii.dmytruk@3mdeb.com>
Change-Id: Ifb71b4ee4736c1808505cf8a985d73f311552b87
Upstream-Status: Inappropriate [Dasharo downstream]
Signed-off-by: Sergii Dmytruk <sergii.dmytruk@3mdeb.com>
Upstream-Status: Inappropriate [Dasharo downstream]
Change-Id: I4a732b79b1a24e2bd9a0db8c0957ea02e7fc46e5
Signed-off-by: Maciej Pijanowski <maciej.pijanowski@3mdeb.com>
The option is not implemented on this platform yet, and it's unknown
whether such implementation is even possible.

Upstream-Status: Inappropriate [Dasharo downstream]
Signed-off-by: Filip Lewiński <filip.lewinski@3mdeb.com>
…r IO as well

The Super IO also has its own registers determining the power failure
resume behavior. They need to be set accordingly to the option as well,
besides the SoC-wide PMC write.

Upstream-Status: Inappropriate [Dasharo downstream]
Signed-off-by: Filip Lewiński <filip.lewinski@3mdeb.com>
Upstream-Status: Inappropriate [Dasharo downstream]
Signed-off-by: Filip Gołaś <filip.golas@3mdeb.com>
The Image Processing Unit is only required for CSI/MIPI cameras, which
is not present on the platform.

Upstream-Status: Pending
Signed-off-by: Filip Lewiński <filip.lewinski@3mdeb.com>
IntelGopDriver has been removed from the NUC BOX blobs, since it's no
longer needed.

Upstream-Status: Inappropriate [Dasharo downstream]
Signed-off-by: Filip Lewiński <filip.lewinski@3mdeb.com>
Upstream-Status: Inappropriate [Dasharo downstream]
Signed-off-by: Filip Lewiński <filip.lewinski@3mdeb.com>
Change-Id: Ia9233d626c13b4066488f8f2d15bf061733e1a93
Upstream-Status: Inappropriate [Dasharo downstream]
Signed-off-by: Maciej Pijanowski <maciej.pijanowski@3mdeb.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.