github.com/google/syzkaller@v0.0.0-20240517125934-c0f1611a36d6/sys/fuchsia/pager.txt (about)

     1  # Copyright 2022 syzkaller project authors. All rights reserved.
     2  # Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file.
     3  
     4  # See https://cs.opensource.google/fuchsia/fuchsia/+/main:zircon/vdso/pager.fidl
     5  
     6  include <zircon/syscalls.h>
     7  include <zircon/types.h>
     8  
     9  resource zx_pager[zx_handle]
    10  
    11  zx_pager_create(options flags[pager_create_opt], out ptr[out, zx_pager])
    12  zx_pager_create_vmo(pager zx_pager, options flags[pager_create_vmo_opt], port zx_port, key proc[1000, 16], size int64, out ptr[out, zx_vmo])
    13  zx_pager_detach_vmo(pager zx_pager, vmo zx_vmo)
    14  zx_pager_supply_pages(pager zx_pager, pager_vmo zx_vmo, offset int64, length int64, aux_vmo zx_vmo, aux_offset int64)
    15  zx_pager_op_range(pager zx_pager, op flags[pager_op_range_opt], pager_vmo zx_handle, offset int64, length int64, data int64)
    16  
    17  # TODO: syscalls marked `@next` are not yet included in the VDSO and need an additional header included if we want to fuzz them.
    18  zx_pager_query_dirty_ranges(pager zx_pager, pager_vmo zx_vmo, offset int64, length int64, buffer ptr[out, void], buffer_size len[buffer], actual ptr[out, int64], avail ptr[out, int64]) (disabled)
    19  zx_pager_query_vmo_stats(pager zx_pager, pager_vmo zx_vmo, options int32, buffer ptr[out, void], buffer_size len[buffer]) (disabled)
    20  
    21  pager_create_opt = 0
    22  pager_create_vmo_opt = 0, ZX_VMO_RESIZABLE, ZX_VMO_TRAP_DIRTY, ZX_VMO_DISCARDABLE
    23  pager_op_range_opt = ZX_PAGER_OP_DIRTY, ZX_PAGER_OP_FAIL, ZX_PAGER_OP_WRITEBACK_BEGIN, ZX_PAGER_OP_WRITEBACK_END