diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2020-04-29 17:57:32 +0200 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2020-04-30 17:18:29 +0200 |
| commit | ec42220e7773fba548e379606fe445cb30f4c424 (patch) | |
| tree | ff6967f2eb11408cb99fe810f805c8c44d553832 /sys/trusty | |
| parent | 136082ab38d86932bc3ed0087694e99d0e55491b (diff) | |
Makefile: generate descriptions on-the-fly
Checking in the generated descriptions files makes few things simpler,
but causes pain for pull requests: (1) PRs that touch descriptions
_always_ conflict, (2) PRs are large and harder to review,
(3) people sometimes forget to add auto-generated files.
The proposed way does not require us to hardcode lots of dependencies
in the Makefile (which is nice) and seem to work.
Let's see how it works.
The main contributor-visible consequence is that the auto-generated
files do not need to be checked-in now.
Credit for figuring the Makefile magic goes to @melver.
Fixes #1291
Diffstat (limited to 'sys/trusty')
| -rw-r--r-- | sys/trusty/gen/arm.go | 226 | ||||
| -rw-r--r-- | sys/trusty/gen/empty.go | 3 |
2 files changed, 0 insertions, 229 deletions
diff --git a/sys/trusty/gen/arm.go b/sys/trusty/gen/arm.go deleted file mode 100644 index b504e7c38..000000000 --- a/sys/trusty/gen/arm.go +++ /dev/null @@ -1,226 +0,0 @@ -// AUTOGENERATED FILE -// +build !codeanalysis -// +build !syz_target syz_target,syz_os_trusty,syz_arch_arm - -package gen - -import . "github.com/google/syzkaller/prog" -import . "github.com/google/syzkaller/sys/trusty" - -func init() { - RegisterTarget(&Target{OS: "trusty", Arch: "arm", Revision: revision_arm, PtrSize: 4, PageSize: 4096, NumPages: 4096, DataOffset: 536870912, Syscalls: syscalls_arm, Resources: resources_arm, Structs: structDescs_arm, Types: types_arm, Consts: consts_arm}, InitTarget) -} - -var resources_arm = []*ResourceDesc(nil) - -var structDescs_arm = []*KeyedStruct{ - {StructKey{Name: "dma_pmem"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "dma_pmem", TypeSize: 4}, Fields: []Type{ - Ref(18), - }}}, - {StructKey{Name: "ipc_msg"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "ipc_msg", TypeSize: 4}, Fields: []Type{ - Ref(18), - }}}, - {StructKey{"ipc_msg", 1}, &StructDesc{TypeCommon: TypeCommon{TypeName: "ipc_msg", TypeSize: 4, ArgDir: 1}, Fields: []Type{ - Ref(17), - }}}, - {StructKey{Name: "ipc_msg_info"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "ipc_msg_info", TypeSize: 4}, Fields: []Type{ - Ref(18), - }}}, - {StructKey{Name: "uevent"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "uevent", TypeSize: 4}, Fields: []Type{ - Ref(18), - }}}, - {StructKey{"uevent", 1}, &StructDesc{TypeCommon: TypeCommon{TypeName: "uevent", TypeSize: 4, ArgDir: 1}, Fields: []Type{ - Ref(17), - }}}, - {StructKey{"uuid", 1}, &StructDesc{TypeCommon: TypeCommon{TypeName: "uuid", TypeSize: 4, ArgDir: 1}, Fields: []Type{ - Ref(17), - }}}, -} - -var syscalls_arm = []*Syscall{ - {NR: 18, Name: "accept", CallName: "accept", Args: []Type{ - Ref(9), - Ref(34), - }}, - {NR: 2, Name: "brk", CallName: "brk", Args: []Type{ - Ref(3), - }}, - {NR: 19, Name: "close", CallName: "close", Args: []Type{ - Ref(9), - }}, - {NR: 17, Name: "connect", CallName: "connect", Args: []Type{ - Ref(33), - Ref(7), - }}, - {NR: 3, Name: "exit_etc", CallName: "exit_etc", Args: []Type{ - Ref(15), - Ref(7), - }}, - {NR: 11, Name: "finish_dma", CallName: "finish_dma", Args: []Type{ - Ref(37), - Ref(23), - Ref(7), - }}, - {NR: 32, Name: "get_msg", CallName: "get_msg", Args: []Type{ - Ref(8), - Ref(32), - }}, - {NR: 7, Name: "gettime", CallName: "gettime", Args: []Type{ - Ref(4), - Ref(7), - Ref(36), - }}, - {NR: 21, Name: "handle_set_create", CallName: "handle_set_create"}, - {NR: 22, Name: "handle_set_ctrl", CallName: "handle_set_ctrl", Args: []Type{ - Ref(8), - Ref(5), - Ref(27), - }}, - {NR: 5, Name: "ioctl", CallName: "ioctl", Args: []Type{ - Ref(6), - Ref(14), - Ref(24), - }}, - {NR: 8, Name: "mmap", CallName: "mmap", Args: []Type{ - Ref(45), - Ref(23), - Ref(7), - Ref(8), - }}, - {NR: 9, Name: "munmap", CallName: "munmap", Args: []Type{ - Ref(45), - Ref(23), - }}, - {NR: 6, Name: "nanosleep", CallName: "nanosleep", Args: []Type{ - Ref(4), - Ref(7), - Ref(19), - }}, - {NR: 16, Name: "port_create", CallName: "port_create", Args: []Type{ - Ref(33), - Ref(11), - Ref(13), - Ref(7), - }}, - {NR: 10, Name: "prepare_dma", CallName: "prepare_dma", Args: []Type{ - Ref(37), - Ref(23), - Ref(7), - Ref(35), - }}, - {NR: 34, Name: "put_msg", CallName: "put_msg", Args: []Type{ - Ref(8), - Ref(10), - }}, - {NR: 4, Name: "read", CallName: "read", Args: []Type{ - Ref(6), - Ref(28), - Ref(22), - }}, - {NR: 33, Name: "read_msg", CallName: "read_msg", Args: []Type{ - Ref(8), - Ref(10), - Ref(12), - Ref(30), - }}, - {NR: 35, Name: "send_msg", CallName: "send_msg", Args: []Type{ - Ref(8), - Ref(31), - }}, - {NR: 20, Name: "set_cookie", CallName: "set_cookie", Args: []Type{ - Ref(8), - Ref(21), - }}, - {NR: 24, Name: "wait", CallName: "wait", Args: []Type{ - Ref(9), - Ref(26), - Ref(16), - }}, - {NR: 25, Name: "wait_any", CallName: "wait_any", Args: []Type{ - Ref(25), - Ref(16), - }}, - {NR: 1, Name: "write", CallName: "write", Args: []Type{ - Ref(6), - Ref(29), - Ref(22), - }}, -} - -var types_arm = []Type{ - &BufferType{TypeCommon: TypeCommon{TypeName: "array", ArgDir: 1, IsVarlen: true}}, - &BufferType{TypeCommon: TypeCommon{TypeName: "array", IsVarlen: true}}, - &BufferType{TypeCommon: TypeCommon{TypeName: "string", IsVarlen: true}, Kind: 2}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "brk", TypeSize: 4}}}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "clock_id", TypeSize: 4}}}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "cmd", TypeSize: 4}}}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "fd", TypeSize: 4}}}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "flags", TypeSize: 4}}}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "handle", TypeSize: 4}}}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "handle_id", TypeSize: 4}}}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "msg_id", TypeSize: 4}}}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "num_recv_bufs", TypeSize: 4}}}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "offset", TypeSize: 4}}}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "recv_buf_size", TypeSize: 4}}}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "req", TypeSize: 4}}}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "status", TypeSize: 4}}}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "timeout_msecs", TypeSize: 4}}}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "todo", TypeSize: 4, ArgDir: 1}}}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "todo", TypeSize: 4}}}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "sleep_time", TypeSize: 8}}}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", TypeSize: 8, ArgDir: 1}}}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "cookie", TypeSize: 4}}}, - &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 4}}, Path: []string{"msg"}}, - &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 4}}, Path: []string{"uaddr"}}, - &PtrType{TypeCommon{TypeName: "ptr", FldName: "buf", TypeSize: 4}, Ref(1)}, - &PtrType{TypeCommon{TypeName: "ptr", FldName: "event", TypeSize: 4}, Ref(39)}, - &PtrType{TypeCommon{TypeName: "ptr", FldName: "event", TypeSize: 4}, Ref(44)}, - &PtrType{TypeCommon{TypeName: "ptr", FldName: "evt", TypeSize: 4}, Ref(44)}, - &PtrType{TypeCommon{TypeName: "ptr", FldName: "msg", TypeSize: 4}, Ref(0)}, - &PtrType{TypeCommon{TypeName: "ptr", FldName: "msg", TypeSize: 4}, Ref(1)}, - &PtrType{TypeCommon{TypeName: "ptr", FldName: "msg", TypeSize: 4}, Ref(38)}, - &PtrType{TypeCommon{TypeName: "ptr", FldName: "msg", TypeSize: 4}, Ref(42)}, - &PtrType{TypeCommon{TypeName: "ptr", FldName: "msg_info", TypeSize: 4}, Ref(43)}, - &PtrType{TypeCommon{TypeName: "ptr", FldName: "path", TypeSize: 4}, Ref(2)}, - &PtrType{TypeCommon{TypeName: "ptr", FldName: "peer_uuid", TypeSize: 4}, Ref(40)}, - &PtrType{TypeCommon{TypeName: "ptr", FldName: "pmem", TypeSize: 4}, Ref(41)}, - &PtrType{TypeCommon{TypeName: "ptr", FldName: "time", TypeSize: 4}, Ref(20)}, - &PtrType{TypeCommon{TypeName: "ptr", FldName: "uaddr", TypeSize: 4}, Ref(0)}, - &StructType{Key: StructKey{"ipc_msg", 1}}, - &StructType{Key: StructKey{"uevent", 1}}, - &StructType{Key: StructKey{"uuid", 1}}, - &StructType{Key: StructKey{Name: "dma_pmem"}}, - &StructType{Key: StructKey{Name: "ipc_msg"}}, - &StructType{Key: StructKey{Name: "ipc_msg_info"}}, - &StructType{Key: StructKey{Name: "uevent"}}, - &VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "uaddr", TypeSize: 4}}, -} - -var consts_arm = []ConstValue{ - {"__NR_accept", 18}, - {"__NR_brk", 2}, - {"__NR_close", 19}, - {"__NR_connect", 17}, - {"__NR_exit_etc", 3}, - {"__NR_finish_dma", 11}, - {"__NR_get_msg", 32}, - {"__NR_gettime", 7}, - {"__NR_handle_set_create", 21}, - {"__NR_handle_set_ctrl", 22}, - {"__NR_ioctl", 5}, - {"__NR_mmap", 8}, - {"__NR_munmap", 9}, - {"__NR_nanosleep", 6}, - {"__NR_port_create", 16}, - {"__NR_prepare_dma", 10}, - {"__NR_put_msg", 34}, - {"__NR_read", 4}, - {"__NR_read_msg", 33}, - {"__NR_send_msg", 35}, - {"__NR_set_cookie", 20}, - {"__NR_wait", 24}, - {"__NR_wait_any", 25}, - {"__NR_write", 1}, -} - -const revision_arm = "4e125f165259175fe2cbca4e0b1482229347c4f8" diff --git a/sys/trusty/gen/empty.go b/sys/trusty/gen/empty.go deleted file mode 100644 index 5baff07bf..000000000 --- a/sys/trusty/gen/empty.go +++ /dev/null @@ -1,3 +0,0 @@ -// AUTOGENERATED FILE -// This file is needed if OS is completely excluded by build tags. -package gen |
