Hello.
So as you may be aware, I've taken on the immense task of porting coreboot to the ppc64/power9/talos ii platform. I've figured out how to get the sbe and hostboot bootloader to load and execute my bootblock, and figured out just enough of qemu and gdb to be able to make some bad debugging decisions, but I'm stuck somewhere in run_romstage, specifically in src/lib/cbfs.c:cbfs_master_header_props.
I get so far as `size_t fmap_top` which appears to have a correct value (gdb says its 0x3fff000, and this is a 64mb flash chip. 0x3ffefc0-0x3fff000 in the rom has `LARCHIVE....<header pointer... BCZL` so that looks right, I think), then offset has the value 0x3ffeffc, which contains the bytes '0x381102fc' in the rom and then the second rdev_readat causes it to return -1, and I end up in hlt(). at this point, `print *&header` shows the struct to be mostly filled with 0xdeadbeef, with the exception of the offset, which says '0x9fda0'. This does not appear to be the address of anything in the rom as far as I can tell.
I'm not certain what else I could do from this point. If any of you folks have suggestions or ideas, I would greatly appreciate an assist. For the record, the code is being written using the elfv2 abi, and is big endian, if that matters.
Regards, Marty