blob: bab28966046f096380129ac17c8b07664f085be5 [file] [log] [blame]
Shruti Gupta91105082024-11-27 05:29:55 +00001/*
2 * Copyright (c) 2024, Arm Limited. All rights reserved.
3 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 *
6 */
7#ifndef REALM_PSI_H
8#define REALM_PSI_H
9
10#include <stdint.h>
11#include <realm_rsi.h>
12
13/*
14 * Plane Service Interface
15 * ABIs are designed to be used by auxillary planes to interact with primary plane.
16 * PSI calls uses HVC conduit which causes Plane exit to P0
17 * PSI commands and Planes shared buffer can be used for communication.
18 */
19#define PSI_RETURN_TO_P0 1U
20#define PSI_RETURN_TO_PN 2U
21
22/* PSI Commands to return back to P0 */
23#define PSI_P0_CALL RSI_HOST_CALL
24#define PSI_REALM_CONFIG RSI_REALM_CONFIG
25#define PSI_CALL_EXIT_PRINT_CMD HOST_CALL_EXIT_PRINT_CMD
26#define PSI_CALL_EXIT_SUCCESS_CMD HOST_CALL_EXIT_SUCCESS_CMD
27#define PSI_CALL_EXIT_FAILED_CMD HOST_CALL_EXIT_FAILED_CMD
28#define PSI_CALL_GET_PLANE_ID_CMD HOST_CALL_GET_PLANE_ID_CMD
29#define PSI_CALL_GET_SHARED_BUFF_CMD HOST_CALL_GET_SHARED_BUFF_CMD
30
31/* Exit back to Plane 0 */
32void psi_exit_to_plane0(u_register_t psi_cmd,
33 u_register_t arg1,
34 u_register_t arg2,
35 u_register_t arg3,
36 u_register_t arg4,
37 u_register_t arg5,
38 u_register_t arg6,
39 u_register_t arg7);
40
41/* Request plane_id from P0 */
42u_register_t psi_get_plane_id(void);
43
44#endif /* REALM_PSI_H */