From 79248ee88b39eb1a5b730f3bc0a995efed4d6a2c Mon Sep 17 00:00:00 2001 From: David Pursell Date: Wed, 30 Oct 2019 10:00:55 -0700 Subject: sys/fuchsia: remove deprecated exception APIs The port-based exception APIs have been deprecated on Fuchsia and will be removed shortly. Delete them from the syscall definitions and modify the Fuchsia executor to use the new channel-based APIs instead. --- sys/fuchsia/gen/amd64.go | 20 ++++---------------- sys/fuchsia/gen/arm64.go | 20 ++++---------------- sys/fuchsia/objects.txt | 2 +- sys/fuchsia/tasks.txt | 7 ++----- sys/fuchsia/tasks_amd64.const | 3 +-- sys/fuchsia/tasks_arm64.const | 3 +-- 6 files changed, 13 insertions(+), 42 deletions(-) (limited to 'sys') diff --git a/sys/fuchsia/gen/amd64.go b/sys/fuchsia/gen/amd64.go index 9f51a44e9..6d7ec5c40 100644 --- a/sys/fuchsia/gen/amd64.go +++ b/sys/fuchsia/gen/amd64.go @@ -4695,7 +4695,7 @@ var structDescs_amd64 = []*KeyedStruct{ }}}, {Key: StructKey{Name: "zx_info_thread", Dir: 1}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "zx_info_thread", TypeSize: 8, ArgDir: 1}, Fields: []Type{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "state", TypeSize: 4, ArgDir: 1}}}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "wait_exception_port_type", TypeSize: 4, ArgDir: 1}}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "wait_exception_channel_type", TypeSize: 4, ArgDir: 1}}}, }}}, {Key: StructKey{Name: "zx_info_thread_stats", Dir: 1}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "zx_info_thread_stats", TypeSize: 8, ArgDir: 1}, Fields: []Type{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "total_runtime", TypeSize: 8, ArgDir: 1}}}, @@ -7068,22 +7068,11 @@ var syscalls_amd64 = []*Syscall{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "version", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "array", ArgDir: 1, IsVarlen: true}}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "version_len", TypeSize: 8}}, Path: []string{"version"}}, }}, - {Name: "zx_task_bind_exception_port", CallName: "zx_task_bind_exception_port", Args: []Type{ - &ResourceType{TypeCommon: TypeCommon{TypeName: "zx_task", FldName: "task", TypeSize: 4}}, - &ResourceType{TypeCommon: TypeCommon{TypeName: "zx_port", FldName: "eport", TypeSize: 4}}, - &ProcType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "proc", FldName: "key", TypeSize: 8}}, ValuesStart: 1000, ValuesPerProc: 4}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "exception_port_options", FldName: "options", TypeSize: 8}}, Vals: []uint64{1}, BitMask: true}, - }}, {Name: "zx_task_create_exception_channel", CallName: "zx_task_create_exception_channel", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "zx_task", FldName: "task", TypeSize: 4}}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "exception_port_options", FldName: "options", TypeSize: 8}}, Vals: []uint64{1}, BitMask: true}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "exception_channel_options", FldName: "options", TypeSize: 8}}, Vals: []uint64{1}, BitMask: true}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "out", TypeSize: 8}, Type: &ResourceType{TypeCommon: TypeCommon{TypeName: "zx_chan", TypeSize: 4, ArgDir: 1}}}, }}, - {Name: "zx_task_resume_from_exception", CallName: "zx_task_resume_from_exception", Args: []Type{ - &ResourceType{TypeCommon: TypeCommon{TypeName: "zx_task", FldName: "task", TypeSize: 4}}, - &ResourceType{TypeCommon: TypeCommon{TypeName: "zx_port", FldName: "eport", TypeSize: 4}}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "task_resume_options", FldName: "options", TypeSize: 8}}, Vals: []uint64{2}, BitMask: true}, - }}, {Name: "zx_thread_create", CallName: "zx_thread_create", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "zx_process", FldName: "process", TypeSize: 4}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", IsVarlen: true}, Kind: 2}}, @@ -7357,7 +7346,7 @@ var consts_amd64 = []ConstValue{ {Name: "ZX_CLOCK_MONOTONIC"}, {Name: "ZX_CLOCK_THREAD", Value: 2}, {Name: "ZX_CLOCK_UTC", Value: 1}, - {Name: "ZX_EXCEPTION_PORT_DEBUGGER", Value: 1}, + {Name: "ZX_EXCEPTION_CHANNEL_DEBUGGER", Value: 1}, {Name: "ZX_HANDLE_INVALID"}, {Name: "ZX_INFO_BTI", Value: 20}, {Name: "ZX_INFO_CPU_STATS", Value: 16}, @@ -7403,7 +7392,6 @@ var consts_amd64 = []ConstValue{ {Name: "ZX_POL_NEW_VMO", Value: 4}, {Name: "ZX_POL_VMAR_WX", Value: 2}, {Name: "ZX_POL_WRONG_OBJECT", Value: 1}, - {Name: "ZX_RESUME_TRY_NEXT", Value: 2}, {Name: "ZX_RIGHT_DESTROY", Value: 512}, {Name: "ZX_RIGHT_DUPLICATE", Value: 1}, {Name: "ZX_RIGHT_ENUMERATE", Value: 256}, @@ -7487,4 +7475,4 @@ var consts_amd64 = []ConstValue{ {Name: "fuchsia_power_Status_OK"}, } -const revision_amd64 = "bdf3b9df3ff1d16e7a61432e4f19a866479775e2" +const revision_amd64 = "329fe6a047fa9d6a9ad388c2e46e5d3dc9ab6c72" diff --git a/sys/fuchsia/gen/arm64.go b/sys/fuchsia/gen/arm64.go index 25a01bf80..fbfd0f29e 100644 --- a/sys/fuchsia/gen/arm64.go +++ b/sys/fuchsia/gen/arm64.go @@ -4695,7 +4695,7 @@ var structDescs_arm64 = []*KeyedStruct{ }}}, {Key: StructKey{Name: "zx_info_thread", Dir: 1}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "zx_info_thread", TypeSize: 8, ArgDir: 1}, Fields: []Type{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "state", TypeSize: 4, ArgDir: 1}}}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "wait_exception_port_type", TypeSize: 4, ArgDir: 1}}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "wait_exception_channel_type", TypeSize: 4, ArgDir: 1}}}, }}}, {Key: StructKey{Name: "zx_info_thread_stats", Dir: 1}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "zx_info_thread_stats", TypeSize: 8, ArgDir: 1}, Fields: []Type{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "total_runtime", TypeSize: 8, ArgDir: 1}}}, @@ -7068,22 +7068,11 @@ var syscalls_arm64 = []*Syscall{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "version", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "array", ArgDir: 1, IsVarlen: true}}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "version_len", TypeSize: 8}}, Path: []string{"version"}}, }}, - {Name: "zx_task_bind_exception_port", CallName: "zx_task_bind_exception_port", Args: []Type{ - &ResourceType{TypeCommon: TypeCommon{TypeName: "zx_task", FldName: "task", TypeSize: 4}}, - &ResourceType{TypeCommon: TypeCommon{TypeName: "zx_port", FldName: "eport", TypeSize: 4}}, - &ProcType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "proc", FldName: "key", TypeSize: 8}}, ValuesStart: 1000, ValuesPerProc: 4}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "exception_port_options", FldName: "options", TypeSize: 8}}, Vals: []uint64{1}, BitMask: true}, - }}, {Name: "zx_task_create_exception_channel", CallName: "zx_task_create_exception_channel", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "zx_task", FldName: "task", TypeSize: 4}}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "exception_port_options", FldName: "options", TypeSize: 8}}, Vals: []uint64{1}, BitMask: true}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "exception_channel_options", FldName: "options", TypeSize: 8}}, Vals: []uint64{1}, BitMask: true}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "out", TypeSize: 8}, Type: &ResourceType{TypeCommon: TypeCommon{TypeName: "zx_chan", TypeSize: 4, ArgDir: 1}}}, }}, - {Name: "zx_task_resume_from_exception", CallName: "zx_task_resume_from_exception", Args: []Type{ - &ResourceType{TypeCommon: TypeCommon{TypeName: "zx_task", FldName: "task", TypeSize: 4}}, - &ResourceType{TypeCommon: TypeCommon{TypeName: "zx_port", FldName: "eport", TypeSize: 4}}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "task_resume_options", FldName: "options", TypeSize: 8}}, Vals: []uint64{2}, BitMask: true}, - }}, {Name: "zx_thread_create", CallName: "zx_thread_create", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "zx_process", FldName: "process", TypeSize: 4}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", IsVarlen: true}, Kind: 2}}, @@ -7357,7 +7346,7 @@ var consts_arm64 = []ConstValue{ {Name: "ZX_CLOCK_MONOTONIC"}, {Name: "ZX_CLOCK_THREAD", Value: 2}, {Name: "ZX_CLOCK_UTC", Value: 1}, - {Name: "ZX_EXCEPTION_PORT_DEBUGGER", Value: 1}, + {Name: "ZX_EXCEPTION_CHANNEL_DEBUGGER", Value: 1}, {Name: "ZX_HANDLE_INVALID"}, {Name: "ZX_INFO_BTI", Value: 20}, {Name: "ZX_INFO_CPU_STATS", Value: 16}, @@ -7403,7 +7392,6 @@ var consts_arm64 = []ConstValue{ {Name: "ZX_POL_NEW_VMO", Value: 4}, {Name: "ZX_POL_VMAR_WX", Value: 2}, {Name: "ZX_POL_WRONG_OBJECT", Value: 1}, - {Name: "ZX_RESUME_TRY_NEXT", Value: 2}, {Name: "ZX_RIGHT_DESTROY", Value: 512}, {Name: "ZX_RIGHT_DUPLICATE", Value: 1}, {Name: "ZX_RIGHT_ENUMERATE", Value: 256}, @@ -7487,4 +7475,4 @@ var consts_arm64 = []ConstValue{ {Name: "fuchsia_power_Status_OK"}, } -const revision_arm64 = "42bf2ab2b8b1b89317ed03575f5c42aec66d7a62" +const revision_arm64 = "e0903c549d1df4deee6c6891fa0b9220464983d4" diff --git a/sys/fuchsia/objects.txt b/sys/fuchsia/objects.txt index 8a43350f7..4cc7c186a 100644 --- a/sys/fuchsia/objects.txt +++ b/sys/fuchsia/objects.txt @@ -75,7 +75,7 @@ zx_info_process { zx_info_thread { state int32 - wait_exception_port_type int32 + wait_exception_channel_type int32 } zx_exception_report { diff --git a/sys/fuchsia/tasks.txt b/sys/fuchsia/tasks.txt index 48fcff106..9bf8b30c9 100644 --- a/sys/fuchsia/tasks.txt +++ b/sys/fuchsia/tasks.txt @@ -6,13 +6,10 @@ include resource zx_task[zx_handle] -zx_task_bind_exception_port(task zx_task, eport zx_port, key proc[1000, 4], options flags[exception_port_options]) -zx_task_create_exception_channel(task zx_task, options flags[exception_port_options], out ptr[out, zx_chan]) -zx_task_resume_from_exception(task zx_task, eport zx_port, options flags[task_resume_options]) +zx_task_create_exception_channel(task zx_task, options flags[exception_channel_options], out ptr[out, zx_chan]) # This is disabled until we figure out how to prevent executor from killing fuzzer (#594). # zx_task_kill(handle zx_task) # zx_task_suspend(handle zx_task, token ptr[out, zx_handle]) -exception_port_options = ZX_EXCEPTION_PORT_DEBUGGER -task_resume_options = ZX_RESUME_TRY_NEXT +exception_channel_options = ZX_EXCEPTION_CHANNEL_DEBUGGER diff --git a/sys/fuchsia/tasks_amd64.const b/sys/fuchsia/tasks_amd64.const index ea1606b18..9b3b187c1 100644 --- a/sys/fuchsia/tasks_amd64.const +++ b/sys/fuchsia/tasks_amd64.const @@ -1,3 +1,2 @@ # AUTOGENERATED FILE -ZX_EXCEPTION_PORT_DEBUGGER = 1 -ZX_RESUME_TRY_NEXT = 2 +ZX_EXCEPTION_CHANNEL_DEBUGGER = 1 diff --git a/sys/fuchsia/tasks_arm64.const b/sys/fuchsia/tasks_arm64.const index ea1606b18..9b3b187c1 100644 --- a/sys/fuchsia/tasks_arm64.const +++ b/sys/fuchsia/tasks_arm64.const @@ -1,3 +1,2 @@ # AUTOGENERATED FILE -ZX_EXCEPTION_PORT_DEBUGGER = 1 -ZX_RESUME_TRY_NEXT = 2 +ZX_EXCEPTION_CHANNEL_DEBUGGER = 1 -- cgit mrf-deployment