aboutsummaryrefslogtreecommitdiff
path: root/src/soc/amd/picasso/smihandler.c
diff options
context:
space:
mode:
authorMarshall Dawson <marshall.dawson@amd.corp-partner.google.com>2020-03-16 19:20:20 -0600
committerFelix Held <felix-coreboot@felixheld.de>2020-04-16 23:15:09 +0000
commite8ffa9ffd3cf5cb9fcade12e1f1e0dea5fc3fcf2 (patch)
tree7599bd33ad59b015afe080744905af2b97b42c78 /src/soc/amd/picasso/smihandler.c
parente26da8ba16d4b87669524871b85a211a75f0eec4 (diff)
soc/amd/psp: Add SmmInfo command
Implement the MboxBiosCmdSmmInfo function to inform the PSP of the SoC's SMM configuration. Once the BootDone command is sent, the PSP only responds to commands where the buffer is in SMM memory. Set aside a region for the core-to-PSP command buffer and the PSP-to-core mailbox. Also add an SMM flag, which the PSP expects to read as non-zero during an SMI. Add calls to soc functions for the soc to populate the trigger info and register info (v2 only). Add functions to set up the structures needed for the SmmInfo function in Picasso support. Issue a SW SMI, and add a new handler to call the new PSP function. BUG=b:153677737 Change-Id: I10088a53e786db788740e4b388650641339dae75 Signed-off-by: Marshall Dawson <marshalldawson3rd@gmail.com> Signed-off-by: Felix Held <felix-coreboot@felixheld.de> Reviewed-on: https://review.coreboot.org/c/coreboot/+/40295 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Raul Rangel <rrangel@chromium.org>
Diffstat (limited to 'src/soc/amd/picasso/smihandler.c')
-rw-r--r--src/soc/amd/picasso/smihandler.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/soc/amd/picasso/smihandler.c b/src/soc/amd/picasso/smihandler.c
index 55493776dd..e4d1c86f57 100644
--- a/src/soc/amd/picasso/smihandler.c
+++ b/src/soc/amd/picasso/smihandler.c
@@ -26,6 +26,7 @@
#include <soc/southbridge.h>
#include <amdblocks/acpimmio.h>
#include <amdblocks/acpi.h>
+#include <amdblocks/psp.h>
#include <elog.h>
/* bits in smm_io_trap */
@@ -125,6 +126,9 @@ static void sb_apmc_smi_handler(void)
if (CONFIG(SMMSTORE))
southbridge_smi_store();
break;
+ case APM_CNT_SMMINFO:
+ psp_notify_smm();
+ break;
}
mainboard_smi_apmc(cmd);