xref: /rk3399_ARM-atf/docs/components/ven-el3-service.rst (revision 273b898388adde0d7cc858fab6774b1da61caa0f)
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
22*273b8983SGovindraj RajaVendor-specific EL3 monitor services are as follows:
23*273b8983SGovindraj Raja
24*273b8983SGovindraj Raja+-----------------------------------+-----------------------+---------------------------------------------+
25*273b8983SGovindraj Raja| SMC Function Identifier           | Service Type          | FID's Usage                                 |
26*273b8983SGovindraj Raja+===================================+=======================+=============================================+
27*273b8983SGovindraj Raja| 0x87000010 - 0x8700001F (SMC32)   | DebugFS Interface     | | 0 - 11 are in use                         |
28*273b8983SGovindraj Raja+-----------------------------------+                       | | 12 - 15 are reserved for future expansion |
29*273b8983SGovindraj Raja| 0xC7000010 - 0xC700001F (SMC64)   |                       |                                             |
30*273b8983SGovindraj Raja+-----------------------------------+-----------------------+---------------------------------------------+
31*273b8983SGovindraj Raja
32de6b79d8SGovindraj RajaSource definitions for vendor-specific EL3 Monitor Service Calls are located in
33de6b79d8SGovindraj Rajathe ``ven_el3_svc.h`` header file.
34de6b79d8SGovindraj Raja
35*273b8983SGovindraj Raja
36*273b8983SGovindraj RajaDebugFS interface
37*273b8983SGovindraj Raja-----------------
38*273b8983SGovindraj Raja
39*273b8983SGovindraj RajaThe optional DebugFS interface is accessed through Vendor specific EL3 service. Refer
40*273b8983SGovindraj Rajato :ref:`DebugFS interface` documentation for further details and usage.
41*273b8983SGovindraj Raja
42de6b79d8SGovindraj Raja--------------
43de6b79d8SGovindraj Raja
44de6b79d8SGovindraj Raja*Copyright (c) 2024, Arm Limited and Contributors. All rights reserved.*
45de6b79d8SGovindraj Raja
46de6b79d8SGovindraj Raja.. _SMC Calling Convention: https://developer.arm.com/docs/den0028/latest
47