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

Workstations support with variable dGPU : SeaBIOS chainloading of Heads needed? #1820

Open
tlaurion opened this issue Oct 24, 2024 · 2 comments

Comments

@tlaurion
Copy link
Collaborator

  • coreboot oprom pci extraction + loading exists, but is not providing VBIOS: SeaBIOS does.
  • coreboot/SeaBIOS seperation of duties prohibit coreboot by ideology from providing VBIOS implementation: SeaBIOS does and is said to do it well.
  • SeaBIOS does more then extract oprom from PCI+loads it, it implements VBIOS dGPU implementation for which oprom IRQ polling results in functional graphic handling.
  • Without VBIOS implementation in firmware provided by SeaBIOS (free or proprietary), oprom alone gives variable dGPU support.
  • So Hypothesis here is that SeaBIOS should be used to chainload Heads payload instead of trying to implement VBIOS+oprom loading inside of coreboot. But to do so well, SeaBIOS should hebable TPM measured boot and read oprom in ram, measure it, extend TPM PCR and then load oprom+offer VBIOS free implementation so IRQ polling is functions.

Traces of discussions (only accessible by current members of D16 club):

Originally posted by @tlaurion in #1792 (comment)

@tlaurion
Copy link
Collaborator Author

Some more notes:

  • SeaBIOS compressed can be 68kb (references from above discussions a bit down)
  • SeaBIOS would be measured by coreboot and introspection notes available through cbmem logs
  • SeaBIOS implementation thought to currently miss oprom measurement and TPM PCR extend with hash prior of loading (TOCTU possible). To verify and challenge SeaBIOS comunity to provide implementation
  • SeaBIOS provides TPM implementation, test it and see what it does and what it doesn't

@tlaurion
Copy link
Collaborator Author

tlaurion commented Oct 25, 2024

Disclaimer: from my limited understanding of the low level interactions happening at VBIOS/oprom/efi level, most of the above could be wrong. This is why "help wanted" lable is put on this issue, and I welcome experts (coreboot devels) to jump in this discsussion up to creating PR to test hypothesis.

Some more discussion trail under https://matrix.to/#/!OkpUfvLEYpLyALVvaW:dodoid.com/$LqiTqBOtSs5v1r8n0s_UNhsVSGO1adNigZeV6Zahn7k?via=dodoid.com&via=matrix.org&via=envs.net for traceability.

@tlaurion tlaurion changed the title Wokstations support with variable dGPU : SeaBIOS chainloading of Heads needed Workstations support with variable dGPU : SeaBIOS chainloading of Heads needed? Nov 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant