Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
StandaloneMmPkg: Arm/StandaloneMmCoreEntryPoint Remove Check for SMC ID
Today, StandaloneMmCoreEntryPoint checks for an SMC EventId of MM_COMMUNICATE or FF-A Direct and drops all other SMCs. However, the TCG ACPI spec dictates that a different SMC ID, platform defined, will be send to communicate with the TPM[1]. When a platform is using StandaloneMM and the SPM_MM configuration, this check causes this valid SMC to be dropped. This is an issue because TPM calls cannot be routed, including TPM calls originating from the OS. This patch drops the check to allow StandaloneMmCoreEntryPoint to route the calls to StandaloneMmCpu to decide whether it can handle the SMC (which on platforms with this TPM configuration it can). "This field provides the SMC/HVC call function ID that will invoke the TPM start method. Firmware SHALL implement the SMC call as an SMC32 or SMC64 Fast Call, compliant with the SMC Calling convention specification. The call takes no parameters, no client ID, no Secure OS ID, and no Session ID. The call SHALL return zero. The function ID SHALL be allocated from a Service Call Range over which the platform vendor has authority." [1]: https://trustedcomputinggroup.org/wp-content/uploads/ TCG_ACPIGeneralSpecification_v1p3_r6_14april2021.pdf Section 8.3.1 Signed-off-by: Oliver Smith-Denny <[email protected]>
- Loading branch information