imx_hab.h 1.2 KB

123456789101112131415161718192021222324252627282930313233
  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. #include <imx_hab_arch.h>
  9. #include <imx_regs.h>
  10. #define HAB_ROM_VECTOR_BASE\
  11. (BOOTROM_BASE + HAB_CALLBACK_OFFSET)
  12. /*
  13. * Section 4.5 of the High Assurance Boot Version 4 Application Programming
  14. * Interface Reference Manual defines the ROM Vector table as coming after a 4
  15. * byte header
  16. *
  17. * A series of function pointers are enumerated at fixed addresses, which are
  18. * described below
  19. */
  20. #define HAB_ROM_VECTOR_TABLE_ENTRY (HAB_ROM_VECTOR_BASE + 0x04)
  21. #define HAB_ROM_VECTOR_TABLE_EXIT (HAB_ROM_VECTOR_BASE + 0x08)
  22. #define HAB_ROM_VECTOR_TABLE_CHECK_TARGET (HAB_ROM_VECTOR_BASE + 0x0C)
  23. #define HAB_ROM_VECTOR_TABLE_AUTHENTICATE_IMAGE (HAB_ROM_VECTOR_BASE + 0x10)
  24. #define HAB_ROM_VECTOR_TABLE_RUN_DCD (HAB_ROM_VECTOR_BASE + 0x14)
  25. #define HAB_ROM_VECTOR_TABLE_RUN_CSF (HAB_ROM_VECTOR_BASE + 0x18)
  26. #define HAB_ROM_VECTOR_TABLE_ASSERT (HAB_ROM_VECTOR_BASE + 0x1C)
  27. #define HAB_ROM_VECTOR_TABLE_REPORT_EVENT (HAB_ROM_VECTOR_BASE + 0x20)
  28. #define HAB_ROM_VECTOR_TABLE_REPORT_STATUS (HAB_ROM_VECTOR_BASE + 0x24)
  29. #define HAB_ROM_VECTOR_TABLE_FAILSAFE (HAB_ROM_VECTOR_BASE + 0x28)
  30. #endif /* IMX_HAB_H */