bloblist: Add functions to obtain base address and size
authorSimon Glass <sjg@chromium.org>
Thu, 13 Jan 2022 02:26:23 +0000 (19:26 -0700)
committerSimon Glass <sjg@chromium.org>
Thu, 13 Jan 2022 16:13:41 +0000 (09:13 -0700)
Add a few convenience functions to obtain useful information about the
bloblist.

Signed-off-by: Simon Glass <sjg@chromium.org>
common/bloblist.c
include/bloblist.h
test/bloblist.c

index 0049bb9..1ed9172 100644 (file)
@@ -367,6 +367,18 @@ int bloblist_finish(void)
        return 0;
 }
 
+ulong bloblist_get_base(void)
+{
+       return map_to_sysmem(gd->bloblist);
+}
+
+ulong bloblist_get_size(void)
+{
+       struct bloblist_hdr *hdr = gd->bloblist;
+
+       return hdr->size;
+}
+
 void bloblist_get_stats(ulong *basep, ulong *sizep, ulong *allocedp)
 {
        struct bloblist_hdr *hdr = gd->bloblist;
index 13f2b3f..d9e108d 100644 (file)
@@ -303,6 +303,20 @@ int bloblist_finish(void);
 void bloblist_get_stats(ulong *basep, ulong *sizep, ulong *allocedp);
 
 /**
+ * bloblist_get_base() - Get the base address of the bloblist
+ *
+ * @returns base address of bloblist
+ */
+ulong bloblist_get_base(void);
+
+/**
+ * bloblist_get_size() - Get the size of the bloblist
+ *
+ * @returns the size in bytes
+ */
+ulong bloblist_get_size(void);
+
+/**
  * bloblist_show_stats() - Show information about the bloblist
  *
  * This shows useful information about the bloblist on the console
index c5788d5..720be7e 100644 (file)
@@ -107,6 +107,8 @@ static int bloblist_test_blob(struct unit_test_state *uts)
        hdr = clear_bloblist();
        ut_assertnull(bloblist_find(TEST_TAG, TEST_BLOBLIST_SIZE));
        ut_assertok(bloblist_new(TEST_ADDR, TEST_BLOBLIST_SIZE, 0));
+       ut_asserteq(TEST_BLOBLIST_SIZE, bloblist_get_size());
+       ut_asserteq(TEST_ADDR, bloblist_get_base());
        ut_asserteq(map_to_sysmem(hdr), TEST_ADDR);
 
        /* Add a record and check that we can find it */