summaryrefslogtreecommitdiffstats
path: root/include/memory.h
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2011-09-23 10:39:35 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2011-09-23 16:32:49 +0200
commitfbd855d7f5995514644135e7ea88cee73350001d (patch)
tree51d002310f47de2ab0c53790c568676383e36bbb /include/memory.h
parentb4e4684958002255b311e27cb6b0b7fec7bf471e (diff)
downloadbarebox-fbd855d7f5995514644135e7ea88cee73350001d.tar.gz
barebox-fbd855d7f5995514644135e7ea88cee73350001d.tar.xz
introduce generic memory bank handling
On arm we have the concept of memory banks which can be registered and iterated over. This is useful for other architectures aswell, so add some generic infrastructure for this. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'include/memory.h')
-rw-r--r--include/memory.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/include/memory.h b/include/memory.h
index 67b19d7ff1..cb185afa65 100644
--- a/include/memory.h
+++ b/include/memory.h
@@ -2,9 +2,24 @@
#define __MEM_MALLOC_H
#include <linux/types.h>
+#include <linux/list.h>
void mem_malloc_init(void *start, void *end);
ulong mem_malloc_start(void);
ulong mem_malloc_end(void);
+struct memory_bank {
+ struct list_head list;
+ struct device_d *dev;
+ unsigned long start;
+ unsigned long size;
+};
+
+extern struct list_head memory_banks;
+
+void barebox_add_memory_bank(const char *name, resource_size_t start,
+ resource_size_t size);
+
+#define for_each_memory_bank(mem) list_for_each_entry(mem, &memory_banks, list)
+
#endif