coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
cse_layout.h
Go to the documentation of this file.
1
/* BPDT version 1.7 support */
2
/* SPDX-License-Identifier: GPL-2.0-only */
3
4
#include <
sys/types.h
>
5
6
enum
bpdt_entry_type
{
7
SMIP
= 0,
8
CSE_RBE
= 1,
9
CSE_BUP
= 2,
10
UCODE
= 3,
11
IBB
= 4,
12
S_BPDT
= 5,
13
OBB
= 6,
14
CSE_MAIN
= 7,
15
ISH
= 8,
16
CSE_IDLM
= 9,
17
IFP_OVERRIDE
= 10,
18
UTOK
= 11,
19
UFS_PHY
= 12,
20
UFS_GPP
= 13,
21
PMC
= 14,
22
IUNIT
= 15,
23
NVM_CFG
= 16,
24
UEP
= 17,
25
OEM_KM
= 20,
26
PAVP
= 22,
27
IOM_FW
= 23,
28
NPHY_FW
= 24,
29
TBT_FW
= 25,
30
ICC
= 32,
31
32
MAX_SUBPARTS
,
33
};
34
35
struct
bpdt_header
{
36
uint32_t
signature
;
/* BPDT_SIGNATURE */
37
uint16_t
descriptor_count
;
38
uint8_t
version
;
/* Layout 1.7 = 2 */
39
uint8_t
flags
;
40
uint32_t
checksum
;
41
uint32_t
ifwi_version
;
42
struct
{
43
uint16_t
major
;
44
uint16_t
minor
;
45
uint16_t
build
;
46
uint16_t
hotfix
;
47
}
fit_tool_version
;
48
}
__packed
;
49
50
struct
cse_layout
{
51
uint8_t
rom_bypass
[16];
52
uint16_t
size
;
53
uint16_t
redundancy
;
54
uint32_t
checksum
;
55
uint32_t
data_offset
;
56
uint32_t
data_size
;
57
uint32_t
bp1_offset
;
58
uint32_t
bp1_size
;
59
uint32_t
bp2_offset
;
60
uint32_t
bp2_size
;
61
uint32_t
bp3_offset
;
62
uint32_t
bp3_size
;
63
uint32_t
bp4_offset
;
64
uint32_t
bp4_size
;
65
uint32_t
bp5_offset
;
66
uint32_t
bp5_size
;
67
uint32_t
temp_base_addr
;
68
uint32_t
temp_base_size
;
69
uint32_t
flog_offset
;
70
uint32_t
flog_size
;
71
}
__packed
;
72
73
struct
bpdt_entry
{
74
uint32_t
type
;
75
uint32_t
offset
;
76
uint32_t
size
;
77
}
__packed
;
78
79
struct
subpart_hdr
{
80
uint32_t
signature
;
/* SUBPART_SIGNATURE */
81
uint32_t
count
;
82
uint8_t
hdr_version
;
/* Header version = 2 */
83
uint8_t
entry_version
;
/* Entry version = 1 */
84
uint8_t
length
;
85
uint8_t
reserved
;
86
uint8_t
name
[4];
87
uint32_t
checksum
;
88
}
__packed
;
89
90
struct
subpart_entry
{
91
uint8_t
name
[12];
92
uint32_t
offset_bytes
;
93
uint32_t
length
;
94
uint32_t
rsvd2
;
95
}
__packed
;
96
97
struct
subpart_entry_manifest_header
{
98
uint8_t
reserved
[36];
99
struct
{
100
uint16_t
major
;
101
uint16_t
minor
;
102
uint16_t
build
;
103
uint16_t
hotfix
;
104
}
binary_version
;
105
}
__packed
;
__packed
struct bpdt_header __packed
bpdt_entry_type
bpdt_entry_type
Definition:
cse_layout.h:6
UFS_GPP
@ UFS_GPP
Definition:
cse_layout.h:20
UFS_PHY
@ UFS_PHY
Definition:
cse_layout.h:19
NPHY_FW
@ NPHY_FW
Definition:
cse_layout.h:28
UTOK
@ UTOK
Definition:
cse_layout.h:18
TBT_FW
@ TBT_FW
Definition:
cse_layout.h:29
UEP
@ UEP
Definition:
cse_layout.h:24
IOM_FW
@ IOM_FW
Definition:
cse_layout.h:27
CSE_MAIN
@ CSE_MAIN
Definition:
cse_layout.h:14
CSE_BUP
@ CSE_BUP
Definition:
cse_layout.h:9
OEM_KM
@ OEM_KM
Definition:
cse_layout.h:25
IBB
@ IBB
Definition:
cse_layout.h:11
CSE_RBE
@ CSE_RBE
Definition:
cse_layout.h:8
S_BPDT
@ S_BPDT
Definition:
cse_layout.h:12
PAVP
@ PAVP
Definition:
cse_layout.h:26
PMC
@ PMC
Definition:
cse_layout.h:21
UCODE
@ UCODE
Definition:
cse_layout.h:10
SMIP
@ SMIP
Definition:
cse_layout.h:7
MAX_SUBPARTS
@ MAX_SUBPARTS
Definition:
cse_layout.h:32
ISH
@ ISH
Definition:
cse_layout.h:15
OBB
@ OBB
Definition:
cse_layout.h:13
ICC
@ ICC
Definition:
cse_layout.h:30
IFP_OVERRIDE
@ IFP_OVERRIDE
Definition:
cse_layout.h:17
CSE_IDLM
@ CSE_IDLM
Definition:
cse_layout.h:16
IUNIT
@ IUNIT
Definition:
cse_layout.h:22
NVM_CFG
@ NVM_CFG
Definition:
cse_layout.h:23
types.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
bpdt_entry
Definition:
cse_layout.h:73
bpdt_entry::size
uint32_t size
Definition:
cse_layout.h:76
bpdt_entry::type
uint32_t type
Definition:
cse_layout.h:74
bpdt_entry::offset
uint32_t offset
Definition:
cse_layout.h:75
bpdt_header
Definition:
cse_layout.h:35
bpdt_header::major
uint16_t major
Definition:
cse_layout.h:43
bpdt_header::hotfix
uint16_t hotfix
Definition:
cse_layout.h:46
bpdt_header::fit_tool_version
struct bpdt_header::@538 fit_tool_version
bpdt_header::checksum
uint32_t checksum
Definition:
cse_layout.h:40
bpdt_header::version
uint8_t version
Definition:
cse_layout.h:38
bpdt_header::ifwi_version
uint32_t ifwi_version
Definition:
cse_layout.h:41
bpdt_header::flags
uint8_t flags
Definition:
cse_layout.h:39
bpdt_header::build
uint16_t build
Definition:
cse_layout.h:45
bpdt_header::minor
uint16_t minor
Definition:
cse_layout.h:44
bpdt_header::descriptor_count
uint16_t descriptor_count
Definition:
cse_layout.h:37
bpdt_header::signature
uint32_t signature
Definition:
cse_layout.h:36
cse_layout
Definition:
cse_layout.h:50
cse_layout::bp2_size
uint32_t bp2_size
Definition:
cse_layout.h:60
cse_layout::bp4_offset
uint32_t bp4_offset
Definition:
cse_layout.h:63
cse_layout::checksum
uint32_t checksum
Definition:
cse_layout.h:54
cse_layout::bp5_size
uint32_t bp5_size
Definition:
cse_layout.h:66
cse_layout::bp3_offset
uint32_t bp3_offset
Definition:
cse_layout.h:61
cse_layout::bp1_offset
uint32_t bp1_offset
Definition:
cse_layout.h:57
cse_layout::flog_offset
uint32_t flog_offset
Definition:
cse_layout.h:69
cse_layout::bp3_size
uint32_t bp3_size
Definition:
cse_layout.h:62
cse_layout::bp5_offset
uint32_t bp5_offset
Definition:
cse_layout.h:65
cse_layout::redundancy
uint16_t redundancy
Definition:
cse_layout.h:53
cse_layout::temp_base_addr
uint32_t temp_base_addr
Definition:
cse_layout.h:67
cse_layout::data_offset
uint32_t data_offset
Definition:
cse_layout.h:55
cse_layout::rom_bypass
uint8_t rom_bypass[16]
Definition:
cse_layout.h:51
cse_layout::bp1_size
uint32_t bp1_size
Definition:
cse_layout.h:58
cse_layout::data_size
uint32_t data_size
Definition:
cse_layout.h:56
cse_layout::temp_base_size
uint32_t temp_base_size
Definition:
cse_layout.h:68
cse_layout::size
uint16_t size
Definition:
cse_layout.h:52
cse_layout::flog_size
uint32_t flog_size
Definition:
cse_layout.h:70
cse_layout::bp4_size
uint32_t bp4_size
Definition:
cse_layout.h:64
cse_layout::bp2_offset
uint32_t bp2_offset
Definition:
cse_layout.h:59
subpart_entry_manifest_header
Definition:
cse_layout.h:97
subpart_entry_manifest_header::hotfix
uint16_t hotfix
Definition:
cse_layout.h:103
subpart_entry_manifest_header::reserved
uint8_t reserved[36]
Definition:
cse_layout.h:98
subpart_entry_manifest_header::major
uint16_t major
Definition:
cse_layout.h:100
subpart_entry_manifest_header::minor
uint16_t minor
Definition:
cse_layout.h:101
subpart_entry_manifest_header::binary_version
struct subpart_entry_manifest_header::@539 binary_version
subpart_entry_manifest_header::build
uint16_t build
Definition:
cse_layout.h:102
subpart_entry
Definition:
cse_layout.h:90
subpart_entry::name
uint8_t name[12]
Definition:
cse_layout.h:91
subpart_entry::offset_bytes
uint32_t offset_bytes
Definition:
cse_layout.h:92
subpart_entry::length
uint32_t length
Definition:
cse_layout.h:93
subpart_entry::rsvd2
uint32_t rsvd2
Definition:
cse_layout.h:94
subpart_hdr
Definition:
cse_layout.h:79
subpart_hdr::reserved
uint8_t reserved
Definition:
cse_layout.h:85
subpart_hdr::length
uint8_t length
Definition:
cse_layout.h:84
subpart_hdr::hdr_version
uint8_t hdr_version
Definition:
cse_layout.h:82
subpart_hdr::entry_version
uint8_t entry_version
Definition:
cse_layout.h:83
subpart_hdr::count
uint32_t count
Definition:
cse_layout.h:81
subpart_hdr::checksum
uint32_t checksum
Definition:
cse_layout.h:87
subpart_hdr::name
uint8_t name[4]
Definition:
cse_layout.h:86
subpart_hdr::signature
uint32_t signature
Definition:
cse_layout.h:80
src
soc
intel
common
block
include
intelblocks
cse_layout.h
Generated by
1.9.1