edk2 icon indicating copy to clipboard operation
edk2 copied to clipboard

UefiPayloadPkg: Support booting from coreboot bootloader

Open benjamindoron opened this issue 1 year ago • 7 comments

Description

This change includes a number of changes required by coreboot to work, which generally enhance the code. These extend from finding FVs in the FDT, rather than by parsing the FIT again, an unsupported "upl-custom" parameter, to other enhancements made during bringup.

NB: coreboot additionally requires https://github.com/benjamindoron/edk2/commit/cf4914058b91d2dc7a43e47dff5b7a9f3135fa5e, but this breaks the boot for other Platform Inits. Therefore, it needs to be refactored before upstreaming.

  • [ ] Breaking change?
    • Breaking change - Does this PR cause a break in build or boot behavior?
    • Examples: Does it add a new library class or move a module to a different repo.
  • [ ] Impacts security?
    • Security - Does this PR have a direct security impact?
    • Examples: Crypto algorithm change or buffer overflow fix.
  • [ ] Includes tests?
    • Tests - Does this PR include any explicit test code?
    • Examples: Unit tests or integration tests.

How This Was Tested

This was tested against the coreboot patch train starting with https://review.coreboot.org/c/coreboot/+/85643.

Integration Instructions

N/A

benjamindoron avatar Oct 28 '24 20:10 benjamindoron

PR can not be merged due to conflict. Please rebase and resubmit

mergify[bot] avatar Dec 10 '24 20:12 mergify[bot]

PR can not be merged due to conflict. Please rebase and resubmit

mergify[bot] avatar Dec 19 '24 05:12 mergify[bot]

Please help to rebase the PR and fix conflict.

LinusvPelt avatar Dec 19 '24 08:12 LinusvPelt

PR can not be merged due to conflict. Please rebase and resubmit

mergify[bot] avatar Apr 21 '25 16:04 mergify[bot]

Need fix the CI check failure.

gdong1 avatar May 05 '25 23:05 gdong1

A generic question is - after merging all UPL/FIT image supporting codes, does UPL FIT image boot reach to the same feature level as UefiPayloadPkg (FD/SELF) interface? If yes, are there extra features provided (besides FIT as a more standard based interface between bootloader/UPL)?

shuoliu0 avatar May 19 '25 03:05 shuoliu0

A generic question is - after merging all UPL/FIT image supporting codes, does UPL FIT image boot reach to the same feature level as UefiPayloadPkg (FD/SELF) interface? If yes, are there extra features provided (besides FIT as a more standard based interface between bootloader/UPL)?

P.S. currently for coreboot Xeon-SP we are still using UefiPayloadPkg, but look forward when you done full UPL support so that we can try as well.

shuoliu0 avatar May 19 '25 03:05 shuoliu0

A generic question is - after merging all UPL/FIT image supporting codes, does UPL FIT image boot reach to the same feature level as UefiPayloadPkg (FD/SELF) interface? If yes, are there extra features provided (besides FIT as a more standard based interface between bootloader/UPL)?

@shuoliu0 It's actually behind in many ways (for coreboot), since the COREBOOT-table generating code calls around the codebase to add all kinds of generic feature-related information, while we don't do the same for the FDT pathway. It is superior in one way that I'm aware of though: the bootloader can pass information about the PCIe devices present, which allows for a more complex setup than the scan PciHostBridgeLib will do (more segments possible, I believe). There may be other such improvements possible by better coupling the bootloader and payload (such as abandoning the need for hacks like https://github.com/tianocore/edk2/pull/11294: anything the bootloader knows can be passed to the payload).

benjamindoron avatar Aug 12 '25 22:08 benjamindoron

This PR has been automatically marked as stale because it has not had activity in 60 days. It will be closed if no further activity occurs within 7 days. Thank you for your contributions.

github-actions[bot] avatar Oct 26 '25 23:10 github-actions[bot]

This pull request has been automatically been closed because it did not have any activity in 60 days and no follow up within 7 days after being marked stale. Thank you for your contributions.

github-actions[bot] avatar Nov 03 '25 23:11 github-actions[bot]