coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
header.h
Go to the documentation of this file.
1
/* SPDX-License-Identifier: GPL-2.0-or-later */
2
3
#ifndef __SOC_TI_AM335X_HEADER_H
4
#define __SOC_TI_AM335X_HEADER_H
5
6
#include <
stdint.h
>
7
8
struct
configuration_header_toc_item
{
9
// Offset from the start address of the TOC to the actual address of
10
// a section.
11
uint32_t
start
;
12
13
// Size of a section.
14
uint32_t
size
;
15
16
// Reserved.
17
uint32_t
reserved
[3];
18
19
// 12-character name of a section, including the zero (\0) terminator.
20
char
filename
[12];
21
}
__packed
;
22
23
struct
configuration_header_settings
{
24
// Key used for section verification.
25
uint32_t
key
;
26
27
// Enables or disables the section.
28
// 00h: Disable.
29
// Other: Enable.
30
uint8_t
valid
;
31
32
// Configuration header version.
33
uint8_t
version
;
34
35
// Reserved.
36
uint16_t
reserved
;
37
38
// Flags. It's not clear what this is used for.
39
uint32_t
flags
;
40
}
__packed
;
41
42
struct
gp_device_header
{
43
// Size of the image.
44
uint32_t
size
;
45
46
// Address to store the image/code entry point.
47
uint32_t
destination
;
48
}
__packed
;
49
50
struct
config_headers
{
51
// The table of contents.
52
struct
configuration_header_toc_item
toc_chsettings
;
53
struct
configuration_header_toc_item
toc_end
;
54
55
// An inert instance of chsettings.
56
struct
configuration_header_settings
chsettings
;
57
}
__packed
;
58
59
struct
omap_image_headers
{
60
union
{
61
struct
config_headers
config_headers
;
62
uint8_t
bytes
[512];
63
};
64
struct
gp_device_header
image_header
;
65
};
66
67
#endif
__packed
struct configuration_header_toc_item __packed
stdint.h
uint16_t
unsigned short uint16_t
Definition:
stdint.h:11
uint32_t
unsigned int uint32_t
Definition:
stdint.h:14
uint8_t
unsigned char uint8_t
Definition:
stdint.h:8
config_headers
Definition:
header.h:50
config_headers::toc_chsettings
struct configuration_header_toc_item toc_chsettings
Definition:
header.h:52
config_headers::toc_end
struct configuration_header_toc_item toc_end
Definition:
header.h:53
config_headers::chsettings
struct configuration_header_settings chsettings
Definition:
header.h:56
configuration_header_settings
Definition:
header.h:23
configuration_header_settings::reserved
uint16_t reserved
Definition:
header.h:36
configuration_header_settings::valid
uint8_t valid
Definition:
header.h:30
configuration_header_settings::version
uint8_t version
Definition:
header.h:33
configuration_header_settings::flags
uint32_t flags
Definition:
header.h:39
configuration_header_settings::key
uint32_t key
Definition:
header.h:25
configuration_header_toc_item
Definition:
header.h:8
configuration_header_toc_item::start
uint32_t start
Definition:
header.h:11
configuration_header_toc_item::filename
char filename[12]
Definition:
header.h:20
configuration_header_toc_item::size
uint32_t size
Definition:
header.h:14
configuration_header_toc_item::reserved
uint32_t reserved[3]
Definition:
header.h:17
gp_device_header
Definition:
header.h:42
gp_device_header::destination
uint32_t destination
Definition:
header.h:47
gp_device_header::size
uint32_t size
Definition:
header.h:44
omap_image_headers
Definition:
header.h:59
omap_image_headers::bytes
uint8_t bytes[512]
Definition:
header.h:62
omap_image_headers::image_header
struct gp_device_header image_header
Definition:
header.h:64
src
soc
ti
am335x
header.h
Generated by
1.9.1