Callisto4Bootloader: IVT_t Struct Reference

Callisto4Bootloader

Data Fields
IVT_t Struct Reference

Structure to overlay on Image Vector Table. More...

`#include <bootloader_types.h>`

## Data Fields

union {
struct {
uint32_t tag:8
uint32_t length:16
uint32_t version:8
} B
| Bitfield representation. More...
uint32_t R
| Register representation. More...
} | header
uint32_t | entry
uint32_t | reserved1
uint32_t | dcd
uint32_t | bootData
uint32_t | self
uint32_t | csf
uint32_t | reserved2

## Detailed Description

Structure to overlay on Image Vector Table.

The Image Vector Table (IVT) is the data structure that the ROM reads from the boot device supplying the program image containing the required data components to perform a successful boot.

The IVT includes the program image entry point, a pointer to Device Configuration Data (DCD) and other pointers used by the ROM during the boot process. The ROM locates the IVT at a fixed address that is determined by the boot device connected to the Chip. The IVT offset from the base address and initial load region size for each boot device type is defined in the table below. The location of the IVT is the only fixed requirement by the ROM. The remainder or the image memory map is flexible and is determined by the contents of the IVT.

Definition at line 183 of file bootloader_types.h.

## Field Documentation

## ◆ B

struct { ... } IVT_t::B

Bitfield representation.

## ◆ bootData

uint32_t IVT_t::bootData

Absolute address of the boot data

Definition at line 201 of file bootloader_types.h.

## ◆ csf

uint32_t IVT_t::csf

Absolute address of the Command Sequence File (CSF) used by the HAB library. See High-Assurance Boot (HAB) for details on the secure boot using HAB. This field must be set to NULL when not performing a secure boot.

Definition at line 203 of file bootloader_types.h.

## ◆ dcd

uint32_t IVT_t::dcd

Absolute address of the image DCD. The DCD is optional so this field may be set to NULL if no DCD is required. See Device Configuration Data (DCD) for further details on the DCD.

Definition at line 199 of file bootloader_types.h.

## ◆ entry

uint32_t IVT_t::entry

Absolute address of the first instruction to execute from the image.

Definition at line 197 of file bootloader_types.h.

## ◆ header

union { ... } IVT_t::header

## ◆ length

uint32_t IVT_t::length

A two byte field in big endian format containing the overall length of the IVT, in bytes, including the header. (the length is fixed and must have a value of 32 bytes).

Definition at line 190 of file bootloader_types.h.

## ◆ R

uint32_t IVT_t::R

Register representation.

Definition at line 195 of file bootloader_types.h.

## ◆ reserved1

uint32_t IVT_t::reserved1

Reserved and should be zero.

Definition at line 198 of file bootloader_types.h.

## ◆ reserved2

uint32_t IVT_t::reserved2

Reserved and should be zero

Definition at line 205 of file bootloader_types.h.

## ◆ self

uint32_t IVT_t::self

Absolute address of the IVT. Used internally by the ROM.

Definition at line 202 of file bootloader_types.h.

## ◆ tag

uint32_t IVT_t::tag

A single byte field set to 0xD1.

Definition at line 189 of file bootloader_types.h.

## ◆ version

uint32_t IVT_t::version

A single byte field set to 0x40 or 0x41.

Definition at line 193 of file bootloader_types.h.

The documentation for this struct was generated from the following file:

- src/bootloader_types.h