From 8a9bdb4a7e787081b44ebd3cf81543ca9eff1e10 Mon Sep 17 00:00:00 2001 From: Mark Johnston Date: Sun, 13 Sep 2020 10:19:21 -0400 Subject: sys/freebsd: add definitions for large pages Also add SHM_GROW_ON_WRITE, missed previously. --- sys/freebsd/ipc.txt | 18 +++++++++++++++--- sys/freebsd/ipc.txt.const | 5 +++++ 2 files changed, 20 insertions(+), 3 deletions(-) (limited to 'sys') 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 include +include include include include @@ -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 -- cgit mrf-deployment