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>
This commit is contained in:
parent
6c36642c07
commit
4708612061
|
@ -48,6 +48,7 @@ enum fmap_flags {
|
||||||
FMAP_AREA_STATIC = 1 << 0,
|
FMAP_AREA_STATIC = 1 << 0,
|
||||||
FMAP_AREA_COMPRESSED = 1 << 1,
|
FMAP_AREA_COMPRESSED = 1 << 1,
|
||||||
FMAP_AREA_RO = 1 << 2,
|
FMAP_AREA_RO = 1 << 2,
|
||||||
|
FMAP_AREA_PRESERVE = 1 << 3,
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Mapping of volatile and static regions in firmware binary */
|
/* Mapping of volatile and static regions in firmware binary */
|
||||||
|
|
|
@ -48,6 +48,7 @@ enum fmap_flags {
|
||||||
FMAP_AREA_STATIC = 1 << 0,
|
FMAP_AREA_STATIC = 1 << 0,
|
||||||
FMAP_AREA_COMPRESSED = 1 << 1,
|
FMAP_AREA_COMPRESSED = 1 << 1,
|
||||||
FMAP_AREA_RO = 1 << 2,
|
FMAP_AREA_RO = 1 << 2,
|
||||||
|
FMAP_AREA_PRESERVE = 1 << 3,
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Mapping of volatile and static regions in firmware binary */
|
/* Mapping of volatile and static regions in firmware binary */
|
||||||
|
|
|
@ -59,6 +59,7 @@ const struct valstr flag_lut[] = {
|
||||||
{ FMAP_AREA_STATIC, "static" },
|
{ FMAP_AREA_STATIC, "static" },
|
||||||
{ FMAP_AREA_COMPRESSED, "compressed" },
|
{ FMAP_AREA_COMPRESSED, "compressed" },
|
||||||
{ FMAP_AREA_RO, "ro" },
|
{ FMAP_AREA_RO, "ro" },
|
||||||
|
{ FMAP_AREA_PRESERVE, "preserve" },
|
||||||
};
|
};
|
||||||
|
|
||||||
/* returns size of fmap data structure if successful, <0 to indicate error */
|
/* returns size of fmap data structure if successful, <0 to indicate error */
|
||||||
|
|
|
@ -49,6 +49,7 @@ enum fmap_flags {
|
||||||
FMAP_AREA_STATIC = 1 << 0,
|
FMAP_AREA_STATIC = 1 << 0,
|
||||||
FMAP_AREA_COMPRESSED = 1 << 1,
|
FMAP_AREA_COMPRESSED = 1 << 1,
|
||||||
FMAP_AREA_RO = 1 << 2,
|
FMAP_AREA_RO = 1 << 2,
|
||||||
|
FMAP_AREA_PRESERVE = 1 << 3,
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Mapping of volatile and static regions in firmware binary */
|
/* Mapping of volatile and static regions in firmware binary */
|
||||||
|
|
Loading…
Reference in New Issue