Hi Sheng,
On 27.10.21 06:29, Tan, Lean Sheng wrote:
As mentioned earlier the Firmware of the PSE needs to be loaded at boot time of the host CPU, this is mandatory for Elkhart Lake. There is a patch on Gerrit provides an interface to load the PSE firmware (soc/intel/elkhartlake: Introduce Intel PSE [1]. This patch does not introduce the PSE-Firmware itself nor does it add a new blob to the coreboot repository. In fact, this patch acquires the PSE firmware to load located inside the CBFS and loads it into DRAM, adds some settings related to the PSE like peripheral ownership and passes this DRAM buffer to the FSP, which then performs the loading of the firmware among with the settings into the PSE controller itself.
so as far as I understand it this is not necessarily a blob, your patch only treats it like one? Or is there any need to make it proprietary?
It seems very valuable to me to be able to build a bootable coreboot image just with the sources and submodules in the coreboot repository. Would it be possible to provide the minimum source code that would make it bootable? Integration into coreboot should be quite easy as I remem- ber that coreboot's build system already supports individual stages of different architectures. For the build system, the PSE firmware could just be another stage, compiled for ARM. Let me know if you want to integrate it and need help with that.
OTOH, if we'd add an option to load an external file like your patch suggests, we'd lose a lot. Not only, would it complicate the build process, we'd also have another platform that can't boot without external files. And that is more error-prone and always leads to more support requests, frustration etc. It's bad for the project, IMHO.
Nico