[heap] Add API used by Dartino to get arena list

This commit is contained in:
Erik Corry
2016-03-23 00:23:18 +01:00
parent 68447dbeca
commit 6d0122b98e
9 changed files with 59 additions and 7 deletions

View File

@@ -64,6 +64,17 @@ extern int _end_of_ram;
#endif
struct novm_arena arena[NOVM_MAX_ARENAS];
int novm_get_arenas(struct page_range* ranges, int number_of_ranges)
{
int ranges_found = 0;
for (int i = 0; i < number_of_ranges && i < NOVM_MAX_ARENAS; i++) {
if (arena[i].pages > 0) ranges_found = i + 1;
ranges[i].address = (void*)arena[i].base;
ranges[i].size = arena[i].pages << PAGE_SIZE_SHIFT;
}
return ranges_found;
}
void *novm_alloc_unaligned(size_t *size_return)
{
/* only do the unaligned thing in the first arena */