diff options
| author | Marco Vanotti <mvanotti@users.noreply.github.com> | 2018-11-20 20:56:43 -0800 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2018-11-21 05:56:43 +0100 |
| commit | d260249e707bef82e50614c32783a2afb808d8ea (patch) | |
| tree | 3eb984f4b9c84544fbe42c256c48208d01f22987 /sys | |
| parent | 5bb36a9ef8c850e01185e9db74a3517bb1670799 (diff) | |
sys/fuchsia: update VMAR syscalls
* sys/fuchsia: update vmar syscalls.
In a previous zircon commit[0], the vmar related syscalls (like
`zx_vmar_map`, `zx_vmar_protect` and `zx_vmar_allocate`) changed the
order of their parameters, making putting the flags parameter as the
second parameter, and renaming it to "options".
This commit modifies vmars.txt so that it reflects the latest state of
the syscalls in zircon. I also modified the usage in
`executor/common_fuchsia.h`
I ran make extract, make generate and compiled syzkaller to test this
change.
[0]: https://fuchsia-review.googlesource.com/c/zircon/+/168060
* sys/fuchsia run make generate
This commit is just the result of running make generate after its
parent. This regenerates the definitions for the modified VMAR syscalls.
Diffstat (limited to 'sys')
| -rw-r--r-- | sys/fuchsia/gen/amd64.go | 8 | ||||
| -rw-r--r-- | sys/fuchsia/gen/arm64.go | 8 | ||||
| -rw-r--r-- | sys/fuchsia/vmars.txt | 12 |
3 files changed, 14 insertions, 14 deletions
diff --git a/sys/fuchsia/gen/amd64.go b/sys/fuchsia/gen/amd64.go index 7cc4f25af..1291e8cc2 100644 --- a/sys/fuchsia/gen/amd64.go +++ b/sys/fuchsia/gen/amd64.go @@ -6955,9 +6955,9 @@ var syscalls_amd64 = []*Syscall{ }}, {Name: "zx_vmar_allocate", CallName: "zx_vmar_allocate", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "zx_vmar", FldName: "parent_handle", TypeSize: 4}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "vmar_allocate_options", FldName: "options", TypeSize: 8}}, Vals: []uint64{8, 16, 64, 128, 256, 512}, BitMask: true}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "offset", TypeSize: 8}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "size", TypeSize: 8}}}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "vmar_allocate_flags", FldName: "map_flags", TypeSize: 8}}, Vals: []uint64{8, 16, 64, 128, 256, 512}, BitMask: true}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "out", TypeSize: 8}, Type: &ResourceType{TypeCommon: TypeCommon{TypeName: "zx_vmar", TypeSize: 4, ArgDir: 1}}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "child_addr", TypeSize: 8}, Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", TypeSize: 8, ArgDir: 1}}}}, }}, @@ -6966,18 +6966,18 @@ var syscalls_amd64 = []*Syscall{ }}, {Name: "zx_vmar_map", CallName: "zx_vmar_map", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "zx_vmar", FldName: "handle", TypeSize: 4}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "vmar_map_options", FldName: "options", TypeSize: 8}}, Vals: []uint64{16, 32, 1, 2, 4, 1024}, BitMask: true}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "vmar_offset", TypeSize: 8}}}, &ResourceType{TypeCommon: TypeCommon{TypeName: "zx_vmo", FldName: "vmo", TypeSize: 4}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "vmo_offset", TypeSize: 8}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "len", TypeSize: 8}}}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "vmar_map_flags", FldName: "map_flags", TypeSize: 8}}, Vals: []uint64{16, 32, 1, 2, 4, 1024}, BitMask: true}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "mapped_addr", TypeSize: 8}, Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", TypeSize: 8, ArgDir: 1}}}}, }}, {Name: "zx_vmar_protect", CallName: "zx_vmar_protect", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "zx_vmar", FldName: "handle", TypeSize: 4}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "vmar_protect_options", FldName: "options", TypeSize: 8}}, Vals: []uint64{1, 2, 4}, BitMask: true}, &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: "vmar_protect_flags", FldName: "prot_flags", TypeSize: 8}}, Vals: []uint64{1, 2, 4}, BitMask: true}, }}, {Name: "zx_vmar_unmap", CallName: "zx_vmar_unmap", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "zx_vmar", FldName: "handle", TypeSize: 4}}, @@ -7285,4 +7285,4 @@ var consts_amd64 = []ConstValue{ {Name: "fuchsia_power_Status_OK"}, } -const revision_amd64 = "e041d30459ccafba3164bdcadc41bd573fff973e" +const revision_amd64 = "dd1c90b2481bcb2c9dfb4a2b84b671cb2bf0d196" diff --git a/sys/fuchsia/gen/arm64.go b/sys/fuchsia/gen/arm64.go index 5eee9ea78..162ca7544 100644 --- a/sys/fuchsia/gen/arm64.go +++ b/sys/fuchsia/gen/arm64.go @@ -6955,9 +6955,9 @@ var syscalls_arm64 = []*Syscall{ }}, {Name: "zx_vmar_allocate", CallName: "zx_vmar_allocate", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "zx_vmar", FldName: "parent_handle", TypeSize: 4}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "vmar_allocate_options", FldName: "options", TypeSize: 8}}, Vals: []uint64{8, 16, 64, 128, 256, 512}, BitMask: true}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "offset", TypeSize: 8}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "size", TypeSize: 8}}}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "vmar_allocate_flags", FldName: "map_flags", TypeSize: 8}}, Vals: []uint64{8, 16, 64, 128, 256, 512}, BitMask: true}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "out", TypeSize: 8}, Type: &ResourceType{TypeCommon: TypeCommon{TypeName: "zx_vmar", TypeSize: 4, ArgDir: 1}}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "child_addr", TypeSize: 8}, Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", TypeSize: 8, ArgDir: 1}}}}, }}, @@ -6966,18 +6966,18 @@ var syscalls_arm64 = []*Syscall{ }}, {Name: "zx_vmar_map", CallName: "zx_vmar_map", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "zx_vmar", FldName: "handle", TypeSize: 4}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "vmar_map_options", FldName: "options", TypeSize: 8}}, Vals: []uint64{16, 32, 1, 2, 4, 1024}, BitMask: true}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "vmar_offset", TypeSize: 8}}}, &ResourceType{TypeCommon: TypeCommon{TypeName: "zx_vmo", FldName: "vmo", TypeSize: 4}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "vmo_offset", TypeSize: 8}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "len", TypeSize: 8}}}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "vmar_map_flags", FldName: "map_flags", TypeSize: 8}}, Vals: []uint64{16, 32, 1, 2, 4, 1024}, BitMask: true}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "mapped_addr", TypeSize: 8}, Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", TypeSize: 8, ArgDir: 1}}}}, }}, {Name: "zx_vmar_protect", CallName: "zx_vmar_protect", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "zx_vmar", FldName: "handle", TypeSize: 4}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "vmar_protect_options", FldName: "options", TypeSize: 8}}, Vals: []uint64{1, 2, 4}, BitMask: true}, &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: "vmar_protect_flags", FldName: "prot_flags", TypeSize: 8}}, Vals: []uint64{1, 2, 4}, BitMask: true}, }}, {Name: "zx_vmar_unmap", CallName: "zx_vmar_unmap", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "zx_vmar", FldName: "handle", TypeSize: 4}}, @@ -7285,4 +7285,4 @@ var consts_arm64 = []ConstValue{ {Name: "fuchsia_power_Status_OK"}, } -const revision_arm64 = "675d49c5342ae2300c2f2d45d826af5790a2ad4a" +const revision_arm64 = "e947153b4adcbaea981564a646566a4efa8fdffd" diff --git a/sys/fuchsia/vmars.txt b/sys/fuchsia/vmars.txt index e9f0a2bd6..ed986f900 100644 --- a/sys/fuchsia/vmars.txt +++ b/sys/fuchsia/vmars.txt @@ -5,12 +5,12 @@ include <zircon/syscalls.h> resource zx_vmar[zx_handle] -zx_vmar_allocate(parent_handle zx_vmar, offset intptr, size intptr, map_flags flags[vmar_allocate_flags], out ptr[out, zx_vmar], child_addr ptr[out, intptr]) -zx_vmar_map(handle zx_vmar, vmar_offset intptr, vmo zx_vmo, vmo_offset int64, len intptr, map_flags flags[vmar_map_flags], mapped_addr ptr[out, intptr]) +zx_vmar_allocate(parent_handle zx_vmar, options flags[vmar_allocate_options], offset intptr, size intptr, out ptr[out, zx_vmar], child_addr ptr[out, intptr]) +zx_vmar_map(handle zx_vmar, options flags[vmar_map_options], vmar_offset intptr, vmo zx_vmo, vmo_offset int64, len intptr, mapped_addr ptr[out, intptr]) zx_vmar_unmap(handle zx_vmar, addr vma, len len[addr]) -zx_vmar_protect(handle zx_vmar, addr vma, len len[addr], prot_flags flags[vmar_protect_flags]) +zx_vmar_protect(handle zx_vmar, options flags[vmar_protect_options], addr vma, len len[addr]) zx_vmar_destroy(handle zx_vmar) -vmar_allocate_flags = ZX_VM_FLAG_COMPACT, ZX_VM_FLAG_SPECIFIC, ZX_VM_FLAG_CAN_MAP_SPECIFIC, ZX_VM_FLAG_CAN_MAP_READ, ZX_VM_FLAG_CAN_MAP_WRITE, ZX_VM_FLAG_CAN_MAP_EXECUTE -vmar_map_flags = ZX_VM_FLAG_SPECIFIC, ZX_VM_FLAG_SPECIFIC_OVERWRITE, ZX_VM_FLAG_PERM_READ, ZX_VM_FLAG_PERM_WRITE, ZX_VM_FLAG_PERM_EXECUTE, ZX_VM_FLAG_MAP_RANGE -vmar_protect_flags = ZX_VM_FLAG_PERM_READ, ZX_VM_FLAG_PERM_WRITE, ZX_VM_FLAG_PERM_EXECUTE +vmar_allocate_options = ZX_VM_FLAG_COMPACT, ZX_VM_FLAG_SPECIFIC, ZX_VM_FLAG_CAN_MAP_SPECIFIC, ZX_VM_FLAG_CAN_MAP_READ, ZX_VM_FLAG_CAN_MAP_WRITE, ZX_VM_FLAG_CAN_MAP_EXECUTE +vmar_map_options = ZX_VM_FLAG_SPECIFIC, ZX_VM_FLAG_SPECIFIC_OVERWRITE, ZX_VM_FLAG_PERM_READ, ZX_VM_FLAG_PERM_WRITE, ZX_VM_FLAG_PERM_EXECUTE, ZX_VM_FLAG_MAP_RANGE +vmar_protect_options = ZX_VM_FLAG_PERM_READ, ZX_VM_FLAG_PERM_WRITE, ZX_VM_FLAG_PERM_EXECUTE |
