1234567891011121314151617181920212223 |
- /*
- * sbrk allocator
- */
- #include <stddef.h>
- #include <errno.h>
- #include "sys.h"
- #include "fw.h"
- void *_sbrk(size_t increment)
- {
- static size_t cur_brk = (size_t)_end;
- size_t old_brk = cur_brk;
- size_t new_brk = old_brk + increment;
- if (unlikely(new_brk > SRAM_SIZE - STACK_SIZE)) {
- errno = ENOMEM;
- return (void *)(-1);
- }
- cur_brk = new_brk;
- return (void *)old_brk;
- }
|