Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

QEMU Q35 (coreboot+UEFI) - edk2 part #830

Closed
4 tasks done
krystian-hebel opened this issue May 7, 2024 · 5 comments
Closed
4 tasks done

QEMU Q35 (coreboot+UEFI) - edk2 part #830

krystian-hebel opened this issue May 7, 2024 · 5 comments
Assignees
Labels
qemu_q35 QEMU Q35

Comments

@krystian-hebel
Copy link

krystian-hebel commented May 7, 2024

Dasharo version (if applicable)

n/a

Dasharo variant (if applicable)

qemu_q35

Affected component(s) or functionality (if applicable)

(coreboot+UEFI), edk2 part

Brief summary

This task gathers results from analysis of building and running (coreboot+UEFI) on QEMU Q35 in form of list of what needs to be addressed in edk2 to make it viable. Analysis stopped right after it was possible to boot into UEFI shell, so the list may be incomplete if critical deficiencies are discovered during tests.

Additional context

  • Break dependency on edk2-platforms, it shouldn't be required (PC Engines will also benefit from this change)
  • Analyze and fix hang on https://github.com/Dasharo/edk2/blob/dasharo/MdeModulePkg/Bus/Pci/PciBusDxe/PciIo.c#L1955-L1972 (I had to comment those lines out to allow booting)
  • Analyze and fix panic on reboot in AcpiPlatformDxe. CR2 value suggests 32b pointer used in 64b environment, although reported fault is #GP and not #PF so I'm not sure if it can be trusted.
  • UEFI Shell shows SATA drive even when no such drive is mounted. this may be only cosmetic, but it may also impact OS installation.
@krystian-hebel
Copy link
Author

Dependency on edk2-platforms broken in Dasharo/DasharoModulePkg#44, Dasharo/edk2#133 and partially Dasharo/coreboot#511.

CI in edk2 fails because it tries to build Dasharo-OVMF-Frankenstein which won't be a thing after the release, so I didn't bother with fixing it just yet. It is left for now as it were, other PRs may still use it. Eventually all changes adding Dasharo files to OvmfPkg should be removed for easier rebases in the future.

@krystian-hebel
Copy link
Author

Problem with PciIo is resolved by Dasharo/edk2#134. This PR changes one workaround to a different one. Ideal solution should be done to coreboot's resource allocator code, but this would be a much bigger project.


Panic on reboot was actually caused by error in coreboot's code, fixed by Dasharo/coreboot@e432c93. This isn't specific to Dasharo or edk2, so it should be upstreamed. Not marking as done to remember about upstreaming.

@krystian-hebel
Copy link
Author

krystian-hebel commented May 29, 2024

Upstreamed fix for ACPI: https://review.coreboot.org/c/coreboot/+/82698


Drive shown in UEFI Shell is also visible in SeaBIOS (as DVD/CD), so while I have no idea where it comes from, I don't think it will cause any problems.

@pietrushnic
Copy link

@krystian-hebel, all the tasks here are done; shouldn't this issue be done? If not, what tasks are missing?

@krystian-hebel
Copy link
Author

We've had some back and forth juggling of the patches when doing edk2 rebase(s), but it is mostly sorted out now. Breaking the dependency on edk2-platforms is missing the final touch, which is this commit: Dasharo/coreboot@f19fd2a. As it is located on coreboot side, I'm marking this issue as done.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
qemu_q35 QEMU Q35
Projects
None yet
Development

No branches or pull requests

2 participants