summaryrefslogtreecommitdiff
path: root/util/cbfstool/flashmap
diff options
context:
space:
mode:
authorHung-Te Lin <hungte@chromium.org>2019-03-01 10:45:13 +0800
committerPatrick Georgi <pgeorgi@google.com>2019-03-04 13:25:01 +0000
commit470861206100f8f1aab63fda5359c31b3583cd2b (patch)
tree70b491a07aec34aa6f7dadf10b35a464b74b66d7 /util/cbfstool/flashmap
parent6c36642c0701daa3bc94aff3d8e1d66ee4cc21b1 (diff)
fmap: Add FMAP_AREA_PRESERVE
When updating firmware, we may need to preserve some sections like VPD, calibration data, ... etc. The logic can be hard-coded in updater as a list of known names, but a better solution is to have that directly declared inside FMAP area flags. To do that, the first step is to apply the changes in flash map (http://crosreview.com/1493767). A new FMAP_AREA_PRESERVE is now defined and will be set in future with new syntax in FMD parser. BUG=chromium:936768 TEST=make; boots an x86 image. Change-Id: Idba5c8d4a4c5d272f22be85d2054c6c0ce020b1b Signed-off-by: Hung-Te Lin <hungte@chromium.org> Reviewed-on: https://review.coreboot.org/c/31676 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Furquan Shaikh <furquan@google.com>
Diffstat (limited to 'util/cbfstool/flashmap')
-rw-r--r--util/cbfstool/flashmap/fmap.c1
-rw-r--r--util/cbfstool/flashmap/fmap.h1
2 files changed, 2 insertions, 0 deletions
diff --git a/util/cbfstool/flashmap/fmap.c b/util/cbfstool/flashmap/fmap.c
index 733f468390..f1d2fb9e0c 100644
--- a/util/cbfstool/flashmap/fmap.c
+++ b/util/cbfstool/flashmap/fmap.c
@@ -59,6 +59,7 @@ const struct valstr flag_lut[] = {
{ FMAP_AREA_STATIC, "static" },
{ FMAP_AREA_COMPRESSED, "compressed" },
{ FMAP_AREA_RO, "ro" },
+ { FMAP_AREA_PRESERVE, "preserve" },
};
/* returns size of fmap data structure if successful, <0 to indicate error */
diff --git a/util/cbfstool/flashmap/fmap.h b/util/cbfstool/flashmap/fmap.h
index 6e2091fc4f..e360011328 100644
--- a/util/cbfstool/flashmap/fmap.h
+++ b/util/cbfstool/flashmap/fmap.h
@@ -49,6 +49,7 @@ enum fmap_flags {
FMAP_AREA_STATIC = 1 << 0,
FMAP_AREA_COMPRESSED = 1 << 1,
FMAP_AREA_RO = 1 << 2,
+ FMAP_AREA_PRESERVE = 1 << 3,
};
/* Mapping of volatile and static regions in firmware binary */