diff options
| -rw-r--r-- | sys/linux/uffd.txt | 25 | ||||
| -rw-r--r-- | sys/linux/uffd.txt.const | 12 |
2 files changed, 33 insertions, 4 deletions
diff --git a/sys/linux/uffd.txt b/sys/linux/uffd.txt index 807baaef3..811cf2e78 100644 --- a/sys/linux/uffd.txt +++ b/sys/linux/uffd.txt @@ -15,12 +15,14 @@ ioctl$UFFDIO_UNREGISTER(fd fd_uffd, cmd const[UFFDIO_UNREGISTER], arg ptr[in, uf ioctl$UFFDIO_WAKE(fd fd_uffd, cmd const[UFFDIO_WAKE], arg ptr[in, uffdio_range]) ioctl$UFFDIO_COPY(fd fd_uffd, cmd const[UFFDIO_COPY], arg ptr[in, uffdio_copy]) ioctl$UFFDIO_ZEROPAGE(fd fd_uffd, cmd const[UFFDIO_ZEROPAGE], arg ptr[in, uffdio_zeropage]) +ioctl$UFFDIO_WRITEPROTECT(fd fd_uffd, cmd const[UFFDIO_WRITEPROTECT], arg ptr[in, uffdio_writeprotect]) +ioctl$UFFDIO_CONTINUE(fd fd_uffd, cmd const[UFFDIO_CONTINUE], arg ptr[in, uffdio_continue]) -userfaultfd_flags = O_NONBLOCK, O_CLOEXEC -uffdio_register_mode = UFFDIO_REGISTER_MODE_MISSING, UFFDIO_REGISTER_MODE_WP -uffdio_copy_mode = UFFDIO_COPY_MODE_DONTWAKE +userfaultfd_flags = O_NONBLOCK, O_CLOEXEC, UFFD_USER_MODE_ONLY +uffdio_register_mode = UFFDIO_REGISTER_MODE_MISSING, UFFDIO_REGISTER_MODE_WP, UFFDIO_REGISTER_MODE_MINOR +uffdio_copy_mode = UFFDIO_COPY_MODE_DONTWAKE, UFFDIO_COPY_MODE_WP uffdio_zero_mode = UFFDIO_ZEROPAGE_MODE_DONTWAKE -uffdio_features = UFFD_FEATURE_PAGEFAULT_FLAG_WP, UFFD_FEATURE_EVENT_FORK, UFFD_FEATURE_EVENT_REMAP, UFFD_FEATURE_EVENT_REMOVE, UFFD_FEATURE_MISSING_HUGETLBFS, UFFD_FEATURE_MISSING_SHMEM, UFFD_FEATURE_EVENT_UNMAP +uffdio_features = UFFD_FEATURE_PAGEFAULT_FLAG_WP, UFFD_FEATURE_EVENT_FORK, UFFD_FEATURE_EVENT_REMAP, UFFD_FEATURE_EVENT_REMOVE, UFFD_FEATURE_MISSING_HUGETLBFS, UFFD_FEATURE_MISSING_SHMEM, UFFD_FEATURE_EVENT_UNMAP, UFFD_FEATURE_SIGBUS, UFFD_FEATURE_THREAD_ID, UFFD_FEATURE_MINOR_HUGETLBFS, UFFD_FEATURE_MINOR_SHMEM uffdio_api { api const[UFFD_API, int64] @@ -52,3 +54,18 @@ uffdio_zeropage { mode flags[uffdio_zero_mode, int64] zeropg const[0, int64] } + +uffdio_writeprotect { + range uffdio_range + mode flags[uffdio_writeprotect_mode, int64] +} + +uffdio_writeprotect_mode = UFFDIO_WRITEPROTECT_MODE_WP, UFFDIO_WRITEPROTECT_MODE_DONTWAKE + +uffdio_continue { + range uffdio_range + mode flags[uffdio_continue_mode, int64] + mapped int64 (out) +} + +uffdio_continue_mode = UFFDIO_CONTINUE_MODE_DONTWAKE diff --git a/sys/linux/uffd.txt.const b/sys/linux/uffd.txt.const index 972475351..bcab8f462 100644 --- a/sys/linux/uffd.txt.const +++ b/sys/linux/uffd.txt.const @@ -3,13 +3,20 @@ arches = 386, amd64, arm, arm64, mips64le, ppc64le, riscv64, s390x O_CLOEXEC = 524288 O_NONBLOCK = 2048, mips64le:128 UFFDIO_API = 3222841919 +UFFDIO_CONTINUE = 3223366151 +UFFDIO_CONTINUE_MODE_DONTWAKE = 1 UFFDIO_COPY = 3223890435 UFFDIO_COPY_MODE_DONTWAKE = 1 +UFFDIO_COPY_MODE_WP = 2 UFFDIO_REGISTER = 3223366144 +UFFDIO_REGISTER_MODE_MINOR = 4 UFFDIO_REGISTER_MODE_MISSING = 1 UFFDIO_REGISTER_MODE_WP = 2 UFFDIO_UNREGISTER = 2148575745, mips64le:ppc64le:1074833921 UFFDIO_WAKE = 2148575746, mips64le:ppc64le:1074833922 +UFFDIO_WRITEPROTECT = 3222841862 +UFFDIO_WRITEPROTECT_MODE_DONTWAKE = 2 +UFFDIO_WRITEPROTECT_MODE_WP = 1 UFFDIO_ZEROPAGE = 3223366148 UFFDIO_ZEROPAGE_MODE_DONTWAKE = 1 UFFD_API = 170 @@ -17,8 +24,13 @@ UFFD_FEATURE_EVENT_FORK = 2 UFFD_FEATURE_EVENT_REMAP = 4 UFFD_FEATURE_EVENT_REMOVE = 8 UFFD_FEATURE_EVENT_UNMAP = 64 +UFFD_FEATURE_MINOR_HUGETLBFS = 512 +UFFD_FEATURE_MINOR_SHMEM = 1024 UFFD_FEATURE_MISSING_HUGETLBFS = 16 UFFD_FEATURE_MISSING_SHMEM = 32 UFFD_FEATURE_PAGEFAULT_FLAG_WP = 1 +UFFD_FEATURE_SIGBUS = 128 +UFFD_FEATURE_THREAD_ID = 256 +UFFD_USER_MODE_ONLY = 1 __NR_ioctl = 54, amd64:16, arm64:riscv64:29, mips64le:5015 __NR_userfaultfd = 282, 386:374, amd64:323, arm:388, mips64le:5317, ppc64le:364, s390x:355 |
