Hi,
This issue was raised long time ago but unfortunately never got fixed/merged. It may be ok restoring the change and progress it:
Https://review.trustedfirmware.org/c/TF-A/trusted-firmware-a/+/11002https://review.trustedfirmware.org/c/TF-A/trusted-firmware-a/+/11002
Https://lists.trustedfirmware.org/archives/list/tf-a@lists.trustedfirmware.org/message/5M2WXX7KI3EQC2E5IOO43SX4DMEELSHC/https://lists.trustedfirmware.org/archives/list/tf-a@lists.trustedfirmware.org/message/5M2WXX7KI3EQC2E5IOO43SX4DMEELSHC/
https://lists.trustedfirmware.org/archives/list/tf-a@lists.trustedfirmware.o...
On a related note, I hope you saw the deprecation notice: https://lists.trustedfirmware.org/archives/list/tf-a@lists.trustedfirmware.o...
Regards, Olivier.
________________________________ From: Sureshkumar Ponnusamy sponnusamy@microsoft.com Sent: 11 November 2025 05:46 To: David Daney daviddaney@microsoft.com; tf-a-owner@lists.trustedfirmware.org tf-a-owner@lists.trustedfirmware.org Cc: Giri Mudusuru girimudusuru@microsoft.com; Kun Qin Kun.Qin@microsoft.com Subject: RE: Question about SPM-MM SMC function ids
Yes, the problem is in comparing logic and masks used.
From: David Daney daviddaney@microsoft.com Sent: Monday, November 10, 2025 7:38 PM To: Sureshkumar Ponnusamy sponnusamy@microsoft.com; tf-a-owner@lists.trustedfirmware.org Cc: Giri Mudusuru girimudusuru@microsoft.com; Kun Qin Kun.Qin@microsoft.com Subject: Re: Question about SPM-MM SMC function ids
According to the DEN0060A specification the only values used are:
MM_VERSION: 0x8400 0040
MM_COMMUNICATE: 0x8400 0041/0xC400 0041
These don't overlap with the TRNG function IDs defined in DEN0098
David.
________________________________
From: Sureshkumar Ponnusamy <sponnusamy@microsoft.commailto:sponnusamy@microsoft.com> Sent: Monday, November 10, 2025 7:32 PM To: tf-a-owner@lists.trustedfirmware.orgmailto:tf-a-owner@lists.trustedfirmware.org <tf-a-owner@lists.trustedfirmware.orgmailto:tf-a-owner@lists.trustedfirmware.org> Cc: Giri Mudusuru <girimudusuru@microsoft.commailto:girimudusuru@microsoft.com>; David Daney <daviddaney@microsoft.commailto:daviddaney@microsoft.com>; Kun Qin <Kun.Qin@microsoft.commailto:Kun.Qin@microsoft.com> Subject: Question about SPM-MM SMC function ids
Hi Manish, Levi Yun , TF-A community ,
I am facing an issue when enabling SPM-MM feature and it looks like there is a minor issue with the SMC ID range check.
When SPM-MM is enabled, I cannot use the TRNG SMC services.
/* These macros are used to identify SPM-MM calls using the SMC function ID */
#define SPM_MM_FID_MASK U(0xffff)
#define SPM_MM_FID_MIN_VALUE U(0x40)
#define SPM_MM_FID_MAX_VALUE U(0x7f)
#define is_spm_mm_fid(_fid) \
((((_fid) & SPM_MM_FID_MASK) >= SPM_MM_FID_MIN_VALUE) && \
(((_fid) & SPM_MM_FID_MASK) <= SPM_MM_FID_MAX_VALUE))
Here, the SPM-MM SMC ID range spans from 0x40 to 0x7F, which overlaps with the TRNG SMC service IDs:
/* SMC function IDs for TRNG queries */
#define ARM_TRNG_VERSION U(0x84000050)
#define ARM_TRNG_FEATURES U(0x84000051)
#define ARM_TRNG_GET_UUID U(0x84000052)
#define ARM_TRNG_RND32 U(0x84000053)
#define ARM_TRNG_RND64 U(0xC4000053)
Could you please clarify the rationale behind including the TRNG SMC IDs within the SPM-MM ID range? If this overlap was unintentional, we have to fix it.
Looking forward to your insights and feedback on this matter.
Thanks
Suresh