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