Move out memory allocation code
[chai.git] / memory.c
1 /* CBMA -- Cafe's Bad Memory Allocator */
2
3 #define CBMA_PAGES 1024
4 uint64_t cbma_bottom;
5
6 void init_cbma(int fd)
7 {
8         cbma_bottom = alloc_gpu_pages(fd, CBMA_PAGES, BASE_MEM_PROT_GPU_RD | BASE_MEM_PROT_GPU_WR | BASE_MEM_SAME_VA);
9 }
10
11 void* galloc(size_t sz)
12 {
13         cbma_bottom &= 0xFFFFFF00;
14         cbma_bottom += 0x100;
15         cbma_bottom += sz;
16         return (void*) (uint32_t) (cbma_bottom - sz);
17 }
18
19 void gfree(void* ptr)
20 {
21         printf("gfree %p", ptr);
22         /* TODO */
23 }
24
25