| # Copyright 2017 syzkaller project authors. All rights reserved. |
| # Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file. |
| |
| include <zircon/syscalls.h> |
| |
| resource zx_vmar[zx_handle] |
| |
| zx_vmar_allocate(parent_handle zx_vmar, allocate_flags flags[vmar_allocate_flags], offset intptr, size intptr, out ptr[out, zx_vmar], child_addr ptr[out, intptr]) |
| zx_vmar_map(handle zx_vmar, map_flags flags[vmar_map_flags], vmar_offset intptr, vmo zx_vmo, vmo_offset int64, len intptr, mapped_addr ptr[out, intptr]) |
| zx_vmar_unmap(handle zx_vmar, addr vma, len len[addr]) |
| zx_vmar_protect(handle zx_vmar, prot_flags flags[vmar_protect_flags], addr vma, len len[addr]) |
| zx_vmar_destroy(handle zx_vmar) |
| |
| vmar_allocate_flags = ZX_VM_COMPACT, ZX_VM_SPECIFIC, ZX_VM_CAN_MAP_SPECIFIC, ZX_VM_CAN_MAP_READ, ZX_VM_CAN_MAP_WRITE, ZX_VM_CAN_MAP_EXECUTE |
| vmar_map_flags = ZX_VM_SPECIFIC, ZX_VM_SPECIFIC_OVERWRITE, ZX_VM_PERM_READ, ZX_VM_PERM_WRITE, ZX_VM_PERM_EXECUTE, ZX_VM_MAP_RANGE |
| vmar_protect_flags = ZX_VM_PERM_READ, ZX_VM_PERM_WRITE, ZX_VM_PERM_EXECUTE |