diff options
| author | Greg Steuck <blackgnezdo@gmail.com> | 2018-10-29 10:59:16 -0700 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2018-10-29 18:59:16 +0100 |
| commit | 2f1090dacdba3f3d405f43c136ae999f635e3310 (patch) | |
| tree | 3b66dc107f5cbd5cd36b392b4e95f770624346aa /sys | |
| parent | fe65cc88ceb869e15bf40946027060b876f5fbcb (diff) | |
sys/openbsd: added minherit, extended/simplified mmap
* sys/openbsd: added minherit, extended/simplified mmap.
Added a script from anton_at_openbsd.org for regenerating syscalls.
Generated by ksh ./sys/openbsd/extract-openbsd.sh
* Undo whitespace change not passing on CI
* No need for magic script.
Diffstat (limited to 'sys')
| -rw-r--r-- | sys/openbsd/gen/amd64.go | 21 | ||||
| -rw-r--r-- | sys/openbsd/mm.txt | 6 | ||||
| -rw-r--r-- | sys/openbsd/mm_amd64.const | 10 |
3 files changed, 30 insertions, 7 deletions
diff --git a/sys/openbsd/gen/amd64.go b/sys/openbsd/gen/amd64.go index 4e7acb920..317e8f8e5 100644 --- a/sys/openbsd/gen/amd64.go +++ b/sys/openbsd/gen/amd64.go @@ -913,13 +913,18 @@ var syscalls_amd64 = []*Syscall{ {NR: 75, Name: "madvise", CallName: "madvise", Args: []Type{ &VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "addr", TypeSize: 8}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Buf: "addr"}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "madvise_flags", FldName: "advice", TypeSize: 8}}, Vals: []uint64{0, 1, 2, 3, 4, 6}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "madvise_flags", FldName: "advice", TypeSize: 8}}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6}}, }}, {NR: 78, Name: "mincore", CallName: "mincore", Args: []Type{ &VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "addr", TypeSize: 8}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 8}}, Buf: "addr"}, &PtrType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "vec", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{ArgDir: 1, IsVarlen: true}}}, }}, + {NR: 250, Name: "minherit", CallName: "minherit", Args: []Type{ + &VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "addr", TypeSize: 8}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Buf: "addr"}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "inherit_flags", FldName: "inherit", TypeSize: 8}}, Vals: []uint64{2, 1, 0, 3}}, + }}, {NR: 136, Name: "mkdir", CallName: "mkdir", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", IsVarlen: true}, Kind: 3}}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "open_mode", FldName: "mode", TypeSize: 8}}, Vals: []uint64{256, 128, 64, 32, 16, 8, 4, 2, 1}, BitMask: true}, @@ -956,7 +961,7 @@ var syscalls_amd64 = []*Syscall{ &VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "addr", TypeSize: 8}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Buf: "addr"}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "mmap_prot", FldName: "prot", TypeSize: 8}}, Vals: []uint64{4, 1, 2, 0}, BitMask: true}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "mmap_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{4096, 4096, 16, 2, 1}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "mmap_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{1, 2, 16, 4096, 16384, 8192, 2048}, BitMask: true}, &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "pad", TypeSize: 8}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "fileoff", FldName: "offset", TypeSize: 8}}, Kind: 1}, @@ -1581,12 +1586,17 @@ var consts_amd64 = []ConstValue{ {Name: "MADV_NORMAL"}, {Name: "MADV_RANDOM", Value: 1}, {Name: "MADV_SEQUENTIAL", Value: 2}, + {Name: "MADV_SPACEAVAIL", Value: 5}, {Name: "MADV_WILLNEED", Value: 3}, - {Name: "MAP_ANON", Value: 4096}, {Name: "MAP_ANONYMOUS", Value: 4096}, {Name: "MAP_FIXED", Value: 16}, + {Name: "MAP_INHERIT_COPY", Value: 1}, + {Name: "MAP_INHERIT_NONE", Value: 2}, + {Name: "MAP_INHERIT_SHARE"}, + {Name: "MAP_INHERIT_ZERO", Value: 3}, {Name: "MAP_PRIVATE", Value: 2}, {Name: "MAP_SHARED", Value: 1}, + {Name: "MAP_STACK", Value: 16384}, {Name: "MCL_CURRENT", Value: 1}, {Name: "MCL_FUTURE", Value: 2}, {Name: "MIFF_REGISTER", Value: 1}, @@ -1755,6 +1765,7 @@ var consts_amd64 = []ConstValue{ {Name: "SYS_lstat", Value: 40}, {Name: "SYS_madvise", Value: 75}, {Name: "SYS_mincore", Value: 78}, + {Name: "SYS_minherit", Value: 250}, {Name: "SYS_mkdir", Value: 136}, {Name: "SYS_mkdirat", Value: 318}, {Name: "SYS_mknod", Value: 14}, @@ -1878,6 +1889,8 @@ var consts_amd64 = []ConstValue{ {Name: "WCONTINUED", Value: 8}, {Name: "WNOHANG", Value: 1}, {Name: "WUNTRACED", Value: 2}, + {Name: "__MAP_NOFAULT", Value: 8192}, + {Name: "__MAP_NOREPLACE", Value: 2048}, } -const revision_amd64 = "b7a0cb1d6df43d07bd4ab11d2c4b1a2e1c046ac1" +const revision_amd64 = "df30b58093a18d87ed6803bfe65ec9af86f721a3" diff --git a/sys/openbsd/mm.txt b/sys/openbsd/mm.txt index b12f7a485..7a122655b 100644 --- a/sys/openbsd/mm.txt +++ b/sys/openbsd/mm.txt @@ -12,8 +12,10 @@ mlock(addr vma, size len[addr]) munlock(addr vma, size len[addr]) mlockall(flags flags[mlockall_flags]) munlockall() +minherit(addr vma, len len[addr], inherit flags[inherit_flags]) mmap_prot = PROT_EXEC, PROT_READ, PROT_WRITE, PROT_NONE -mmap_flags = MAP_ANON, MAP_ANONYMOUS, MAP_FIXED, MAP_PRIVATE, MAP_SHARED -madvise_flags = MADV_NORMAL, MADV_RANDOM, MADV_SEQUENTIAL, MADV_WILLNEED, MADV_DONTNEED, MADV_FREE +mmap_flags = MAP_SHARED, MAP_PRIVATE, MAP_FIXED, MAP_ANONYMOUS, MAP_STACK, __MAP_NOFAULT, __MAP_NOREPLACE +madvise_flags = MADV_NORMAL, MADV_RANDOM, MADV_SEQUENTIAL, MADV_WILLNEED, MADV_DONTNEED, MADV_SPACEAVAIL, MADV_FREE mlockall_flags = MCL_CURRENT, MCL_FUTURE +inherit_flags = MAP_INHERIT_NONE, MAP_INHERIT_COPY, MAP_INHERIT_SHARE, MAP_INHERIT_ZERO diff --git a/sys/openbsd/mm_amd64.const b/sys/openbsd/mm_amd64.const index e9a33c91a..25fbef1af 100644 --- a/sys/openbsd/mm_amd64.const +++ b/sys/openbsd/mm_amd64.const @@ -4,12 +4,17 @@ MADV_FREE = 6 MADV_NORMAL = 0 MADV_RANDOM = 1 MADV_SEQUENTIAL = 2 +MADV_SPACEAVAIL = 5 MADV_WILLNEED = 3 -MAP_ANON = 4096 MAP_ANONYMOUS = 4096 MAP_FIXED = 16 +MAP_INHERIT_COPY = 1 +MAP_INHERIT_NONE = 2 +MAP_INHERIT_SHARE = 0 +MAP_INHERIT_ZERO = 3 MAP_PRIVATE = 2 MAP_SHARED = 1 +MAP_STACK = 16384 MCL_CURRENT = 1 MCL_FUTURE = 2 PROT_EXEC = 4 @@ -17,6 +22,7 @@ PROT_NONE = 0 PROT_READ = 1 PROT_WRITE = 2 SYS_madvise = 75 +SYS_minherit = 250 SYS_mlock = 203 SYS_mlockall = 271 SYS_mmap = 197 @@ -24,3 +30,5 @@ SYS_mprotect = 74 SYS_munlock = 204 SYS_munlockall = 272 SYS_munmap = 73 +__MAP_NOFAULT = 8192 +__MAP_NOREPLACE = 2048 |
