I'd like to know, too.
Currently, I'm doing something like this:
void *allocateMem(u64 size)
{
void *ret;
u32 code;
svcControlMemory(&ret, 0x0, 0x0, size, MEMOP_ALLOC_LINEAR, MEMPERM_READ | MEMPERM_WRITE);
return ret;
}
void freeMem(void *block, u64 size)
{
u32 dummy...