blob: da09b53e1817f0d27b429ea799704dca9bbb271a [file] [log] [blame]
nabkah01002e5692022-10-10 12:36:46 +01001/*
2 * Copyright (c) 2022, Arm Limited. All rights reserved.
3 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6
7#include <string.h>
8#include <host_shared_data.h>
9
10/**
11 * @brief - Returns the base address of the shared region
12 * @param - Void
13 * @return - Base address of the shared region
14 **/
15
16static host_shared_data_t *guest_shared_data;
17
18/*
19 * Set guest mapped shared buffer pointer
20 */
21void realm_set_shared_structure(host_shared_data_t *ptr)
22{
23 guest_shared_data = ptr;
24}
25
26/*
27 * Get guest mapped shared buffer pointer
28 */
29host_shared_data_t *realm_get_shared_structure(void)
30{
31 return guest_shared_data;
32}
33
34/*
35 * Return Host's data at index
36 */
37u_register_t realm_shared_data_get_host_val(uint8_t index)
38{
39 return guest_shared_data->host_param_val[(index >= MAX_DATA_SIZE) ?
40 (MAX_DATA_SIZE - 1) : index];
41}
42
43/*
44 * Get command sent from Host to realm
45 */
46uint8_t realm_shared_data_get_realm_cmd(void)
47{
48 return guest_shared_data->realm_cmd;
49}