rusty_mos::kernel::syscall_impl

Function sys_create_shared_pool

Source
fn sys_create_shared_pool(va: u32, len: u32, perm: u32) -> u32
Expand description

SYSNO: 18, create a shared memory pool.

The va shall be aligned to a PAGE_SIZE and the whole memory needed shall be in range [[UTEMP, UTOP]).

Pages will be allocated in this syscall and mapped to the target virtual address one-by-one.

If any page was mapped to the address, it will be unmapped via page_insert.

The env will be bind to the pool and a record will be set in the Pool Manager.

ยงFailure

This syscall will return a negated-KError::Invalid if the va is out of the [[UTEMP, UTOP]) range, or is not aligned.

This syscall will return a negated-KError returned by page_insert.