diff options
Diffstat (limited to 'common/memory.c')
-rw-r--r-- | common/memory.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/common/memory.c b/common/memory.c index 8f4a7681b0..4d59f15fec 100644 --- a/common/memory.c +++ b/common/memory.c @@ -21,6 +21,7 @@ */ #include <common.h> +#include <memory.h> /* * Begin and End of memory area for malloc(), and current "brk" @@ -69,3 +70,20 @@ void *sbrk(ptrdiff_t increment) return old; } + +LIST_HEAD(memory_banks); + +void barebox_add_memory_bank(const char *name, resource_size_t start, + resource_size_t size) +{ + struct memory_bank *bank = xzalloc(sizeof(*bank)); + struct device_d *dev; + + dev = add_mem_device(name, start, size, IORESOURCE_MEM_WRITEABLE); + + bank->dev = dev; + bank->start = start; + bank->size = size; + + list_add_tail(&bank->list, &memory_banks); +} |