[coreboot] Any intro available for adding cbmem support to an old platform?

Paul Menzel paulepanter at users.sourceforge.net
Sat Jul 15 16:21:44 CEST 2017


Dear Keith,


Am Sonntag, den 09.07.2017, 10:38 +0200 schrieb Paul Menzel:

> Am Freitag, den 07.07.2017, 21:55 -0400 schrieb Keith Hui:

> > My original question got lost in the list probably because of a bad
> > subject, so I'm asking again with a better one.
> 
> Indeed, a good, descriptive subject line is useful.
> 
> > I read that after 4.7 we are going to drop older platforms without
> > "cbmem support in romstage", and that includes one that I brought into
> > coreboot. I am interested in bringing this platform up to standard.
> > Where can I read up on adding this cbmem support?
> 
> I am probably not the best person to answer the question, but see
> commit 3bf38548 (CBMEM: Tag chipsets with LATE_CBMEM_INIT) [1]:
> 
> > In preparation to remove the static CBMEM allocator, tag the chipsets
> > that still do not implement get_top_of_ram() for romstage.
> 
> So you need to implement that function for your chipset, remove the
> Kconfig selection, and if I remember correctly, everything else should
> then start working nicely.
> 
> If I am not mistaken, Kyösti did a lot of the work during Google Summer
> of Code some years back. Maybe you find some information in the
> corresponding blog posts [2].
> 
> The next step is then to also add time-stamps to CBMEM, that you can
> read out with `cbmem -t`.
> 
> > I just checked out the master from git in case they are part of the readings.
> 
> Did you also test the latest code with your board? Could you please
> upload the *current* status to the board status repository [3]? Then it
> will also automatically be correctly tagged on the Wiki page *Supported
> Motherboards* [4].

Thank you for uploading the log files to the board status repository.
Unfortunately the build is marked as *dirty*, which means, you probably
had uncommitted changes in the tree, that might or might not have been
needed to boot the machine. So it’s hard for somebody else rebuilding
the same image, and it’s less likely that it’ll boot.

`git status` and `git diff`, maybe with the switch `--cached`, could be
used to find out, what is uncommitted. If you run `make gitconfig`, you
 will also have the alias `git sup`, which checks out the correct
commits of the submodules, which are often a reason 

If you need help to get rid of the *dirty* state, please don’t hesitate
to ask.


Thanks,

Paul


PS: I am happy to see `# CONFIG_LATE_CBMEM_INIT is not set` in your
configuration, making me look forward to your changes.

PPS: As you use SeaBIOS as the payload, coreboot doesn’t need to
initialize the PS/2 keyboard. You might want to deselect that option.

```
CONFIG_DRIVERS_PS2_KEYBOARD=y
```

Note, that GRUB and Linux and recently, thanks to Patrick, also
libpayload are able to initialize such devices themselves.


> [1] https://review.coreboot.org/7850
> [2] https://blogs.coreboot.org/blog/author/kmalkki/
> [3] https://review.coreboot.org/cgit/coreboot.git/tree/util/board_status/README
> [4] https://www.coreboot.org/Supported_Motherboards
[5] https://review.coreboot.org/cgit/board-status.git/tree/asus/p2b-ls
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: This is a digitally signed message part
URL: <http://mail.coreboot.org/pipermail/coreboot/attachments/20170715/70751bc3/attachment.asc>


More information about the coreboot mailing list