From 1a2fb60b1e34cbc7f21351da8f9e3e253173bde8 Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Thu, 6 Jan 2022 18:03:14 +0100 Subject: sys/linux: use out_overlay attribute Remove all uses of direction attributes on union fields and use out_overlay attribute instead. The attribute actually does what was the intention behind use of direction attribute on unions. --- sys/linux/dev_bifrost.txt | 96 +++++++++--------------------------------- sys/linux/fs_ioctl_autofs.txt | 14 ++---- sys/linux/fs_ioctl_fscrypt.txt | 2 +- sys/linux/test/dev_bifrost | 2 +- 4 files changed, 26 insertions(+), 88 deletions(-) (limited to 'sys/linux') diff --git a/sys/linux/dev_bifrost.txt b/sys/linux/dev_bifrost.txt index c5e3a68c2..e6d212610 100644 --- a/sys/linux/dev_bifrost.txt +++ b/sys/linux/dev_bifrost.txt @@ -127,37 +127,21 @@ kbase_ioctl_get_gpuprops { flags const[0, int32] } -kbase_ioctl_mem_alloc_in { +kbase_ioctl_mem_alloc { va_pages int64 commit_pages int64 extent int64 flags flags[base_mem_alloc_flags, int64] + out_flags int64 (out_overlay) + gpu_va gpu_addr } -kbase_ioctl_mem_alloc_out { - flags int64 - gpu_va gpu_addr -} - -kbase_ioctl_mem_alloc [ - in kbase_ioctl_mem_alloc_in (in) - out kbase_ioctl_mem_alloc_out (out) -] - -kbase_ioctl_mem_query_in { +kbase_ioctl_mem_query { gpu_addr gpu_addr query flags[kbase_ioctl_mem_query_flags, int64] + value int64 (out_overlay) } -kbase_ioctl_mem_query_out { - value int64 -} - -kbase_ioctl_mem_query [ - in kbase_ioctl_mem_query_in (in) - out kbase_ioctl_mem_query_out (out) -] - kbase_ioctl_mem_free { gpu_addr gpu_addr } @@ -223,19 +207,11 @@ kbase_ioctl_mem_sync { padding array[const[0, int8], 7] } -kbase_ioctl_mem_find_cpu_offset [ - in kbase_ioctl_mem_find_cpu_offset_in (in) - out kbase_ioctl_mem_find_cpu_offset_out (out) -] - -kbase_ioctl_mem_find_cpu_offset_in { +kbase_ioctl_mem_find_cpu_offset { gpu_addr gpu_addr cpu_addr user_addr size int64 -} - -kbase_ioctl_mem_find_cpu_offset_out { - offset int64 + offset int64 (out_overlay) } kbase_ioctl_get_context_id { @@ -251,20 +227,13 @@ kbase_ioctl_mem_commit { pages int64 } -kbase_ioctl_mem_alias [ - in kbase_ioctl_mem_alias_in (in) - out kbase_ioctl_mem_alias_out (out) -] - -kbase_ioctl_mem_alias_in { +kbase_ioctl_mem_alias { flags flags[base_mem_alloc_flags, int64] stride int64 nents len[aliasing_info, int64] aliasing_info ptr64[in, array[base_mem_aliasing_info]] -} -kbase_ioctl_mem_alias_out { - flags int64 + out_flags int64 (out_overlay) gpu_va gpu_addr va_pages int64 } @@ -275,20 +244,13 @@ base_mem_aliasing_info { length int64 } -kbase_ioctl_mem_import [ - in kbase_ioctl_mem_import_in (in) - out kbase_ioctl_mem_import_out (out) -] - -kbase_ioctl_mem_import_in { - flags flags[base_mem_alloc_flags, int64] - phandle int64 - type flags[base_mem_import_type, int32] - padding const[0, int32] -} +kbase_ioctl_mem_import { + flags flags[base_mem_alloc_flags, int64] + phandle int64 + type flags[base_mem_import_type, int32] + padding const[0, int32] -kbase_ioctl_mem_import_out { - flags int64 + out_flags int64 (out_overlay) gpu_va gpu_addr va_pages int64 } @@ -323,39 +285,23 @@ kbase_ioctl_sticky_resource_unmap { address ptr64[in, array[int64]] } -kbase_ioctl_mem_find_gpu_start_and_offset [ - in kbase_ioctl_mem_find_gpu_start_and_offset_in (in) - out kbase_ioctl_mem_find_gpu_start_and_offset_out (out) -] - -kbase_ioctl_mem_find_gpu_start_and_offset_in { +kbase_ioctl_mem_find_gpu_start_and_offset { gpu_addr gpu_addr size int64 -} - -kbase_ioctl_mem_find_gpu_start_and_offset_out { - start gpu_addr - offset int64 + start gpu_addr (out_overlay) + offset int64 } kbase_ioctl_mem_exec_init { va_pages int64 } -kbase_ioctl_get_cpu_gpu_timeinfo [ - in kbase_ioctl_get_cpu_gpu_timeinfo_in (in) - out kbase_ioctl_get_cpu_gpu_timeinfo_out (out) -] - -kbase_ioctl_get_cpu_gpu_timeinfo_in { +kbase_ioctl_get_cpu_gpu_timeinfo { request_flags flags[base_timerequest_allowed_flags, int32] paddings array[const[0, int8], 7] -} - -kbase_ioctl_get_cpu_gpu_timeinfo_out { - sec int64 + sec int64 (out_overlay) nsec int32 - padding const[0, int32] + padding int32 timestamp int64 cycle_counter int64 } diff --git a/sys/linux/fs_ioctl_autofs.txt b/sys/linux/fs_ioctl_autofs.txt index 0db7c0ca2..d6f9c2bc8 100644 --- a/sys/linux/fs_ioctl_autofs.txt +++ b/sys/linux/fs_ioctl_autofs.txt @@ -80,20 +80,12 @@ autofs_args_askumount { autofs_type = AUTOFS_TYPE_ANY, AUTOFS_TYPE_INDIRECT, AUTOFS_TYPE_DIRECT, AUTOFS_TYPE_OFFSET -autofs_args_ismountpoint_in { +autofs_args_ismountpoint { type flags[autofs_type, int32] + devid int32 (out_overlay) + magic int32 } -autofs_args_ismountpoint_out { - devid int32 (out) - magic int32 (out) -} - -autofs_args_ismountpoint [ - in_args autofs_args_ismountpoint_in (in) - out_args autofs_args_ismountpoint_out (out) -] - # autofs_dev_ioctl struct has a union of command-specific structs, so we must pad it to # the maximum size. type autofs_dev_ioctl_base[NESTED] { diff --git a/sys/linux/fs_ioctl_fscrypt.txt b/sys/linux/fs_ioctl_fscrypt.txt index 865308e21..00ca9c29a 100644 --- a/sys/linux/fs_ioctl_fscrypt.txt +++ b/sys/linux/fs_ioctl_fscrypt.txt @@ -151,7 +151,7 @@ fscrypt_key_specifier__by_identifier { # 'fscrypt_add_key_arg::key_spec.identifier' is an output field. The version of # fscrypt_key_specifier below has per-field directions set to represent this. fscrypt_key_specifier__for_add_key [ - desc fscrypt_key_specifier__by_descriptor (in) + desc fscrypt_key_specifier__by_descriptor id fscrypt_key_specifier__by_identifier_for_add_key ] diff --git a/sys/linux/test/dev_bifrost b/sys/linux/test/dev_bifrost index c90c96103..0f63e119c 100644 --- a/sys/linux/test/dev_bifrost +++ b/sys/linux/test/dev_bifrost @@ -11,6 +11,6 @@ ioctl$KBASE_IOCTL_SET_FLAGS(r0, 0x40048001, &AUTO={0x0}) mmap$bifrost(nil, 0x3000, 0x3, 0x1, r0, 0x3000) -ioctl$KBASE_IOCTL_MEM_ALLOC(r0, 0xc0208005, &AUTO=@in={0x1, 0x1, 0x0, 0xf}) +ioctl$KBASE_IOCTL_MEM_ALLOC(r0, 0xc0208005, &AUTO={0x1, 0x1, 0x0, 0xf, 0x0, 0x0}) close(r0) -- cgit mrf-deployment