blob: 10c4380f74b1c111d8133867738488b97065cb0e [file] [log] [blame]
Govindraj Rajade6b79d2024-02-23 16:50:52 -06001Vendor Specific EL3 Monitor Service Calls
2=========================================
3
4This document enumerates and describes the Vendor Specific EL3 Monitor Service
5Calls.
6
7These are Service Calls defined by the vendor of the EL3 Monitor.
8They are accessed via ``SMC`` ("SMC calls") instruction executed from Exception
9Levels below EL3. SMC calls for Vendor Specific EL3 Monitor Services:
10
11- Follow `SMC Calling Convention`_;
12- Use SMC function IDs that fall in the vendor-specific EL3 range, which are
13
14+---------------------------+--------------------------------------------------+
15| SMC Function Identifier | Service Type |
16+===========================+==================================================+
17| 0x87000000 - 0x8700FFFF | SMC32: Vendor Specific EL3 Monitor Service Calls |
18+---------------------------+--------------------------------------------------+
19| 0xC7000000 - 0xC700FFFF | SMC64: Vendor Specific EL3 Monitor Service Calls |
20+---------------------------+--------------------------------------------------+
21
Govindraj Raja273b8982024-03-07 15:24:19 -060022Vendor-specific EL3 monitor services are as follows:
23
24+-----------------------------------+-----------------------+---------------------------------------------+
25| SMC Function Identifier | Service Type | FID's Usage |
26+===================================+=======================+=============================================+
Govindraj Rajaf7679d42024-04-15 12:42:13 -050027| 0x87000010 - 0x8700001F (SMC32) | DebugFS Interface | | 0 - 11 are in use. |
28+-----------------------------------+ | | 12 - 15 are reserved for future expansion.|
Govindraj Raja273b8982024-03-07 15:24:19 -060029| 0xC7000010 - 0xC700001F (SMC64) | | |
30+-----------------------------------+-----------------------+---------------------------------------------+
Govindraj Raja42cbefc2024-04-23 11:48:48 -050031| 0x87000020 - 0x8700002F (SMC32) | Performance | | 0,1 is in use. |
32+-----------------------------------+ Measurement Framework | | 2 - 15 are reserved for future expansion. |
Govindraj Rajaf7679d42024-04-15 12:42:13 -050033| 0xC7000020 - 0xC700002F (SMC64) | (PMF) | |
34+-----------------------------------+-----------------------+---------------------------------------------+
Govindraj Raja273b8982024-03-07 15:24:19 -060035
Govindraj Rajade6b79d2024-02-23 16:50:52 -060036Source definitions for vendor-specific EL3 Monitor Service Calls are located in
37the ``ven_el3_svc.h`` header file.
38
Govindraj Raja273b8982024-03-07 15:24:19 -060039
Govindraj Rajaf7679d42024-04-15 12:42:13 -050040Performance Measurement Framework (PMF)
41---------------------------------------
42
43The :ref:`Performance Measurement Framework <firmware_design_pmf>`
44allows callers to retrieve timestamps captured at various paths in TF-A
45execution.
46
Govindraj Raja273b8982024-03-07 15:24:19 -060047DebugFS interface
48-----------------
49
50The optional DebugFS interface is accessed through Vendor specific EL3 service. Refer
51to :ref:`DebugFS interface` documentation for further details and usage.
52
Govindraj Rajade6b79d2024-02-23 16:50:52 -060053--------------
54
55*Copyright (c) 2024, Arm Limited and Contributors. All rights reserved.*
56
57.. _SMC Calling Convention: https://developer.arm.com/docs/den0028/latest