Hi Scott,
I agree that several things are missing for a full experience. I'm just collecting a bunch of pointers where code could come from to be adapted.
Am Montag, den 24.03.2014, 22:37 -0500 schrieb Scott Duplichan:
- UEFI support for writing to flash memory. The UEFI name is
Firmware Volume Block protocol. One module for Intel systems and another module for AMD systems would probably cover most x86 motherboards.
Could be done by importing flashrom, putting that behind the FVB protocol. That makes things GPL but who cares?
- USB OHCI support. Without this the USB keyboard on AMD systems
will not work until after the OS boots.
libpayload has full OHCI support.
[...] or for setting the SMM base address register.
SMM is ideally locked down by coreboot already - payloads shouldn't be able to modify it. Rationale why this also applies to UEFI: it's too large to reasonably trust it.
For necessary UEFI services (eg. safe write access to non-volatile variables to promote UEFI Secure Boot from complete joke to half joke), it might be necessary to provide capabilities within coreboot/SMM.
Will the GOP driver support multiple video solutions? If so, how? If I use a brand XYZ video card how will the GOP driver find the details of the frame buffer? I know it is possible because operating systems do it. But the proposal should explain it for those of us who are not graphics experts.
There's a simple solution, but I guess it's part of the experience of a GSoC applicant to find about their field. :-)
A much simpler INT10h video solution is: DuetPkg/BiosVideoThunkDxe/BiosVideo.inf (with some available bug fixes and enhancements applied) There is no need for full CSM.
Unless VGABIOS isn't initialized in the real system, eg through YABEL. CSM is the bullet proof solution and it exists.
But it's certainly weird to discuss GOP workarounds in a proposal that (right now) consists to 50% of "implement GOP" :-)
What problem will writing the piggyback GOP driver solve?
That one is strategy, not implementation, so I'll answer it: native VGA init. Available on some Intel chipsets near you.
Regards, Patrick