blob: 13b5dac60422da317aa25ffda162885ff6917f9d [file] [log] [blame]
Antonio Nino Diaz7e1e5e82018-12-05 14:38:15 +00001/*
2 * Copyright (c) 2018, Arm Limited. All rights reserved.
3 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6
7#ifndef CACTUS_DEF_H
8#define CACTUS_DEF_H
9
10#include <utils_def.h>
11
12/*
13 * Layout of the Secure Partition image.
14 */
15
16/* Up to 2 MiB at an arbitrary address that doesn't overlap the devices. */
17#define CACTUS_IMAGE_BASE ULL(0x80000000)
18#define CACTUS_IMAGE_SIZE ULL(0x200000)
19
Antonio Nino Diaz54287c82018-12-05 15:37:33 +000020/* Memory reserved for stacks */
21#define CACTUS_STACKS_SIZE ULL(0x1000)
22
Antonio Nino Diaz7e1e5e82018-12-05 14:38:15 +000023/* Memory shared between EL3 and S-EL0 (64 KiB). */
24#define CACTUS_SPM_BUF_BASE (CACTUS_IMAGE_BASE + CACTUS_IMAGE_SIZE)
25#define CACTUS_SPM_BUF_SIZE ULL(0x10000)
26
27/* Memory shared between Normal world and S-EL0 (64 KiB). */
28#define CACTUS_NS_BUF_BASE (CACTUS_SPM_BUF_BASE + CACTUS_SPM_BUF_SIZE)
29#define CACTUS_NS_BUF_SIZE ULL(0x10000)
30
31/* Memory area used by tests (128 KiB). */
32#define CACTUS_TEST_MEM_BASE (CACTUS_NS_BUF_BASE + CACTUS_NS_BUF_SIZE)
33#define CACTUS_TEST_MEM_SIZE ULL(0x20000)
34
35/*
36 * UUIDs of Secure Services provided by Cactus
37 */
38
39#define CACTUS_SERVICE1_UUID U(0x01234567), U(0x89ABCDEF), U(0x76543210), U(0xFEDCBA98)
40#define CACTUS_SERVICE2_UUID U(0x0A1B2C3D), U(0x4E5F6789), U(0x55AA00FF), U(0x0F1E2D3C)
41#define CACTUS_INVALID_UUID U(0x1), U(0x2), U(0x3), U(0x4)
42
43#define CACTUS_SERVICE1_UUID_RD U(0x01234567) U(0x89ABCDEF) U(0x76543210) U(0xFEDCBA98)
44#define CACTUS_SERVICE2_UUID_RD U(0x0A1B2C3D) U(0x4E5F6789) U(0x55AA00FF) U(0x0F1E2D3C)
45#define CACTUS_INVALID_UUID_RD U(0x1) U(0x2) U(0x3) U(0x4)
46
47/*
48 * Service IDs
49 */
50
51/* Print a magic number unique to Cactus and return */
52#define CACTUS_PRINT_MAGIC U(1)
53/* Return a magic number unique to Cactus */
54#define CACTUS_GET_MAGIC U(2)
Antonio Nino Diaz2ac6f8f2018-07-02 09:04:07 +010055/* Sleep for a number of milliseconds */
56#define CACTUS_SLEEP_MS U(3)
Antonio Nino Diaz7e1e5e82018-12-05 14:38:15 +000057
58#define CACTUS_MAGIC_NUMBER U(0x12481369)
59
60#endif /* CACTUS_DEF_H */