Project

General

Profile

Actions

Bug #511

closed

[STM/PE][BUG][SMMSTORE] Coreboot doesn't boot if SMMSTOREv2 driver Kconfig option is enabled when using STM (STM/PE)

Added by Elias Souza 7 months ago. Updated 6 months ago.

Status:
Resolved
Priority:
High
Assignee:
-
Category:
coreboot common code
Target version:
Start date:
10/09/2023
Due date:
% Done:

0%

Estimated time:
Affected versions:
Needs backport to:
Affected hardware:
is necessary testing in newest hardwares include Haswell and Kaby Lake, but idk if affect other platforms different than Sandybridge
Affected OS:
All

Description

For some reason the SMMSTOREv2 looks to break SMMSTORE support in STM/PE during boot.

Coreboot: 4.21
HARDWARE: Gigabyte H61M-DS2 with Ivybridge processor
Payload: EDK2
SMMSTORE: SMMSTOREv2

A example with other guy using https://www.reddit.com/r/coreboot/comments/10rakni/comment/k444jz1/?context=3

  • According with the reddit user crazyfox-ua " The same for me on T440p & X230t (both with edk2) - just blank screen. Disabled STM brings both laptops back to life. CB logs says nothing strange IMO (last record is "[DEBUG] Jumping to boot code at ".

Is necessary to test if others payloads is affected by this bug

Actions #1

Updated by Matt DeVillier 7 months ago

was this combination previously working with the 4.20 tag?

Actions #2

Updated by Elias Souza 7 months ago

Matt DeVillier wrote in #note-1:

was this combination previously working with the 4.20 tag?

Sadly no, it's not working in the 4.20, the first try is from 8 months past and continues to can't boot, just work if SMMSTOREv2 driver is not enabled and just SMMSTOREv1 is used.

Actions #3

Updated by Matt DeVillier 7 months ago

Elias Souza wrote in #note-2:

Matt DeVillier wrote in #note-1:

was this combination previously working with the 4.20 tag?

Sadly no, it's not working in the 4.20, the first try is from 8 months past and continues to can't boot, just work if SMMSTOREv2 driver is not enabled and just SMMSTOREv1 is used.

have you tried just disabling SMMSTORE on the edk2 side? You can do that by removing the param passed to edk2 via the extra build params Kconfig.

Sounds like this will need to be debugged on a board with serial output to see what's breaking in edk2

Actions #4

Updated by Elias Souza 7 months ago

Matt DeVillier wrote in #note-3:

Elias Souza wrote in #note-2:

Matt DeVillier wrote in #note-1:

was this combination previously working with the 4.20 tag?

Sadly no, it's not working in the 4.20, the first try is from 8 months past and continues to can't boot, just work if SMMSTOREv2 driver is not enabled and just SMMSTOREv1 is used.

have you tried just disabling SMMSTORE on the edk2 side? You can do that by removing the param passed to edk2 via the extra build params Kconfig.

Sounds like this will need to be debugged on a board with serial output to see what's breaking in edk2

Oh thanks i will try to remove -DSMMSTORE from edk2 build and post the result here, the most problem are that i don't have a specific hardware debugger for UART debugging,
In my country this is so hard to find

Actions #5

Updated by Patrick Rudolph 7 months ago

Tested coreboot 17848b65c38c32fa9630925ca8a15203a0617788 with EDK2 92533b23fb93259b20661b6534109e9f59384e93 origin/uefipayload_202306 and SMMSTOREv2 works fine on Lenovo X220 (SandyBridge).
What's a STM/PE?

Actions #6

Updated by Elias Souza 7 months ago

Patrick Rudolph wrote in #note-5:

Tested coreboot 17848b65c38c32fa9630925ca8a15203a0617788 with EDK2 92533b23fb93259b20661b6534109e9f59384e93 origin/uefipayload_202306 and SMMSTOREv2 works fine on Lenovo X220 (SandyBridge).
What's a STM/PE?

This Issue is about STM/PE a Supervisor/Hypervisor for SMM System Management Mode, if you can test too can be good too, please if are possible, just enable STM option in Menuconfig and enable STM/PE Hypervisor

Actions #7

Updated by Elias Souza 7 months ago

  • Subject changed from [STM/PE][BUG][SMMSTORE] Coreboot doesn't boot if SMMSTOREv2 driver Kconfig option is enabled to [STM/PE][BUG][SMMSTORE] Coreboot doesn't boot if SMMSTOREv2 driver Kconfig option is enabled when using STM (STM/PE)
Actions #8

Updated by Patrick Rudolph 7 months ago

The STM was never tested on production environments and might not work with other SMM "services" like SMMSTORE.
I would assume that you need to compile the SMMSTORE code into the stm.bin, however that's not the case right now.

Actions #9

Updated by Eugene Myers 6 months ago

In this instance, the STM is not active. The only thing coreboot does for the STM is setup some data structures and move the STM binary into the MSEG. The operating system has to start the STM. If coreboot is crashing when STM and SMMSTOREV2 are configured at the same time, this means that there is a collision in the TSEG layout. We need a coreboot trace to ferret this out.

Actions #10

Updated by Eugene Myers 6 months ago

See CB:78889 for a resolution for this issue.

Actions #11

Updated by Martin Roth 6 months ago

  • Status changed from Needs Testing to Resolved
Actions

Also available in: Atom PDF