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.com.
Learn why this is important |
Hi,
This issue was raised long time ago but unfortunately never got fixed/merged.
It may be ok restoring the change and progress it:
On a related note, I hope you saw the deprecation notice:
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.com>
Sent: Monday, November 10, 2025 7:32 PM
To: tf-a-owner@lists.trustedfirmware.org <tf-a-owner@lists.trustedfirmware.org>
Cc: Giri Mudusuru <girimudusuru@microsoft.com>; David Daney <daviddaney@microsoft.com>; Kun Qin <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