This lets us allocate more than one page of memory from the user side.
Only supports one-page allocations and doesn't have libc wrappers, which means it has to be invoked using syscall().