blob: 815a59e57755418cfca006596e28e337a865c153 [file] [log] [blame]
Antonio Nino Diaz0b1ab402018-12-05 15:38:39 +00001/*
Ruari Phipps8747ed22020-09-01 13:32:17 +01002 * Copyright (c) 2018-2021, Arm Limited. All rights reserved.
Antonio Nino Diaz0b1ab402018-12-05 15:38:39 +00003 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6
7#ifndef IVY_DEF_H
8#define IVY_DEF_H
9
10/*
11 * Layout of the Secure Partition image.
12 */
13
14/* Up to 2 MiB at an arbitrary address that doesn't overlap the devices. */
Ruari Phipps8747ed22020-09-01 13:32:17 +010015#define IVY_IMAGE_BASE ULL(0x1000)
Antonio Nino Diaz0b1ab402018-12-05 15:38:39 +000016#define IVY_IMAGE_SIZE ULL(0x200000)
17
18/* Memory reserved for stacks */
19#define IVY_STACKS_SIZE ULL(0x1000)
20
21/* Memory shared between EL3 and S-EL0 (64 KiB). */
22#define IVY_SPM_BUF_BASE (IVY_IMAGE_BASE + IVY_IMAGE_SIZE)
23#define IVY_SPM_BUF_SIZE ULL(0x10000)
24
25/* Memory shared between Normal world and S-EL0 (64 KiB). */
26#define IVY_NS_BUF_BASE (IVY_SPM_BUF_BASE + IVY_SPM_BUF_SIZE)
27#define IVY_NS_BUF_SIZE ULL(0x10000)
28
29/*
30 * UUIDs of Secure Services provided by Cactus
31 */
32
33#define IVY_SERVICE1_UUID U(0x76543210), U(0x89ABCDEF), U(0x76543210), U(0xFEDCBA98)
34
35#define IVY_SERVICE1_UUID_RD U(0x76543210) U(0x89ABCDEF) U(0x76543210) U(0xFEDCBA98)
36
37/*
38 * Service IDs
39 */
40/* Print a magic number unique to IVY and return */
41#define IVY_PRINT_MAGIC U(1001)
42/* Return a magic number unique to IVY */
43#define IVY_GET_MAGIC U(1002)
Antonio Nino Diaz2ac6f8f2018-07-02 09:04:07 +010044/* Sleep for a number of milliseconds */
45#define IVY_SLEEP_MS U(1003)
Antonio Nino Diaz0b1ab402018-12-05 15:38:39 +000046
47#define IVY_MAGIC_NUMBER U(0x97531842)
48
49#endif /* IVY_DEF_H */