11#include <sys/kassert.h>
12#include <sys/kdebug.h>
16#include <machine/pmap.h>
76 kprintf(
"Slab: Cannot grow XMem region!\n");
83 for (i = 0; i < objs; i++) {
152 kprintf(
"%-36s %-10s %-10s %-10s\n",
"Slab Name",
"Alloc",
"Free",
"Total");
154 kprintf(
"%-36s %-10lld %-10lld %-10lld\n", slab->
name,
int kprintf(const char *fmt,...)
#define REGISTER_DBGCMD(_NAME, _DESC, _FUNC)
void Slab_Init(Slab *slab, const char *name, uintptr_t objsz, uintptr_t align)
#define LIST_REMOVE(elm, field)
#define LIST_HEAD_INITIALIZER(head)
#define LIST_FOREACH(var, head, field)
#define LIST_INSERT_HEAD(head, elm, field)
#define LIST_HEAD(name, type)
void Slab_Free(Slab *slab, void *region)
void * Slab_Alloc(Slab *slab)
static void Debug_Slabs(int argc, const char *argv[])
int SlabExtend(Slab *slab)
void Spinlock_Unlock(Spinlock *lock) __UNLOCK_EX(*lock)
#define SPINLOCK_TYPE_NORMAL
void Spinlock_Lock(Spinlock *lock) __LOCK_EX(*lock)
void Spinlock_Init(Spinlock *lock, const char *name, uint64_t type)
char * strncpy(char *to, const char *from, size_t len)
uintptr_t XMem_GetLength(XMem *xmem)
bool XMem_Allocate(XMem *xmem, uintptr_t length)
uintptr_t XMem_GetBase(XMem *xmem)