Browse Source

fix(smc): correctly find pmf version

Commit@f7679d437d5f27a3168f017db8d42bc561ac0c59
PMF is moved under vendor specific EL3 range, part of this
we have introduced each sub-service have an version scheme[1].

- Current PMF is not handling correctly identifying all FID's
  under it so handle this correctly.
- Minor refactor to use existing macro GET_SMC_NUM rather than manual
  parsing to find the SMC number.

[1]:
https://trustedfirmware-a.readthedocs.io/en/latest/components/ven-el3-service.html

Change-Id: I7a4c8936e42d4a579f0243fa3d06015540caca37
Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
pull/2000/merge
Govindraj Raja 6 months ago
parent
commit
62865b4ee4
  1. 6
      include/lib/debugfs.h
  2. 5
      include/lib/pmf/pmf.h

6
include/lib/debugfs.h

@ -66,8 +66,8 @@ int debugfs_smc_setup(void);
*/
#define DEBUGFS_FID_VALUE (0x10U)
#define is_debugfs_fid(_fid) \
(((_fid) & FUNCID_NUM_MASK) == DEBUGFS_FID_VALUE)
#define is_debugfs_fid(_fid) \
(GET_SMC_NUM(_fid) == DEBUGFS_FID_VALUE)
/* Function ID for accessing the debugfs interface from arm sip.
@ -76,7 +76,7 @@ int debugfs_smc_setup(void);
#define DEBUGFS_FID_VALUE_DEPRECATED (0x30U)
#define is_debugfs_fid_deprecated(_fid) \
(((_fid) & FUNCID_NUM_MASK) == DEBUGFS_FID_VALUE_DEPRECATED)
(GET_SMC_NUM(_fid) == DEBUGFS_FID_VALUE_DEPRECATED)
/* Error code for debugfs SMC interface failures */

5
include/lib/pmf/pmf.h

@ -44,7 +44,7 @@
#define PMF_FID_VALUE_DEPRECATED U(0x10)
#define is_pmf_fid_deprecated(_fid) \
(((_fid) & FUNCID_NUM_MASK) == PMF_FID_VALUE_DEPRECATED)
(GET_SMC_NUM(_fid) == PMF_FID_VALUE_DEPRECATED)
/*
* Defines for PMF SMC function ids used with Vendor-Specific
@ -64,7 +64,8 @@
* PMF calls from the SMC function ID.
*/
#define PMF_FID_VALUE U(0x20)
#define is_pmf_fid(_fid) (((_fid) & FUNCID_NUM_MASK) == PMF_FID_VALUE)
#define PMF_ID_MASK (FUNCID_NUM_MASK & ~(0xf))
#define is_pmf_fid(_fid) ((GET_SMC_NUM(_fid) & PMF_ID_MASK) == PMF_FID_VALUE)
/* Following are the supported PMF service IDs */
#define PMF_PSCI_STAT_SVC_ID 0

Loading…
Cancel
Save