67 lines · 841 B · C
RawDownload
/* * allocate uncached memory */#include "u.h"#include "../port/lib.h"#include "mem.h"#include "dat.h"#include "fns.h" static void*ucarena(usize size){	void *uv, *v; 	assert(size == 1*MiB); 	if((v = mallocalign(1*MiB, 1*MiB, 0, 0)) == nil){		return nil;	}	if((uv = mmuuncache(v, 1*MiB)) == nil){		free(v);		return nil;	}	return uv;} voiducfree(void* v){	if(v == nil)		return;} void*ucalloc(usize size){	assert(size < 1*MiB);	panic("ucalloc: implement me");	return nil;} void*ucallocalign(usize size, int align, int span){	assert(size+align+span < 1*MiB);	panic("ucallocalign: implement me");	return nil;} void *ucallocz(uint n, int){	char *p; 	p = ucalloc(n);	if (p)		memset(p, 0, n);	else		panic("ucallocz: out of memory");	return p;} void *ucsalloc(uint n){	return ucallocz(n, 1);}