diff options
author | Patrick Georgi <pgeorgi@chromium.org> | 2015-09-16 18:10:52 +0200 |
---|---|---|
committer | Patrick Georgi <pgeorgi@google.com> | 2015-12-11 11:40:18 +0100 |
commit | 8a3592eec3501a55cdc1799987f18489db86c25a (patch) | |
tree | e8fec7ce219dc572662b5507ee0092acc51c6e3f /util | |
parent | 929b60267c72f4e2fbb23125d4c96c5dd275272b (diff) | |
download | coreboot-8a3592eec3501a55cdc1799987f18489db86c25a.tar.xz |
build system: Switch to fmap based firmware layout
We still add a master header for compatibility purposes, and the default
layouts don't cover anything non-coreboot (eg. IFD regions) yet.
The default layouts can be overridden by specifying an fmd file, from
which the fmap is generated.
Future work:
- map IFD regions to fmap regions
- non-x86: build minimalistic trampolines that jump into the first cbfs
file, so the bootblock can be part of CBFS instead of reserving a
whole 64K for it.
- teach coreboot's cbfs code to work without the master header
- teach coreboot's cbfs code to work on different fmap regions
Change-Id: Id1085dcd5107cf0e02e8dc1e77dc0dd9497a819c
Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Reviewed-on: https://review.coreboot.org/11692
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Tested-by: build bot (Jenkins)
Diffstat (limited to 'util')
-rw-r--r-- | util/cbfstool/default-x86.fmd | 15 | ||||
-rw-r--r-- | util/cbfstool/default.fmd | 18 |
2 files changed, 33 insertions, 0 deletions
diff --git a/util/cbfstool/default-x86.fmd b/util/cbfstool/default-x86.fmd new file mode 100644 index 0000000000..f344ab2086 --- /dev/null +++ b/util/cbfstool/default-x86.fmd @@ -0,0 +1,15 @@ +# layout for firmware residing at top of 4GB address space +# +-------------+ <-- 4GB - ROM_SIZE / start of flash +# | unspecified | +# +-------------+ <-- 4GB - BIOS_SIZE +# | FMAP | +# +-------------+ <-- 4GB - BIOS_SIZE + FMAP_SIZE +# | CBFS | +# +-------------+ <-- 4GB / end of flash + +FLASH@##ROM_BASE## ##ROM_SIZE## { + BIOS@##BIOS_BASE## ##BIOS_SIZE## { + FMAP@##FMAP_BASE## ##FMAP_SIZE## + COREBOOT(CBFS)@##CBFS_BASE## ##CBFS_SIZE## + } +} diff --git a/util/cbfstool/default.fmd b/util/cbfstool/default.fmd new file mode 100644 index 0000000000..32ddfa4074 --- /dev/null +++ b/util/cbfstool/default.fmd @@ -0,0 +1,18 @@ +# layout for firmware when flash address space matches used address layout +# +-------------+ <-- 0 +# | unspecified | +# +-------------+ <-- BIOS_BASE +# | bootblock | +# +-------------+ <-- BIOS_BASE + 128K +# | FMAP | +# +-------------+ <-- BIOS_BASE + 128K + FMAP_SIZE +# | CBFS | +# +-------------+ <-- ROM_SIZE + +FLASH@##ROM_BASE## ##ROM_SIZE## { + BIOS@##BIOS_BASE## ##BIOS_SIZE## { + BOOTBLOCK 128K + FMAP@##FMAP_BASE## ##FMAP_SIZE## + COREBOOT(CBFS)@##CBFS_BASE## ##CBFS_SIZE## + } +} |