xref: /aosp_15_r20/external/coreboot/util/cbfstool/fv.h (revision b9411a12aaaa7e1e6a6fb7c5e057f44ee179a49c)
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 
3 #define FV_SIGNATURE 0x4856465f
4 typedef struct {
5 	uint8_t  padding[16];
6 	uint8_t  guid[16];
7 	uint64_t fv_length;
8 	uint32_t signature;
9 	uint32_t attributes;
10 	uint16_t header_length;
11 	uint16_t checksum;
12 	uint16_t ext_header_offs;
13 	uint8_t  reserved;
14 	uint8_t  revision;
15 	/* not used here: block map entries */
16 } firmware_volume_header_t;
17 
18 #define FILETYPE_SEC 0x03
19 #define FILETYPE_PAD 0xf0
20 typedef struct {
21 	uint8_t  name[16];
22 	uint16_t integrity;
23 	uint8_t  file_type;
24 	uint8_t  attributes;
25 	uint8_t  size[3];
26 	uint8_t  state;
27 } ffs_file_header_t;
28 
29 #define SECTION_PE32 0x10
30 #define SECTION_RAW 0x19
31 typedef struct {
32 	uint8_t size[3];
33 	uint8_t section_type;
34 } common_section_header_t;
35 
36 typedef struct {
37 	uint8_t  guid[16];
38 	uint32_t ext_header_size;
39 } firmware_volume_ext_header_t;
40