xref: /rk3399_ARM-atf/services/std_svc/drtm/drtm_measurements.h (revision 06f3c7058c42a9f1a9f7df75ea2de71a000855e8)
1 /*
2  * Copyright (c) 2022-2025 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 #define DRTM_EVENT_ARM_DLME_PUBKEY	DRTM_EVENT_TYPE(11)
29 #define DRTM_EVENT_ARM_DLME_SVN		DRTM_EVENT_TYPE(12)
30 #define DRTM_EVENT_ARM_NO_ACTION	DRTM_EVENT_TYPE(13)
31 
32 #define CHECK_RC(rc, func_call) { \
33 	if (rc != 0) { \
34 		ERROR("%s(): " #func_call "failed unexpectedly rc=%d\n",  \
35 		      __func__, rc);  \
36 		panic();  \
37 	}  \
38 }
39 
40 enum drtm_retc drtm_take_measurements(const struct_drtm_dl_args *a);
41 void drtm_serialise_event_log(uint8_t *dst, size_t *event_log_size_out);
42 
43 #endif /* DRTM_MEASUREMENTS_H */
44