aboutsummaryrefslogtreecommitdiffstats
path: root/sys/trusty
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2020-04-29 17:57:32 +0200
committerDmitry Vyukov <dvyukov@google.com>2020-04-30 17:18:29 +0200
commitec42220e7773fba548e379606fe445cb30f4c424 (patch)
treeff6967f2eb11408cb99fe810f805c8c44d553832 /sys/trusty
parent136082ab38d86932bc3ed0087694e99d0e55491b (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.go226
-rw-r--r--sys/trusty/gen/empty.go3
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