aboutsummaryrefslogtreecommitdiff
path: root/src/include/bootmem.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/include/bootmem.h')
-rw-r--r--src/include/bootmem.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/include/bootmem.h b/src/include/bootmem.h
index 4964c18f38..161f482e13 100644
--- a/src/include/bootmem.h
+++ b/src/include/bootmem.h
@@ -68,6 +68,19 @@ void bootmem_add_range(uint64_t start, uint64_t size,
/* Print current range map of boot memory. */
void bootmem_dump_ranges(void);
+typedef bool (*range_action_t)(const struct range_entry *r, void *arg);
+
+/**
+ * Walk memory tables and call the provided function, for every region.
+ * The caller has to return false to break out of the loop any time, or
+ * return true to continue.
+ *
+ * @param action The function to call for each memory range.
+ * @param arg Pointer passed to function @action. Set to NULL if unused.
+ * @return true if the function 'action' returned false.
+ */
+bool bootmem_walk(range_action_t action, void *arg);
+
/* Return 1 if region targets usable RAM, 0 otherwise. */
int bootmem_region_targets_usable_ram(uint64_t start, uint64_t size);