[coreboot-gerrit] Patch set updated for coreboot: lib/fmap: provide RW region device support

Aaron Durbin (adurbin@chromium.org) gerrit at coreboot.org
Mon Aug 15 21:11:10 CEST 2016


Aaron Durbin (adurbin at chromium.org) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/16203

-gerrit

commit 8dcd0f9a5ce5af594e50133ecd8c5e0c063ab8b8
Author: Aaron Durbin <adurbin at chromium.org>
Date:   Fri Aug 12 12:42:04 2016 -0500

    lib/fmap: provide RW region device support
    
    Explicitly provide a RW view of an FMAP region. This is required
    for platforms which have separeate implemenations of a RO boot
    device and a RW boot device.
    
    BUG=chrome-os-partner:56151
    
    Change-Id: Ibafa3dc534f53a3d90487f3190c0f8a2e82858c2
    Signed-off-by: Aaron Durbin <adurbin at chromium.org>
---
 src/include/fmap.h |  4 ++++
 src/lib/fmap.c     | 10 ++++++++++
 2 files changed, 14 insertions(+)

diff --git a/src/include/fmap.h b/src/include/fmap.h
index 684a05c..5834831 100644
--- a/src/include/fmap.h
+++ b/src/include/fmap.h
@@ -27,6 +27,10 @@ int find_fmap_directory(struct region_device *fmrd);
  * 0 on success, < 0 on error. */
 int fmap_locate_area_as_rdev(const char *name, struct region_device *area);
 
+/* Just like fmap_locate_area_as_rdev(), however the region device is
+ * created from the RW boot device. */
+int fmap_locate_area_as_rdev_rw(const char *name, struct region_device *area);
+
 /* Locate the named area in the fmap and fill in a region with the
  * offset and size of that area within the boot media. Return 0 on success,
  * < 0 on error. */
diff --git a/src/lib/fmap.c b/src/lib/fmap.c
index bf99037..9602134 100644
--- a/src/lib/fmap.c
+++ b/src/lib/fmap.c
@@ -80,6 +80,16 @@ int fmap_locate_area_as_rdev(const char *name, struct region_device *area)
 	return boot_device_ro_subregion(&ar, area);
 }
 
+int fmap_locate_area_as_rdev_rw(const char *name, struct region_device *area)
+{
+	struct region ar;
+
+	if (fmap_locate_area(name, &ar))
+		return -1;
+
+	return boot_device_rw_subregion(&ar, area);
+}
+
 int fmap_locate_area(const char *name, struct region *ar)
 {
 	struct region_device fmrd;



More information about the coreboot-gerrit mailing list