blob: 22c074278761a7f870f49762b3d70725cd027df1 [file] [log] [blame]
Bryan O'Donoghued54672e2018-07-03 15:07:32 +01001/*
2 * Copyright (C) 2018, ARM Limited and Contributors. All rights reserved.
3 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
Antonio Nino Diaz5eb88372018-11-08 10:20:19 +00006#ifndef IMX_HAB_H
7#define IMX_HAB_H
Bryan O'Donoghued54672e2018-07-03 15:07:32 +01008
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
Antonio Nino Diaz5eb88372018-11-08 10:20:19 +000033#endif /* IMX_HAB_H */