1de6b79d8SGovindraj RajaVendor Specific EL3 Monitor Service Calls 2de6b79d8SGovindraj Raja========================================= 3de6b79d8SGovindraj Raja 4de6b79d8SGovindraj RajaThis document enumerates and describes the Vendor Specific EL3 Monitor Service 5de6b79d8SGovindraj RajaCalls. 6de6b79d8SGovindraj Raja 7de6b79d8SGovindraj RajaThese are Service Calls defined by the vendor of the EL3 Monitor. 8de6b79d8SGovindraj RajaThey are accessed via ``SMC`` ("SMC calls") instruction executed from Exception 9de6b79d8SGovindraj RajaLevels below EL3. SMC calls for Vendor Specific EL3 Monitor Services: 10de6b79d8SGovindraj Raja 11de6b79d8SGovindraj Raja- Follow `SMC Calling Convention`_; 12de6b79d8SGovindraj Raja- Use SMC function IDs that fall in the vendor-specific EL3 range, which are 13de6b79d8SGovindraj Raja 14de6b79d8SGovindraj Raja+---------------------------+--------------------------------------------------+ 15de6b79d8SGovindraj Raja| SMC Function Identifier | Service Type | 16de6b79d8SGovindraj Raja+===========================+==================================================+ 17de6b79d8SGovindraj Raja| 0x87000000 - 0x8700FFFF | SMC32: Vendor Specific EL3 Monitor Service Calls | 18de6b79d8SGovindraj Raja+---------------------------+--------------------------------------------------+ 19de6b79d8SGovindraj Raja| 0xC7000000 - 0xC700FFFF | SMC64: Vendor Specific EL3 Monitor Service Calls | 20de6b79d8SGovindraj Raja+---------------------------+--------------------------------------------------+ 21de6b79d8SGovindraj Raja 22273b8983SGovindraj RajaVendor-specific EL3 monitor services are as follows: 23273b8983SGovindraj Raja 24273b8983SGovindraj Raja+-----------------------------------+-----------------------+---------------------------------------------+ 25273b8983SGovindraj Raja| SMC Function Identifier | Service Type | FID's Usage | 26273b8983SGovindraj Raja+===================================+=======================+=============================================+ 27*f7679d43SGovindraj Raja| 0x87000010 - 0x8700001F (SMC32) | DebugFS Interface | | 0 - 11 are in use. | 28*f7679d43SGovindraj Raja+-----------------------------------+ | | 12 - 15 are reserved for future expansion.| 29273b8983SGovindraj Raja| 0xC7000010 - 0xC700001F (SMC64) | | | 30273b8983SGovindraj Raja+-----------------------------------+-----------------------+---------------------------------------------+ 31*f7679d43SGovindraj Raja| 0x87000020 - 0x8700002F (SMC32) | Performance | | 0 is in use. | 32*f7679d43SGovindraj Raja+-----------------------------------+ Measurement Framework | | 1 - 15 are reserved for future expansion. | 33*f7679d43SGovindraj Raja| 0xC7000020 - 0xC700002F (SMC64) | (PMF) | | 34*f7679d43SGovindraj Raja+-----------------------------------+-----------------------+---------------------------------------------+ 35273b8983SGovindraj Raja 36de6b79d8SGovindraj RajaSource definitions for vendor-specific EL3 Monitor Service Calls are located in 37de6b79d8SGovindraj Rajathe ``ven_el3_svc.h`` header file. 38de6b79d8SGovindraj Raja 39273b8983SGovindraj Raja 40*f7679d43SGovindraj RajaPerformance Measurement Framework (PMF) 41*f7679d43SGovindraj Raja--------------------------------------- 42*f7679d43SGovindraj Raja 43*f7679d43SGovindraj RajaThe :ref:`Performance Measurement Framework <firmware_design_pmf>` 44*f7679d43SGovindraj Rajaallows callers to retrieve timestamps captured at various paths in TF-A 45*f7679d43SGovindraj Rajaexecution. 46*f7679d43SGovindraj Raja 47273b8983SGovindraj RajaDebugFS interface 48273b8983SGovindraj Raja----------------- 49273b8983SGovindraj Raja 50273b8983SGovindraj RajaThe optional DebugFS interface is accessed through Vendor specific EL3 service. Refer 51273b8983SGovindraj Rajato :ref:`DebugFS interface` documentation for further details and usage. 52273b8983SGovindraj Raja 53de6b79d8SGovindraj Raja-------------- 54de6b79d8SGovindraj Raja 55de6b79d8SGovindraj Raja*Copyright (c) 2024, Arm Limited and Contributors. All rights reserved.* 56de6b79d8SGovindraj Raja 57de6b79d8SGovindraj Raja.. _SMC Calling Convention: https://developer.arm.com/docs/den0028/latest 58