edk2
edk2 copied to clipboard
UefiPayloadPkg: Support booting from coreboot bootloader
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
PR can not be merged due to conflict. Please rebase and resubmit
PR can not be merged due to conflict. Please rebase and resubmit
Please help to rebase the PR and fix conflict.
PR can not be merged due to conflict. Please rebase and resubmit
Need fix the CI check failure.
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)?
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.
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).
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.
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.