soc/amd/common/pi: Ensure AGESA S3 resume called before SMM lock
commit0a96a1ca0613e5d7b624e5e608aaeb679ef56dbf
authorMatt DeVillier <matt.devillier@amd.corp-partner.google.com>
Wed, 19 Jul 2023 17:06:06 +0000 (19 12:06 -0500)
committerFelix Held <felix-coreboot@felixheld.de>
Thu, 20 Jul 2023 20:33:12 +0000 (20 20:33 +0000)
treeaee6a098723d9b965efad1a93f83d01dc597ae24
parentcecb7a75b8b466a3f50700d098ebdbd3ff131a54
soc/amd/common/pi: Ensure AGESA S3 resume called before SMM lock

AGESA S3 restore needs to occur before SMM finalization/locking,
but it's a crapshoot as to which runs first since both use the same
BS_OS_RESUME/BS_ON_ENTRY boot state callback, and there's no way
to prioritize/force ordering.

To work around this, move the AGESA S3 resume call to the preceding
boot state (BS_OS_RESUME_CHECK) to ensure it runs first, and guard it
to ensure it only runs on the S3 resume path.

BUG=none
TEST=build/boot google/liara, verify S3 resume successful.

Change-Id: I765db140c6708a0b129f79fb7d3dc8a4ab3095bd
Signed-off-by: Matt DeVillier <matt.devillier@amd.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/76592
Reviewed-by: Fred Reitberger <reitbergerfred@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Marshall Dawson <marshalldawson3rd@gmail.com>
src/soc/amd/common/pi/amd_resume_final.c