Structs

Page Table Entry flags

Page Table Entry

A buffer in user space. Kernel space code may use this struct to copy to/ read from user space. This struct is meaningless in case that the kernel page is present in the user side MemorySet.

Iterator to a UserBuffer returning u8

Functions

Copy *src: T to kernel space. src is a pointer in user space, dst is a pointer in kernel space.

Copy array *src: [T;len] to kernel space. src is a pointer in user space, dst is a pointer in kernel space.

Copy *src: T to user space. src is a pointer in kernel space, dst is a pointer in user space.

Copy array *src: [T;len] to user space. src is a pointer in kernel space, dst is a pointer in user space.

Automatically add '\0' in the end, so total written length is src.len() + 1 (with trailing '\0').

if existed_vec == None, a empty Vec will be created.

Translate the user space pointer ptr into a reference in user space through page table token

Translate the user space pointer ptr into a mutable reference in user space through page table token

Load a string from other address spaces into kernel space without an end \0.