[OpenPower-Firmware] HDAT documentation

Stewart Smith stewart at flamingspork.com
Fri May 21 01:29:41 AEST 2021


On Thu, May 20, 2021, at 8:09 AM, Krystian Hebel wrote:
> Hi,
> 
> We are working on coreboot support for POWER9.
> Recently we have achieved the milestone where we could initialize the
> memory on the Talos II platform and start the coreboot ramstage phase [1].

Oh, that's really cool!

I'd love to know more and any thoughts on getting it going on a Blackbird.

> What we would like to achieve next is to start skiboot from coreboot.
> 
> We can see that there is this HDAT interface between Hostboot and skiboot
> [2] which we probably would need to reimplement.
> 
> Sadly, the documentation says that "The HDAT specification is currently 
> not public.".
> Any idea why is that? Can we get some more information about
> the HDAT somewhere (apart from reading the Hostboot code)?

I have even better news: skiboot will *happily* take Device Tree instead.

I'd solidly recommend just producing a dtb Device Tree blob for skiboot. It'll save you significant pain.

Background:
During initial bringup on POWER7 machines, the FSP would generate HDAT, and thus we had to read it in skiboot (there was no way we were going to convince everyone else to change for something that was just a bit of research at the time), and this was also true for POWER8 when it was a bit of a mixed responsibility between Hostboot and the FSP to generate HDAT. On OpenPOWER POWER8 systems, we got a device tree from hostboot, but this mean Hostboot was producing two data structures with roughly the same data, but sometimes the DT was missing things... and it wasn't as fun as we would have liked. For POWER9, we said "just give us HDAT, it's fine" as a compromise, as at least it's only one bit of code for Hostboot to maintain.
There are places where P9 skiboot gets everything in DT such as some simulation environments, and pdbg also will use device tree exclusively.


More information about the OpenPower-Firmware mailing list