#include #include #include #include #include #include #include #include #include #include void *umalloc(size_t size) { size_t allocsz = ALIGN_UP(size, 4096); uint8_t *out; int32_t ret = mman_map(NULL, allocsz, MMAN_MAP_PF_RW, 0, &out); if (out == NULL || ret != E_OK) { return NULL; } return out; } void ufree(void *addr) { if (addr != NULL) mman_unmap(addr); } void *urealloc(void *addr, size_t oldsize, size_t newsize) { void *tmp = umalloc(newsize); if (tmp == NULL) { return NULL; } string_memset(tmp, 0, newsize); string_memcpy(tmp, addr, oldsize); ufree(addr); return tmp; }