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
Thank you, Olivier.
Thanks for the depreciation notice as well.
Regards Suresh
From: Olivier Deprez Olivier.Deprez@arm.com Sent: Tuesday, November 11, 2025 1:20 AM To: Sureshkumar Ponnusamy sponnusamy@microsoft.com; David Daney daviddaney@microsoft.com; tf-a@lists.trustedfirmware.org Cc: Giri Mudusuru girimudusuru@microsoft.com; Kun Qin Kun.Qin@microsoft.com Subject: [EXTERNAL] Re: Question about SPM-MM SMC function ids
Some people who received this message don't often get email from olivier.deprez@arm.commailto:olivier.deprez@arm.com. Learn why this is importanthttps://aka.ms/LearnAboutSenderIdentification 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.commailto:sponnusamy@microsoft.com> Sent: 11 November 2025 05:46 To: David Daney <daviddaney@microsoft.commailto:daviddaney@microsoft.com>; 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>; Kun Qin <Kun.Qin@microsoft.commailto: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.commailto:daviddaney@microsoft.com> Sent: Monday, November 10, 2025 7:38 PM To: Sureshkumar Ponnusamy <sponnusamy@microsoft.commailto:sponnusamy@microsoft.com>; tf-a-owner@lists.trustedfirmware.orgmailto:tf-a-owner@lists.trustedfirmware.org Cc: Giri Mudusuru <girimudusuru@microsoft.commailto:girimudusuru@microsoft.com>; Kun Qin <Kun.Qin@microsoft.commailto: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
tf-a@lists.trustedfirmware.org