1 /*
2  * Copyright (c) 2022 Arm Limited. All rights reserved.
3  *
4  * SPDX-License-Identifier:    BSD-3-Clause
5  *
6  */
7 #ifndef DRTM_MEASUREMENTS_H
8 #define DRTM_MEASUREMENTS_H
9 
10 #include <stdint.h>
11 
12 #include "drtm_main.h"
13 #include <platform_def.h>
14 
15 #define DRTM_EVENT_ARM_BASE		0x9000U
16 #define DRTM_EVENT_TYPE(n)		(DRTM_EVENT_ARM_BASE + (unsigned int)(n))
17 
18 #define DRTM_EVENT_ARM_PCR_SCHEMA	DRTM_EVENT_TYPE(1)
19 #define DRTM_EVENT_ARM_DCE		DRTM_EVENT_TYPE(2)
20 #define DRTM_EVENT_ARM_DCE_PUBKEY	DRTM_EVENT_TYPE(3)
21 #define DRTM_EVENT_ARM_DLME		DRTM_EVENT_TYPE(4)
22 #define DRTM_EVENT_ARM_DLME_EP		DRTM_EVENT_TYPE(5)
23 #define DRTM_EVENT_ARM_DEBUG_CONFIG	DRTM_EVENT_TYPE(6)
24 #define DRTM_EVENT_ARM_NONSECURE_CONFIG	DRTM_EVENT_TYPE(7)
25 #define DRTM_EVENT_ARM_DCE_SECONDARY	DRTM_EVENT_TYPE(8)
26 #define DRTM_EVENT_ARM_TZFW		DRTM_EVENT_TYPE(9)
27 #define DRTM_EVENT_ARM_SEPARATOR	DRTM_EVENT_TYPE(10)
28 
29 #define CHECK_RC(rc, func_call) { \
30 	if (rc != 0) { \
31 		ERROR("%s(): " #func_call "failed unexpectedly rc=%d\n",  \
32 		      __func__, rc);  \
33 		panic();  \
34 	}  \
35 }
36 
37 enum drtm_retc drtm_take_measurements(const struct_drtm_dl_args *a);
38 void drtm_serialise_event_log(uint8_t *dst, size_t *event_log_size_out);
39 
40 #endif /* DRTM_MEASUREMENTS_H */
41