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