Bug #415
closedRESOURCE_ALLOCATION_TOP_DOWN breaks booting
Added by Sean Rhodes over 3 years ago. Updated 10 months ago.
0%
Description
CB:41957 enabled RESOURCE_ALLOCATION_TOP_DOWN by default, which stopped edk2 from booting. The commit has been reverted, so this ticket is just to post logs.
Files
| resource_allocatorv4.txt (94 KB) resource_allocatorv4.txt | Gemini Lake | Sean Rhodes, 09/07/2022 11:06 AM | |
| up_squared.log (47.9 KB) up_squared.log | UP Squared (bad, top down enabled) | Nico Huber, 09/07/2022 12:00 PM | |
| hermes.log (575 KB) hermes.log | "Hermes CFL" 9elements QA PRODRIVE_HERMES and payload TianoCore_UefiPayloadPkg | Nico Huber, 09/07/2022 12:08 PM | |
| t500.log (585 KB) t500.log | "ThinkPad T500" 9elements QA LENOVO_T500 and payload SeaBIOS | Nico Huber, 09/07/2022 12:14 PM |
NH Updated by Nico Huber over 3 years ago Actions #1
- Subject changed from RESOURCE_ALLOCATION_TOP_DOWN breaks edk2 to RESOURCE_ALLOCATION_TOP_DOWN breaks booting (-edk2-)
It turned out that there are a lot of platforms in the tree that still don't report their fixed resources correctly. These should be added inside .read_resources of device drivers. This commit[1] provides an example how it can look like. Sometimes
-
.read_resourcesis simply missing for a device, or - the device driver is not considered because a PCI device ID is missing, or
- the device driver is accidentally disabled in the mainboard devicetree.
One common mistake is not to reserve the memory-mapped "BIOS" flash. Integrated resources that are handled by blobs can also be easily forgotten (at least Intel provides documentation about the complete memory map, though).
When resources are not reported, the allocator can cause conflicts with them. This can happen already by chance; chances are higher when space is tight. Also, the OS needs to be made aware of such resources or might run into the same problem (alas, this is not tied to .read_resources in coreboot but needs additional ACPI code at the moment).
NH Updated by Nico Huber over 3 years ago Actions #2
- Subject changed from RESOURCE_ALLOCATION_TOP_DOWN breaks booting (-edk2-) to RESOURCE_ALLOCATION_TOP_DOWN breaks booting (<del>edk2</del>)
NH Updated by Nico Huber over 3 years ago Actions #3
- Subject changed from RESOURCE_ALLOCATION_TOP_DOWN breaks booting (<del>edk2</del>) to RESOURCE_ALLOCATION_TOP_DOWN breaks booting
NH Updated by Nico Huber over 3 years ago Actions #4
- File up_squared.log up_squared.log added
NH Updated by Nico Huber over 3 years ago Actions #5
- File hermes.log hermes.log added
- File t500.log t500.log added
MR Updated by Martin Roth over 2 years ago Actions #6
Is this fixed now?
SR Updated by Sean Rhodes over 2 years ago Actions #7
Martin Roth wrote in #note-6:
Is this fixed now?
Technically no - it's now just disabled if the payload is edk2
MD Updated by Matt DeVillier 10 months ago Actions #8
- Status changed from New to Resolved
edk2 issue has been mitigated in the default branch used by coreboot, and a patch submitted to re-enable top-down allocation by default unless upstream edk2 is used