36 lines
842 B
C
36 lines
842 B
C
// SPDX-License-Identifier: MIT
|
|
|
|
#include <zinnia/mem.h>
|
|
#include <kernel/vdso.h>
|
|
|
|
zn_status_t zn_vmo_create(size_t length, zn_handle_t* out) {
|
|
return zn_syscall2(length, out, ZN_SYSCALL_VMO_CREATE);
|
|
}
|
|
|
|
VDSO_SYMBOL(zn_vmo_create);
|
|
|
|
zn_status_t zn_vmo_create_phys(uintptr_t phys_addr, size_t length, zn_handle_t* out) {
|
|
return zn_syscall3(phys_addr, length, out, ZN_SYSCALL_VMO_CREATE_PHYS);
|
|
}
|
|
|
|
VDSO_SYMBOL(zn_vmo_create_phys);
|
|
|
|
zn_status_t zn_vmo_map(
|
|
zn_handle_t vmo,
|
|
zn_handle_t vas,
|
|
uintptr_t vmo_offset,
|
|
uintptr_t* addr,
|
|
size_t bytes,
|
|
enum zn_vm_flags flags
|
|
) {
|
|
return zn_syscall6(vmo, vas, vmo_offset, addr, bytes, flags, ZN_SYSCALL_VMO_MAP);
|
|
}
|
|
|
|
VDSO_SYMBOL(zn_vmo_map);
|
|
|
|
zn_status_t zn_vas_create(zn_handle_t* out) {
|
|
return zn_syscall1(out, ZN_SYSCALL_VAS_CREATE);
|
|
}
|
|
|
|
VDSO_SYMBOL(zn_vas_create);
|