Hello,
Am I correct that the problem still exists that SeaBios can't find the CBFS in apl platform?
Kind regards, Wolfgang Kamp
Apollolake should work with:
CONFIG_CBFS_LOCATION=0xfffb1000 # CONFIG_HARDWARE_IRQ is not set
That's what I use for SeaBIOS as a legacy boot payload on ChromeOS devices, but the CBFS address will be the same if using upstream coreboot
regards, Matt
On Thu, Apr 23, 2020 at 3:24 AM Wolfgang Kamp - datakamp wmkamp@datakamp.de wrote:
Hello,
Am I correct that the problem still exists that SeaBios can’t find the CBFS in apl platform?
Kind regards,
Wolfgang Kamp _______________________________________________ coreboot mailing list -- coreboot@coreboot.org To unsubscribe send an email to coreboot-leave@coreboot.org
Hello Matt,
Thank you for your response. I see that SeaBIOS still can’t handle the FMAP structure. The pointer depends on the FMAP layout and this is different to chromium devices. For the UP squared board I did not find any other solution than to set CONFIG_CBFS_LOCATION=0xFFFC0000 and to patch the 16M coreboot.rom image at address 0x00EBEFFE with 0x44. Then SeaBIOS will find the CBFS to load the APL VGA BIOS ROM.
Kind regards, Wolfgang Von: Matt DeVillier [mailto:matt.devillier@gmail.com] Gesendet: Donnerstag, 23. April 2020 17:35 An: Wolfgang Kamp - datakamp wmkamp@datakamp.de Cc: coreboot@coreboot.org Betreff: [coreboot] Re: CBFS pointer problem with SeaBios and Apollo Lake platform
Apollolake should work with:
CONFIG_CBFS_LOCATION=0xfffb1000 # CONFIG_HARDWARE_IRQ is not set
That's what I use for SeaBIOS as a legacy boot payload on ChromeOS devices, but the CBFS address will be the same if using upstream coreboot
regards, Matt
On Thu, Apr 23, 2020 at 3:24 AM Wolfgang Kamp - datakamp <wmkamp@datakamp.demailto:wmkamp@datakamp.de> wrote: Hello,
Am I correct that the problem still exists that SeaBios can’t find the CBFS in apl platform?
Kind regards, Wolfgang Kamp _______________________________________________ coreboot mailing list -- coreboot@coreboot.orgmailto:coreboot@coreboot.org To unsubscribe send an email to coreboot-leave@coreboot.orgmailto:coreboot-leave@coreboot.org
On Fri, Apr 24, 2020 at 4:59 AM Wolfgang Kamp - datakamp wmkamp@datakamp.de wrote:
Hello Matt,
Thank you for your response. I see that SeaBIOS still can’t handle the FMAP structure.
The pointer depends on the FMAP layout and this is different to chromium devices.
For the UP squared board I did not find any other solution than to set CONFIG_CBFS_LOCATION=0xFFFC0000 and
this is for the upsquared board? looking at the fmap, I'm not sure how you calculated that CBFS location
to patch the 16M coreboot.rom image at address 0x00EBEFFE with 0x44.
Then SeaBIOS will find the CBFS to load the APL VGA BIOS ROM.
what does patching 0x00EBEFFE with 0x44 do exactly?
Kind regards,
Wolfgang
*Von:* Matt DeVillier [mailto:matt.devillier@gmail.com] *Gesendet:* Donnerstag, 23. April 2020 17:35 *An:* Wolfgang Kamp - datakamp wmkamp@datakamp.de *Cc:* coreboot@coreboot.org *Betreff:* [coreboot] Re: CBFS pointer problem with SeaBios and Apollo Lake platform
Apollolake should work with:
CONFIG_CBFS_LOCATION=0xfffb1000
# CONFIG_HARDWARE_IRQ is not set
That's what I use for SeaBIOS as a legacy boot payload on ChromeOS devices, but the CBFS address will be the same if using upstream coreboot
regards, Matt
On Thu, Apr 23, 2020 at 3:24 AM Wolfgang Kamp - datakamp < wmkamp@datakamp.de> wrote:
Hello,
Am I correct that the problem still exists that SeaBios can’t find the CBFS in apl platform?
Kind regards,
Wolfgang Kamp
coreboot mailing list -- coreboot@coreboot.org To unsubscribe send an email to coreboot-leave@coreboot.org
Hello Matt,
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,
Kind regards, Wolfgang
Von: Matt DeVillier [mailto:matt.devillier@gmail.com] Gesendet: Freitag, 24. April 2020 18:09 An: Wolfgang Kamp - datakamp wmkamp@datakamp.de Cc: coreboot@coreboot.org Betreff: [coreboot] Re: CBFS pointer problem with SeaBios and Apollo Lake platform
On Fri, Apr 24, 2020 at 4:59 AM Wolfgang Kamp - datakamp <wmkamp@datakamp.demailto:wmkamp@datakamp.de> wrote: Hello Matt,
Thank you for your response. I see that SeaBIOS still can’t handle the FMAP structure. The pointer depends on the FMAP layout and this is different to chromium devices. For the UP squared board I did not find any other solution than to set CONFIG_CBFS_LOCATION=0xFFFC0000 and
this is for the upsquared board? looking at the fmap, I'm not sure how you calculated that CBFS location
to patch the 16M coreboot.rom image at address 0x00EBEFFE with 0x44. Then SeaBIOS will find the CBFS to load the APL VGA BIOS ROM.
what does patching 0x00EBEFFE with 0x44 do exactly?
Kind regards, Wolfgang Von: Matt DeVillier [mailto:matt.devillier@gmail.commailto:matt.devillier@gmail.com] Gesendet: Donnerstag, 23. April 2020 17:35 An: Wolfgang Kamp - datakamp <wmkamp@datakamp.demailto:wmkamp@datakamp.de> Cc: coreboot@coreboot.orgmailto:coreboot@coreboot.org Betreff: [coreboot] Re: CBFS pointer problem with SeaBios and Apollo Lake platform
Apollolake should work with:
CONFIG_CBFS_LOCATION=0xfffb1000 # CONFIG_HARDWARE_IRQ is not set
That's what I use for SeaBIOS as a legacy boot payload on ChromeOS devices, but the CBFS address will be the same if using upstream coreboot
regards, Matt
On Thu, Apr 23, 2020 at 3:24 AM Wolfgang Kamp - datakamp <wmkamp@datakamp.demailto:wmkamp@datakamp.de> wrote: Hello,
Am I correct that the problem still exists that SeaBios can’t find the CBFS in apl platform?
Kind regards, Wolfgang Kamp _______________________________________________ coreboot mailing list -- coreboot@coreboot.orgmailto:coreboot@coreboot.org To unsubscribe send an email to coreboot-leave@coreboot.orgmailto:coreboot-leave@coreboot.org
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
On 27.04.20 11:23, Nico Huber wrote:
I'm a bit confused about the 0xEBEFFC, I would expect it at 0xbbeffc in the BIOS region (or 0xbbfffc in the coreboot.rom).
Nevermind, I forgot to add the OBB offset. 0xebeffc is correct.
Nico
Hi,
On Thu, 2020-04-23 at 08:15 +0000, Wolfgang Kamp - datakamp wrote:
Am I correct that the problem still exists that SeaBios can’t find the CBFS in apl platform?
I used this as workaround: https://review.coreboot.org/c/coreboot/+/32327
It requires that you put the CBFS at the end of your partitions.