1 /* 2 * Copyright (C) 2018, ARM Limited and Contributors. All rights reserved. 3 * 4 * SPDX-License-Identifier: BSD-3-Clause 5 */ 6 #ifndef IMX_HAB_H 7 #define IMX_HAB_H 8 9 #include <imx_hab_arch.h> 10 #include <imx_regs.h> 11 12 #define HAB_ROM_VECTOR_BASE\ 13 (BOOTROM_BASE + HAB_CALLBACK_OFFSET) 14 /* 15 * Section 4.5 of the High Assurance Boot Version 4 Application Programming 16 * Interface Reference Manual defines the ROM Vector table as coming after a 4 17 * byte header 18 * 19 * A series of function pointers are enumerated at fixed addresses, which are 20 * described below 21 */ 22 #define HAB_ROM_VECTOR_TABLE_ENTRY (HAB_ROM_VECTOR_BASE + 0x04) 23 #define HAB_ROM_VECTOR_TABLE_EXIT (HAB_ROM_VECTOR_BASE + 0x08) 24 #define HAB_ROM_VECTOR_TABLE_CHECK_TARGET (HAB_ROM_VECTOR_BASE + 0x0C) 25 #define HAB_ROM_VECTOR_TABLE_AUTHENTICATE_IMAGE (HAB_ROM_VECTOR_BASE + 0x10) 26 #define HAB_ROM_VECTOR_TABLE_RUN_DCD (HAB_ROM_VECTOR_BASE + 0x14) 27 #define HAB_ROM_VECTOR_TABLE_RUN_CSF (HAB_ROM_VECTOR_BASE + 0x18) 28 #define HAB_ROM_VECTOR_TABLE_ASSERT (HAB_ROM_VECTOR_BASE + 0x1C) 29 #define HAB_ROM_VECTOR_TABLE_REPORT_EVENT (HAB_ROM_VECTOR_BASE + 0x20) 30 #define HAB_ROM_VECTOR_TABLE_REPORT_STATUS (HAB_ROM_VECTOR_BASE + 0x24) 31 #define HAB_ROM_VECTOR_TABLE_FAILSAFE (HAB_ROM_VECTOR_BASE + 0x28) 32 33 #endif /* IMX_HAB_H */ 34