Comet Lake: TOLUM change causes suspend/resume after reboot to fail

Jonathon Hall <[email protected]>
Newsgroups gmane.linux.bios
Message-ID <[email protected]>
Hi all,

On Librem Mini v2, rebooting, then suspending and resuming fails to resume.

I've tracked this down to a change in the TOLUM returned by FSP, which 
causes failures to find important cbmem regions during S3 resume.  (I've 
run into problems relating to the TOLUM change before: 
https://puri.sm/posts/how-we-fixed-reboot-loops-on-the-librem-mini/.) 
This doesn't seem to happen on all CML boards but has always happened on 
Mini v2 for whatever reason.  I have some ideas to address it, but I'm 
not sure which is best.

For example:
* Cold boot: cbmem_top() = 0x99fff000
* Reboot: cbmem_top() = 0x9a000000 (4K later, FSP seems to reserve 4K 
less memory for itself on reboot)
* Resume after reboot: cbmem_top() = 0x99fff000 (will not be able to 
find cbmem from reboot, not sure if the upper 4 KB have been overwritten 
by FSP)

coreboot needs to find cbmem (the imd structures) at TOLUM on resume, so 
failures cascade from there.  (Happy to describe in detail but I don't 
think anything after this point is the root issue.)

It seems pretty unlikely that FSP is going to change, so coreboot 
probably has to tolerate this TOLUM change :-/  Thought of a few 
approaches but I'm not sure which is best, they mostly trade off putting 
more holes in the memory map versus wasting a bit of memory on buffer space:

* Put the imd structures below the FSP reserved memory with some buffer 
space?
* Put the imd structures somewhere else entirely, like toward the 
beginning of the available low memory instead of the end?
* Ask FSP to reserve more than 8 KB for some buffer in case TOLUM 
changes on resume, so the imd structures are still there?

I could guard any of this with a Kconfig selected only by affected 
boards if needed.  I appreciate any input!

Thanks,
Jonathon

_______________________________________________
coreboot mailing list -- [email protected]
To unsubscribe send an email to [email protected]
OpenPGP_0x1E9C3CA91AE25114.asc (application/pgp-keys, 2.4 KB)
-----BEGIN PGP PUBLIC KEY BLOCK-----

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
TDpTzLru1daCcxs8s3k9xMDsIG3WvJXWWJicjqA=
=UdJq
-----END PGP PUBLIC KEY BLOCK-----
OpenPGP_signature.asc (application/pgp-signature, 665 B)
-----BEGIN PGP SIGNATURE-----

wsD5BAABCAAjFiEEhzVUAiXpi9vIJJG0Hpw8qRriURQFAmVFaj0FAwAAAAAACgkQHpw8qRriURRi
zQv/eL6wvCN7wGt0ntmmOgQbrUsUdmPZue8Fq7bV+y1RG7HAbUWaZsO3ttHP7gKqryGhmwdRtGw7
UHnD6EdjKneWPX72wMKO2i21hbKSmMNZgvAXq/Ma/EoFlQ5Nn1kJhOTTKFQ1NP/Uyh8Es8DA4h5O
qMXfvBTCNZ2cG5q05BO/mb4zCqAtH/ABpTotYYou7U983elyWkPuKaRxO/5EtsMVFYJl6p2LjjQJ
MGswkBaasBmjSLTVNrj5c428BKio7mei8WAGD5TYjKjI4JBK6oWGwiRmsacc2fm7S1z+TACiE/Hd
tAgS1BAT9O9NMV0y+WnksEXGFMkRiPlS0EkVqyFcPzgTTxUd2QIJ1+qbpS9P9idFq2XF+FAZBg4M
AGZWHB543z1/EYeabvJ+iLE8cB+Sv+oGO4JE5ExuSvlIQCQ7OBsgtOZmDver5366/SMt9zEIkej5
oguJJBECHpQcbnf6lMccmg8geOcKcPWIb/ay6dWnRL7w6dTg9bc+1wQGn83X
=SEoU
-----END PGP SIGNATURE-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.