#include #include "string.h" #include "bios.h" static uint8_t *fseg_base = &edata; static uint8_t *malloc_top = &stext; void *malloc_align(int n, int align) { malloc_top = (uint8_t *) ((uintptr_t)(malloc_top - n) & -align); return malloc_top; } void *malloc_fseg_align(int n, int align) { void *p; fseg_base = (uint8_t *) (((uintptr_t)fseg_base + align - 1) & -align); p = fseg_base; fseg_base += n; return p; }