Hi,

On 27.04.20 11:04, Wolfgang Kamp - datakamp wrote:
> Yes it is for the UP squared board.
> It seems to me that coreboot writes a pointer at the end of CBFS.
> The pointer is 0xFF483038 at address 0xEBEFFC.
> This pointer is wrong.
> If I manually patch the value 0x48 to 0x44 everything is ok and SeaBIOS finds 
> the CBFS,

AIUI, 0xff483038 is not a pointer but a two's-complement offset, iow. a
negative number. The difference 0x40000 is the offset of the CBFS from
the end of the BIOS region.

On Apollo Lake, the CBFS can't span to the end of the BIOS region and
thereby also not to the end of the flash chip. Both are assumptions that
were always true for x86 before APL, so this affects a lot of coreboot's
ecosystem.

I'm a bit confused about the 0xEBEFFC, I would expect it at 0xbbeffc
in the BIOS region (or 0xbbfffc in the coreboot.rom).

Back to the offset, I guess the difference is that `cbfstool` assumes
it's the offset from the end of CBFS (offset position + 4). But SeaBIOS
seems to assume it's an offset from 4GiB, or the end of the BIOS region
which is mapped there.

Hope that helps and doesn't add to the confusion ;)
Nico
_______________________________________________
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org

Reply via email to