Hello build bot (Jenkins), Raul Rangel, Furquan Shaikh, Rob Barnes, Eric Peers, Aaron Durbin, Kangheui Won, Felix Held,
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/43678
to look at the new patch set (#3).
Change subject: soc/amd/picasso: Don't run dcache_clean_all() in psp_verstage ......................................................................
soc/amd/picasso: Don't run dcache_clean_all() in psp_verstage
Because psp_verstage runs in userspace, running the dcache_clean_all function causes the system to hang. Skip the call.
I've thought about a number of ways to do this, and I'm really not super happy with any of the options. - Kconfig symbol - SKIP_DCACHE_CLEAN_IN_VERSTAGE. This just doesn't seem like a good Kconfig symbol candidate to me. This does at least have the advantage of just being compile time code - #ifdef SKIP_DCACHE_CLEAN, then define it in the psp_verstage makefile. We don't really do this in other places, so it doesn't seem like a good way to do it. - The standard method for psp_verstage also doesn't seem appropriate in this instance because it's just because this implementation runs in user-space. It's not about the timing. if (CONFIG(RUN_VBOOT_BEFORE_BOOTBLOCK) && ENV_VERSTAGE) - Register in devicetree - All the disadvantages of the Kconfig symbol, while being harder to implement and using runtime code to do it.
So while I'm not happy with the weak function implementation, it seemed the cleanest way to do it.
BUG=b:161554141 TEST=Run board through a bunch of recovery cycles.
Signed-off-by: Martin Roth martinroth@chromium.org Change-Id: I6775b2e049d6cfd9f78f2e07a941f6cc5be254b8 --- M src/include/reset.h M src/lib/reset.c M src/soc/amd/picasso/psp_verstage/reset.c 3 files changed, 22 insertions(+), 1 deletion(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/78/43678/3