xref: /rk3399_ARM-atf/docs/components/ven-el3-service.rst (revision 42cbefc72721a9cbf68a70d81cbcb141a2d085f1)
1Vendor 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
22Vendor-specific EL3 monitor services are as follows:
23
24+-----------------------------------+-----------------------+---------------------------------------------+
25| SMC Function Identifier           | Service Type          | FID's Usage                                 |
26+===================================+=======================+=============================================+
27| 0x87000010 - 0x8700001F (SMC32)   | DebugFS Interface     | | 0 - 11 are in use.                        |
28+-----------------------------------+                       | | 12 - 15 are reserved for future expansion.|
29| 0xC7000010 - 0xC700001F (SMC64)   |                       |                                             |
30+-----------------------------------+-----------------------+---------------------------------------------+
31| 0x87000020 - 0x8700002F (SMC32)   | Performance           | | 0,1 is in use.                            |
32+-----------------------------------+ Measurement Framework | | 2 - 15 are reserved for future expansion. |
33| 0xC7000020 - 0xC700002F (SMC64)   | (PMF)                 |                                             |
34+-----------------------------------+-----------------------+---------------------------------------------+
35
36Source definitions for vendor-specific EL3 Monitor Service Calls are located in
37the ``ven_el3_svc.h`` header file.
38
39
40Performance 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
47DebugFS 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
53--------------
54
55*Copyright (c) 2024, Arm Limited and Contributors. All rights reserved.*
56
57.. _SMC Calling Convention: https://developer.arm.com/docs/den0028/latest
58