aboutsummaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorMark Johnston <markjdb@gmail.com>2020-09-13 10:19:21 -0400
committerDmitry Vyukov <dvyukov@google.com>2020-09-13 17:15:57 +0200
commit8a9bdb4a7e787081b44ebd3cf81543ca9eff1e10 (patch)
tree38f36e87a4c7e09136bff206a593455aa8e41e3b /sys
parentd0a4af89ac097bb14c65d5017358e6a33164e9a9 (diff)
sys/freebsd: add definitions for large pages
Also add SHM_GROW_ON_WRITE, missed previously.
Diffstat (limited to 'sys')
-rw-r--r--sys/freebsd/ipc.txt18
-rw-r--r--sys/freebsd/ipc.txt.const5
2 files changed, 20 insertions, 3 deletions
diff --git a/sys/freebsd/ipc.txt b/sys/freebsd/ipc.txt
index fc94c3033..39bb8ade0 100644
--- a/sys/freebsd/ipc.txt
+++ b/sys/freebsd/ipc.txt
@@ -3,6 +3,7 @@
include <sys/types.h>
include <sys/fcntl.h>
+include <sys/filio.h>
include <sys/ipc.h>
include <sys/mman.h>
include <sys/msg.h>
@@ -61,11 +62,22 @@ shmctl$SHM_LOCK(shmid ipc_shm, cmd const[SHM_LOCK])
shmctl$SHM_UNLOCK(shmid ipc_shm, cmd const[SHM_UNLOCK])
shmdt(addr shmaddr)
-freebsd12_shm_open(path ptr[in, filename], flags flags[shm_open_flags], mode flags[open_mode])
-shm_open2(path ptr[in, filename], flags flags[shm_open_flags], mode flags[open_mode], shmflags flags[shm_open2_flags], name ptr[in, string])
+resource shmfd[fd]
+
+freebsd12_shm_open(path ptr[in, filename], flags flags[shm_open_flags], mode flags[open_mode]) shmfd
+shm_open2(path ptr[in, filename], flags flags[shm_open_flags], mode flags[open_mode], shmflags flags[shm_open2_flags], name ptr[in, string]) shmfd
shm_rename(from ptr[in, filename], to ptr[in, filename], flags flags[shm_rename_flags])
shm_unlink(path ptr[in, filename])
+ioctl$FIOSSHMLPGCNF(fd shmfd, cmd const[FIOSSHMLPGCNF], arg ptr[in, shmlgpgconf])
+ioctl$FIOGSHMLPGCNF(fd shmfd, cmd const[FIOGSHMLPGCNF], arg ptr[out, shmlgpgconf])
+
+shmlgpgconf {
+ psind int32
+ alloc int32
+ pad array[const[0, int32], 10]
+}
+
msgget_flags = IPC_CREAT, IPC_EXCL, S_IRUSR, S_IWUSR, S_IXUSR, S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH
msgbuf_type = 0, 1, 2, 3
msgsnd_flags = IPC_NOWAIT
@@ -76,7 +88,7 @@ sem_sem_id = 0, 1, 2, 3, 4
shmget_flags = IPC_CREAT, IPC_EXCL, S_IRUSR, S_IWUSR, S_IXUSR, S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH
shmat_flags = SHM_RND, SHM_RDONLY
shm_open_flags = O_RDONLY, O_RDWR, O_CREAT, O_EXCL, O_TRUNC
-shm_open2_flags = SHM_ALLOW_SEALING
+shm_open2_flags = SHM_ALLOW_SEALING, SHM_GROW_ON_WRITE, SHM_LARGEPAGE
shm_rename_flags = SHM_RENAME_EXCHANGE, SHM_RENAME_NOREPLACE
ipc_perm {
diff --git a/sys/freebsd/ipc.txt.const b/sys/freebsd/ipc.txt.const
index c9fe86600..57386860e 100644
--- a/sys/freebsd/ipc.txt.const
+++ b/sys/freebsd/ipc.txt.const
@@ -1,5 +1,7 @@
# Code generated by syz-sysgen. DO NOT EDIT.
arches = 386, amd64
+FIOGSHMLPGCNF = 1076913765
+FIOSSHMLPGCNF = 2150655588
GETALL = 6
GETNCNT = 3
GETPID = 4
@@ -25,7 +27,9 @@ SEM_UNDO = 4096
SETALL = 9
SETVAL = 8
SHM_ALLOW_SEALING = 1
+SHM_GROW_ON_WRITE = 2
SHM_INFO = 14
+SHM_LARGEPAGE = 4
SHM_LOCK = 11
SHM_RDONLY = 4096
SHM_RENAME_EXCHANGE = 2
@@ -35,6 +39,7 @@ SHM_STAT = 13
SHM_UNLOCK = 12
SYS___semctl = 510
SYS_freebsd12_shm_open = 482
+SYS_ioctl = 54
SYS_msgctl = 511
SYS_msgget = 225
SYS_msgrcv = 227