1 /* SPDX-License-Identifier: GPL-2.0-only */
4 #include <fmap_config.h>
5 #include <commonlib/bsd/cbfs_serialized.h>
7 struct cbfs_header header
= {
8 .magic
= cpu_to_be32(CBFS_HEADER_MAGIC
),
9 .version
= cpu_to_be32(CBFS_HEADER_VERSION
),
11 * The offset and romsize fields within the master header are absolute
12 * values within the boot media. As such, romsize needs to reflect
13 * the end 'offset' for a CBFS. To achieve that the current buffer
14 * representing the CBFS region's size is added to the offset of
15 * the region within a larger image.
17 .romsize
= cpu_to_be32(FMAP_SECTION_COREBOOT_START
+ FMAP_SECTION_COREBOOT_SIZE
18 - FMAP_SECTION_FLASH_START
),
20 * The 4 bytes are left out for two reasons:
21 * 1. the cbfs master header pointer resides there
22 * 2. some cbfs implementations assume that an image that resides
23 * below 4GB has a bootblock and get confused when the end of the
24 * image is at 4GB == 0.
26 .bootblocksize
= cpu_to_be32(4),
27 .align
= cpu_to_be32(CBFS_ALIGNMENT
),
28 .offset
= cpu_to_be32(FMAP_SECTION_COREBOOT_START
- FMAP_SECTION_FLASH_START
),
29 .architecture
= cpu_to_be32(CBFS_ARCHITECTURE_UNKNOWN
),