From 320fb2939b6dfa8f9d59da7afa6311677a95bdbc Mon Sep 17 00:00:00 2001 From: Govindraj Raja <govindraj.raja@arm.com> Date: Tue, 19 Mar 2024 17:46:22 -0500 Subject: [PATCH] refactor(docs): added versioning to smccc services With addition of vendor-specific el3 monitor service calls debugfs and pmf are moved from arm-sip to vendor-specific el3 range. Going forward any changes to SMCCC services can be captured from docs file table. Use one FID allocated per sub-feature to track changes in sub-feature. Modify top level version only when we break version probing or discovery. Change-Id: I14ceeab79f29ae57a5d7c523147f6ecaa5574f79 Signed-off-by: Govindraj Raja <govindraj.raja@arm.com> --- docs/components/arm-sip-service.rst | 9 +++++++++ docs/components/ven-el3-service.rst | 23 ++++++++++++++++++++++- 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/docs/components/arm-sip-service.rst b/docs/components/arm-sip-service.rst index 4445fb18d..74a40a3fb 100644 --- a/docs/components/arm-sip-service.rst +++ b/docs/components/arm-sip-service.rst @@ -20,6 +20,15 @@ The Arm SiP implementation offers the following services: Source definitions for Arm SiP service are located in the ``arm_sip_svc.h`` header file. ++----------------------------+----------------------------+---------------------------------------+ +| ARM_SIP_SVC_VERSION_MAJOR | ARM_SIP_SVC_VERSION_MINOR | Changes | ++============================+============================+=======================================+ +| 1 | 0 | Move DebugFS and PMF to the new vendor| +| | | specific FID range. The old FID range | +| | | for these services are deprecated | ++----------------------------+----------------------------+---------------------------------------+ + +*Table 1: Showing different versions of arm-sip-service and changes done with each version* Execution State Switching service --------------------------------- diff --git a/docs/components/ven-el3-service.rst b/docs/components/ven-el3-service.rst index 10c4380f7..13449ba6d 100644 --- a/docs/components/ven-el3-service.rst +++ b/docs/components/ven-el3-service.rst @@ -32,10 +32,31 @@ Vendor-specific EL3 monitor services are as follows: +-----------------------------------+ Measurement Framework | | 2 - 15 are reserved for future expansion. | | 0xC7000020 - 0xC700002F (SMC64) | (PMF) | | +-----------------------------------+-----------------------+---------------------------------------------+ +| 0x87000030 - 0x8700FFFF (SMC32) | Reserved | | reserved for future expansion | ++-----------------------------------+ | | +| 0xC7000030 - 0xC700FFFF (SMC64) | | | ++-----------------------------------+-----------------------+---------------------------------------------+ -Source definitions for vendor-specific EL3 Monitor Service Calls are located in +Source definitions for vendor-specific EL3 Monitor Service Calls used by TF-A are located in the ``ven_el3_svc.h`` header file. ++----------------------------+----------------------------+--------------------------------+ +| VEN_EL3_SVC_VERSION_MAJOR | VEN_EL3_SVC_VERSION_MINOR | Changes | ++============================+============================+================================+ +| 1 | 0 | Added Debugfs and PMF services.| ++----------------------------+----------------------------+--------------------------------+ + +*Table 1: Showing different versions of Vendor-specific service and changes done with each version* + +Each sub service will have its own version, one FID allocated for sub service version. + +Some ground rules when one should update top level version. + - VEN_EL3_SVC_VERSION_MAJOR is incremented when any of the sub service version discovery + FID changes or the FID that was allocated for discovery changes. So any breaking subfeature + discovery changes will lead to major version update. + - VEN_EL3_SVC_VERSION_MINOR is incremented when we add a new FID or a new sub service. + For example adding an new monitor service at 0x30, Debugfs starts at 0x10 and PMF + starts at 0x20 next one will start at 0x30, this will need a update to minor version. Performance Measurement Framework (PMF) ---------------------------------------