mirror of
https://github.com/tinygrad/tinygrad.git
synced 2026-01-08 22:48:25 -05:00
autogen: no deep walk (#13654)
* no deep walk * reset init * delete walk * remove print * regen * linkage spec * cleanup
This commit is contained in:
committed by
GitHub
parent
8f60b8dd1e
commit
760e508c3a
@@ -3,34 +3,15 @@ import ctypes
|
||||
from tinygrad.helpers import unwrap
|
||||
from tinygrad.runtime.support.c import Struct, CEnum, _IO, _IOW, _IOR, _IOWR
|
||||
class union_PM4_MES_TYPE_3_HEADER(ctypes.Union): pass
|
||||
class _anonstruct0(Struct): pass
|
||||
enum_mes_set_resources_queue_type_enum = CEnum(ctypes.c_uint32)
|
||||
queue_type__mes_set_resources__kernel_interface_queue_kiq = enum_mes_set_resources_queue_type_enum.define('queue_type__mes_set_resources__kernel_interface_queue_kiq', 0)
|
||||
queue_type__mes_set_resources__hsa_interface_queue_hiq = enum_mes_set_resources_queue_type_enum.define('queue_type__mes_set_resources__hsa_interface_queue_hiq', 1)
|
||||
queue_type__mes_set_resources__hsa_debug_interface_queue = enum_mes_set_resources_queue_type_enum.define('queue_type__mes_set_resources__hsa_debug_interface_queue', 4)
|
||||
|
||||
class struct_pm4_mes_set_resources(Struct): pass
|
||||
class _anonunion1(ctypes.Union): pass
|
||||
class _anonunion2(ctypes.Union): pass
|
||||
class _anonstruct3(Struct): pass
|
||||
class _anonunion4(ctypes.Union): pass
|
||||
class _anonstruct5(Struct): pass
|
||||
class _anonunion6(ctypes.Union): pass
|
||||
class _anonstruct7(Struct): pass
|
||||
class struct_pm4_mes_runlist(Struct): pass
|
||||
class _anonunion8(ctypes.Union): pass
|
||||
class _anonunion9(ctypes.Union): pass
|
||||
class _anonstruct10(Struct): pass
|
||||
class _anonunion11(ctypes.Union): pass
|
||||
class _anonstruct12(Struct): pass
|
||||
class struct_pm4_mes_map_process(Struct): pass
|
||||
class _anonunion13(ctypes.Union): pass
|
||||
class _anonunion14(ctypes.Union): pass
|
||||
class _anonstruct15(Struct): pass
|
||||
class _anonunion16(ctypes.Union): pass
|
||||
class _anonstruct17(Struct): pass
|
||||
class struct_PM4_MES_MAP_PROCESS_VM(Struct): pass
|
||||
class _anonunion18(ctypes.Union): pass
|
||||
enum_mes_map_queues_queue_sel_enum = CEnum(ctypes.c_uint32)
|
||||
queue_sel__mes_map_queues__map_to_specified_queue_slots_vi = enum_mes_map_queues_queue_sel_enum.define('queue_sel__mes_map_queues__map_to_specified_queue_slots_vi', 0)
|
||||
queue_sel__mes_map_queues__map_to_hws_determined_queue_slots_vi = enum_mes_map_queues_queue_sel_enum.define('queue_sel__mes_map_queues__map_to_hws_determined_queue_slots_vi', 1)
|
||||
@@ -52,11 +33,6 @@ extended_engine_sel__mes_map_queues__sdma0_to_7_sel = enum_mes_map_queues_extend
|
||||
extended_engine_sel__mes_map_queues__sdma8_to_15_sel = enum_mes_map_queues_extended_engine_sel_enum.define('extended_engine_sel__mes_map_queues__sdma8_to_15_sel', 2)
|
||||
|
||||
class struct_pm4_mes_map_queues(Struct): pass
|
||||
class _anonunion19(ctypes.Union): pass
|
||||
class _anonunion20(ctypes.Union): pass
|
||||
class _anonstruct21(Struct): pass
|
||||
class _anonunion22(ctypes.Union): pass
|
||||
class _anonstruct23(Struct): pass
|
||||
enum_mes_query_status_interrupt_sel_enum = CEnum(ctypes.c_uint32)
|
||||
interrupt_sel__mes_query_status__completion_status = enum_mes_query_status_interrupt_sel_enum.define('interrupt_sel__mes_query_status__completion_status', 0)
|
||||
interrupt_sel__mes_query_status__process_status = enum_mes_query_status_interrupt_sel_enum.define('interrupt_sel__mes_query_status__process_status', 1)
|
||||
@@ -74,12 +50,6 @@ engine_sel__mes_query_status__sdma0_queue = enum_mes_query_status_engine_sel_enu
|
||||
engine_sel__mes_query_status__sdma1_queue = enum_mes_query_status_engine_sel_enum.define('engine_sel__mes_query_status__sdma1_queue', 3)
|
||||
|
||||
class struct_pm4_mes_query_status(Struct): pass
|
||||
class _anonunion24(ctypes.Union): pass
|
||||
class _anonunion25(ctypes.Union): pass
|
||||
class _anonstruct26(Struct): pass
|
||||
class _anonunion27(ctypes.Union): pass
|
||||
class _anonstruct28(Struct): pass
|
||||
class _anonstruct29(Struct): pass
|
||||
enum_mes_unmap_queues_action_enum = CEnum(ctypes.c_uint32)
|
||||
action__mes_unmap_queues__preempt_queues = enum_mes_unmap_queues_action_enum.define('action__mes_unmap_queues__preempt_queues', 0)
|
||||
action__mes_unmap_queues__reset_queues = enum_mes_unmap_queues_action_enum.define('action__mes_unmap_queues__reset_queues', 1)
|
||||
@@ -102,18 +72,6 @@ extended_engine_sel__mes_unmap_queues__legacy_engine_sel = enum_mes_unmap_queues
|
||||
extended_engine_sel__mes_unmap_queues__sdma0_to_7_sel = enum_mes_unmap_queues_extended_engine_sel_enum.define('extended_engine_sel__mes_unmap_queues__sdma0_to_7_sel', 1)
|
||||
|
||||
class struct_pm4_mes_unmap_queues(Struct): pass
|
||||
class _anonunion30(ctypes.Union): pass
|
||||
class _anonunion31(ctypes.Union): pass
|
||||
class _anonstruct32(Struct): pass
|
||||
class _anonunion33(ctypes.Union): pass
|
||||
class _anonstruct34(Struct): pass
|
||||
class _anonstruct35(Struct): pass
|
||||
class _anonunion36(ctypes.Union): pass
|
||||
class _anonstruct37(Struct): pass
|
||||
class _anonunion38(ctypes.Union): pass
|
||||
class _anonstruct39(Struct): pass
|
||||
class _anonunion40(ctypes.Union): pass
|
||||
class _anonstruct41(Struct): pass
|
||||
enum_mec_release_mem_event_index_enum = CEnum(ctypes.c_uint32)
|
||||
event_index__mec_release_mem__end_of_pipe = enum_mec_release_mem_event_index_enum.define('event_index__mec_release_mem__end_of_pipe', 5)
|
||||
event_index__mec_release_mem__shader_done = enum_mec_release_mem_event_index_enum.define('event_index__mec_release_mem__shader_done', 6)
|
||||
@@ -150,18 +108,6 @@ data_sel__mec_release_mem__send_cp_perfcounter_hi_lo = enum_mec_release_mem_data
|
||||
data_sel__mec_release_mem__store_gds_data_to_memory = enum_mec_release_mem_data_sel_enum.define('data_sel__mec_release_mem__store_gds_data_to_memory', 5)
|
||||
|
||||
class struct_pm4_mec_release_mem(Struct): pass
|
||||
class _anonunion42(ctypes.Union): pass
|
||||
class _anonunion43(ctypes.Union): pass
|
||||
class _anonstruct44(Struct): pass
|
||||
class _anonunion45(ctypes.Union): pass
|
||||
class _anonstruct46(Struct): pass
|
||||
class _anonunion47(ctypes.Union): pass
|
||||
class _anonstruct48(Struct): pass
|
||||
class _anonstruct49(Struct): pass
|
||||
class _anonunion50(ctypes.Union): pass
|
||||
class _anonunion51(ctypes.Union): pass
|
||||
class _anonstruct52(Struct): pass
|
||||
class _anonunion53(ctypes.Union): pass
|
||||
enum_WRITE_DATA_dst_sel_enum = CEnum(ctypes.c_uint32)
|
||||
dst_sel___write_data__mem_mapped_register = enum_WRITE_DATA_dst_sel_enum.define('dst_sel___write_data__mem_mapped_register', 0)
|
||||
dst_sel___write_data__tc_l2 = enum_WRITE_DATA_dst_sel_enum.define('dst_sel___write_data__tc_l2', 2)
|
||||
@@ -182,37 +128,8 @@ cache_policy___write_data__lru = enum_WRITE_DATA_cache_policy_enum.define('cache
|
||||
cache_policy___write_data__stream = enum_WRITE_DATA_cache_policy_enum.define('cache_policy___write_data__stream', 1)
|
||||
|
||||
class struct_pm4_mec_write_data_mmio(Struct): pass
|
||||
class _anonunion54(ctypes.Union): pass
|
||||
class _anonunion55(ctypes.Union): pass
|
||||
class _anonunion55_bitfields2(Struct): pass
|
||||
_anonunion55_bitfields2._fields_ = [
|
||||
('reserved1', ctypes.c_uint32,8),
|
||||
('dst_sel', ctypes.c_uint32,4),
|
||||
('reserved2', ctypes.c_uint32,4),
|
||||
('addr_incr', ctypes.c_uint32,1),
|
||||
('reserved3', ctypes.c_uint32,2),
|
||||
('resume_vf', ctypes.c_uint32,1),
|
||||
('wr_confirm', ctypes.c_uint32,1),
|
||||
('reserved4', ctypes.c_uint32,4),
|
||||
('cache_policy', ctypes.c_uint32,2),
|
||||
('reserved5', ctypes.c_uint32,5),
|
||||
]
|
||||
_anonunion55._fields_ = [
|
||||
('bitfields2', _anonunion55_bitfields2),
|
||||
('ordinal2', ctypes.c_uint32),
|
||||
]
|
||||
class _anonunion56(ctypes.Union): pass
|
||||
class _anonunion56_bitfields3(Struct): pass
|
||||
_anonunion56_bitfields3._fields_ = [
|
||||
('dst_mmreg_addr', ctypes.c_uint32,18),
|
||||
('reserved6', ctypes.c_uint32,14),
|
||||
]
|
||||
_anonunion56._fields_ = [
|
||||
('bitfields3', _anonunion56_bitfields3),
|
||||
('ordinal3', ctypes.c_uint32),
|
||||
]
|
||||
_anonenum57 = CEnum(ctypes.c_uint32)
|
||||
CACHE_FLUSH_AND_INV_TS_EVENT = _anonenum57.define('CACHE_FLUSH_AND_INV_TS_EVENT', 20)
|
||||
_anonenum0 = CEnum(ctypes.c_uint32)
|
||||
CACHE_FLUSH_AND_INV_TS_EVENT = _anonenum0.define('CACHE_FLUSH_AND_INV_TS_EVENT', 20)
|
||||
|
||||
PACKET_TYPE0 = 0
|
||||
PACKET_TYPE1 = 1
|
||||
|
||||
@@ -3,34 +3,15 @@ import ctypes
|
||||
from tinygrad.helpers import unwrap
|
||||
from tinygrad.runtime.support.c import Struct, CEnum, _IO, _IOW, _IOR, _IOWR
|
||||
class union_PM4_MES_TYPE_3_HEADER(ctypes.Union): pass
|
||||
class _anonstruct0(Struct): pass
|
||||
enum_mes_set_resources_queue_type_enum = CEnum(ctypes.c_uint32)
|
||||
queue_type__mes_set_resources__kernel_interface_queue_kiq = enum_mes_set_resources_queue_type_enum.define('queue_type__mes_set_resources__kernel_interface_queue_kiq', 0)
|
||||
queue_type__mes_set_resources__hsa_interface_queue_hiq = enum_mes_set_resources_queue_type_enum.define('queue_type__mes_set_resources__hsa_interface_queue_hiq', 1)
|
||||
queue_type__mes_set_resources__hsa_debug_interface_queue = enum_mes_set_resources_queue_type_enum.define('queue_type__mes_set_resources__hsa_debug_interface_queue', 4)
|
||||
|
||||
class struct_pm4_mes_set_resources(Struct): pass
|
||||
class _anonunion1(ctypes.Union): pass
|
||||
class _anonunion2(ctypes.Union): pass
|
||||
class _anonstruct3(Struct): pass
|
||||
class _anonunion4(ctypes.Union): pass
|
||||
class _anonstruct5(Struct): pass
|
||||
class _anonunion6(ctypes.Union): pass
|
||||
class _anonstruct7(Struct): pass
|
||||
class struct_pm4_mes_runlist(Struct): pass
|
||||
class _anonunion8(ctypes.Union): pass
|
||||
class _anonunion9(ctypes.Union): pass
|
||||
class _anonstruct10(Struct): pass
|
||||
class _anonunion11(ctypes.Union): pass
|
||||
class _anonstruct12(Struct): pass
|
||||
class struct_pm4_mes_map_process(Struct): pass
|
||||
class _anonunion13(ctypes.Union): pass
|
||||
class _anonunion14(ctypes.Union): pass
|
||||
class _anonstruct15(Struct): pass
|
||||
class _anonunion16(ctypes.Union): pass
|
||||
class _anonstruct17(Struct): pass
|
||||
class struct_PM4_MES_MAP_PROCESS_VM(Struct): pass
|
||||
class _anonunion18(ctypes.Union): pass
|
||||
enum_mes_map_queues_queue_sel_enum = CEnum(ctypes.c_uint32)
|
||||
queue_sel__mes_map_queues__map_to_specified_queue_slots_vi = enum_mes_map_queues_queue_sel_enum.define('queue_sel__mes_map_queues__map_to_specified_queue_slots_vi', 0)
|
||||
queue_sel__mes_map_queues__map_to_hws_determined_queue_slots_vi = enum_mes_map_queues_queue_sel_enum.define('queue_sel__mes_map_queues__map_to_hws_determined_queue_slots_vi', 1)
|
||||
@@ -52,11 +33,6 @@ extended_engine_sel__mes_map_queues__sdma0_to_7_sel = enum_mes_map_queues_extend
|
||||
extended_engine_sel__mes_map_queues__sdma8_to_15_sel = enum_mes_map_queues_extended_engine_sel_enum.define('extended_engine_sel__mes_map_queues__sdma8_to_15_sel', 2)
|
||||
|
||||
class struct_pm4_mes_map_queues(Struct): pass
|
||||
class _anonunion19(ctypes.Union): pass
|
||||
class _anonunion20(ctypes.Union): pass
|
||||
class _anonstruct21(Struct): pass
|
||||
class _anonunion22(ctypes.Union): pass
|
||||
class _anonstruct23(Struct): pass
|
||||
enum_mes_query_status_interrupt_sel_enum = CEnum(ctypes.c_uint32)
|
||||
interrupt_sel__mes_query_status__completion_status = enum_mes_query_status_interrupt_sel_enum.define('interrupt_sel__mes_query_status__completion_status', 0)
|
||||
interrupt_sel__mes_query_status__process_status = enum_mes_query_status_interrupt_sel_enum.define('interrupt_sel__mes_query_status__process_status', 1)
|
||||
@@ -74,12 +50,6 @@ engine_sel__mes_query_status__sdma0_queue = enum_mes_query_status_engine_sel_enu
|
||||
engine_sel__mes_query_status__sdma1_queue = enum_mes_query_status_engine_sel_enum.define('engine_sel__mes_query_status__sdma1_queue', 3)
|
||||
|
||||
class struct_pm4_mes_query_status(Struct): pass
|
||||
class _anonunion24(ctypes.Union): pass
|
||||
class _anonunion25(ctypes.Union): pass
|
||||
class _anonstruct26(Struct): pass
|
||||
class _anonunion27(ctypes.Union): pass
|
||||
class _anonstruct28(Struct): pass
|
||||
class _anonstruct29(Struct): pass
|
||||
enum_mes_unmap_queues_action_enum = CEnum(ctypes.c_uint32)
|
||||
action__mes_unmap_queues__preempt_queues = enum_mes_unmap_queues_action_enum.define('action__mes_unmap_queues__preempt_queues', 0)
|
||||
action__mes_unmap_queues__reset_queues = enum_mes_unmap_queues_action_enum.define('action__mes_unmap_queues__reset_queues', 1)
|
||||
@@ -102,18 +72,6 @@ extended_engine_sel__mes_unmap_queues__legacy_engine_sel = enum_mes_unmap_queues
|
||||
extended_engine_sel__mes_unmap_queues__sdma0_to_7_sel = enum_mes_unmap_queues_extended_engine_sel_enum.define('extended_engine_sel__mes_unmap_queues__sdma0_to_7_sel', 1)
|
||||
|
||||
class struct_pm4_mes_unmap_queues(Struct): pass
|
||||
class _anonunion30(ctypes.Union): pass
|
||||
class _anonunion31(ctypes.Union): pass
|
||||
class _anonstruct32(Struct): pass
|
||||
class _anonunion33(ctypes.Union): pass
|
||||
class _anonstruct34(Struct): pass
|
||||
class _anonstruct35(Struct): pass
|
||||
class _anonunion36(ctypes.Union): pass
|
||||
class _anonstruct37(Struct): pass
|
||||
class _anonunion38(ctypes.Union): pass
|
||||
class _anonstruct39(Struct): pass
|
||||
class _anonunion40(ctypes.Union): pass
|
||||
class _anonstruct41(Struct): pass
|
||||
enum_mec_release_mem_event_index_enum = CEnum(ctypes.c_uint32)
|
||||
event_index__mec_release_mem__end_of_pipe = enum_mec_release_mem_event_index_enum.define('event_index__mec_release_mem__end_of_pipe', 5)
|
||||
event_index__mec_release_mem__shader_done = enum_mec_release_mem_event_index_enum.define('event_index__mec_release_mem__shader_done', 6)
|
||||
@@ -150,18 +108,6 @@ data_sel__mec_release_mem__send_cp_perfcounter_hi_lo = enum_mec_release_mem_data
|
||||
data_sel__mec_release_mem__store_gds_data_to_memory = enum_mec_release_mem_data_sel_enum.define('data_sel__mec_release_mem__store_gds_data_to_memory', 5)
|
||||
|
||||
class struct_pm4_mec_release_mem(Struct): pass
|
||||
class _anonunion42(ctypes.Union): pass
|
||||
class _anonunion43(ctypes.Union): pass
|
||||
class _anonstruct44(Struct): pass
|
||||
class _anonunion45(ctypes.Union): pass
|
||||
class _anonstruct46(Struct): pass
|
||||
class _anonunion47(ctypes.Union): pass
|
||||
class _anonstruct48(Struct): pass
|
||||
class _anonstruct49(Struct): pass
|
||||
class _anonunion50(ctypes.Union): pass
|
||||
class _anonunion51(ctypes.Union): pass
|
||||
class _anonstruct52(Struct): pass
|
||||
class _anonunion53(ctypes.Union): pass
|
||||
enum_WRITE_DATA_dst_sel_enum = CEnum(ctypes.c_uint32)
|
||||
dst_sel___write_data__mem_mapped_register = enum_WRITE_DATA_dst_sel_enum.define('dst_sel___write_data__mem_mapped_register', 0)
|
||||
dst_sel___write_data__tc_l2 = enum_WRITE_DATA_dst_sel_enum.define('dst_sel___write_data__tc_l2', 2)
|
||||
@@ -182,37 +128,8 @@ cache_policy___write_data__lru = enum_WRITE_DATA_cache_policy_enum.define('cache
|
||||
cache_policy___write_data__stream = enum_WRITE_DATA_cache_policy_enum.define('cache_policy___write_data__stream', 1)
|
||||
|
||||
class struct_pm4_mec_write_data_mmio(Struct): pass
|
||||
class _anonunion54(ctypes.Union): pass
|
||||
class _anonunion55(ctypes.Union): pass
|
||||
class _anonunion55_bitfields2(Struct): pass
|
||||
_anonunion55_bitfields2._fields_ = [
|
||||
('reserved1', ctypes.c_uint32,8),
|
||||
('dst_sel', ctypes.c_uint32,4),
|
||||
('reserved2', ctypes.c_uint32,4),
|
||||
('addr_incr', ctypes.c_uint32,1),
|
||||
('reserved3', ctypes.c_uint32,2),
|
||||
('resume_vf', ctypes.c_uint32,1),
|
||||
('wr_confirm', ctypes.c_uint32,1),
|
||||
('reserved4', ctypes.c_uint32,4),
|
||||
('cache_policy', ctypes.c_uint32,2),
|
||||
('reserved5', ctypes.c_uint32,5),
|
||||
]
|
||||
_anonunion55._fields_ = [
|
||||
('bitfields2', _anonunion55_bitfields2),
|
||||
('ordinal2', ctypes.c_uint32),
|
||||
]
|
||||
class _anonunion56(ctypes.Union): pass
|
||||
class _anonunion56_bitfields3(Struct): pass
|
||||
_anonunion56_bitfields3._fields_ = [
|
||||
('dst_mmreg_addr', ctypes.c_uint32,18),
|
||||
('reserved6', ctypes.c_uint32,14),
|
||||
]
|
||||
_anonunion56._fields_ = [
|
||||
('bitfields3', _anonunion56_bitfields3),
|
||||
('ordinal3', ctypes.c_uint32),
|
||||
]
|
||||
_anonenum57 = CEnum(ctypes.c_uint32)
|
||||
CACHE_FLUSH_AND_INV_TS_EVENT = _anonenum57.define('CACHE_FLUSH_AND_INV_TS_EVENT', 20)
|
||||
_anonenum0 = CEnum(ctypes.c_uint32)
|
||||
CACHE_FLUSH_AND_INV_TS_EVENT = _anonenum0.define('CACHE_FLUSH_AND_INV_TS_EVENT', 20)
|
||||
|
||||
GFX9_NUM_GFX_RINGS = 1
|
||||
GFX9_NUM_COMPUTE_RINGS = 8
|
||||
|
||||
@@ -1309,24 +1309,16 @@ struct_hsa_amd_aie_ert_packet_s._fields_ = [
|
||||
('reserved5', uint64_t),
|
||||
('payload_data', uint64_t),
|
||||
]
|
||||
class _anonstruct0(Struct): pass
|
||||
_anonstruct0._fields_ = [
|
||||
('state', uint32_t,4),
|
||||
('custom', uint32_t,8),
|
||||
('count', uint32_t,11),
|
||||
('opcode', uint32_t,5),
|
||||
('type', uint32_t,4),
|
||||
]
|
||||
hsa_amd_aie_ert_packet_t = struct_hsa_amd_aie_ert_packet_s
|
||||
_anonenum1 = CEnum(ctypes.c_uint32)
|
||||
HSA_STATUS_ERROR_INVALID_MEMORY_POOL = _anonenum1.define('HSA_STATUS_ERROR_INVALID_MEMORY_POOL', 40)
|
||||
HSA_STATUS_ERROR_MEMORY_APERTURE_VIOLATION = _anonenum1.define('HSA_STATUS_ERROR_MEMORY_APERTURE_VIOLATION', 41)
|
||||
HSA_STATUS_ERROR_ILLEGAL_INSTRUCTION = _anonenum1.define('HSA_STATUS_ERROR_ILLEGAL_INSTRUCTION', 42)
|
||||
HSA_STATUS_ERROR_MEMORY_FAULT = _anonenum1.define('HSA_STATUS_ERROR_MEMORY_FAULT', 43)
|
||||
HSA_STATUS_CU_MASK_REDUCED = _anonenum1.define('HSA_STATUS_CU_MASK_REDUCED', 44)
|
||||
HSA_STATUS_ERROR_OUT_OF_REGISTERS = _anonenum1.define('HSA_STATUS_ERROR_OUT_OF_REGISTERS', 45)
|
||||
HSA_STATUS_ERROR_RESOURCE_BUSY = _anonenum1.define('HSA_STATUS_ERROR_RESOURCE_BUSY', 46)
|
||||
HSA_STATUS_ERROR_NOT_SUPPORTED = _anonenum1.define('HSA_STATUS_ERROR_NOT_SUPPORTED', 47)
|
||||
_anonenum0 = CEnum(ctypes.c_uint32)
|
||||
HSA_STATUS_ERROR_INVALID_MEMORY_POOL = _anonenum0.define('HSA_STATUS_ERROR_INVALID_MEMORY_POOL', 40)
|
||||
HSA_STATUS_ERROR_MEMORY_APERTURE_VIOLATION = _anonenum0.define('HSA_STATUS_ERROR_MEMORY_APERTURE_VIOLATION', 41)
|
||||
HSA_STATUS_ERROR_ILLEGAL_INSTRUCTION = _anonenum0.define('HSA_STATUS_ERROR_ILLEGAL_INSTRUCTION', 42)
|
||||
HSA_STATUS_ERROR_MEMORY_FAULT = _anonenum0.define('HSA_STATUS_ERROR_MEMORY_FAULT', 43)
|
||||
HSA_STATUS_CU_MASK_REDUCED = _anonenum0.define('HSA_STATUS_CU_MASK_REDUCED', 44)
|
||||
HSA_STATUS_ERROR_OUT_OF_REGISTERS = _anonenum0.define('HSA_STATUS_ERROR_OUT_OF_REGISTERS', 45)
|
||||
HSA_STATUS_ERROR_RESOURCE_BUSY = _anonenum0.define('HSA_STATUS_ERROR_RESOURCE_BUSY', 46)
|
||||
HSA_STATUS_ERROR_NOT_SUPPORTED = _anonenum0.define('HSA_STATUS_ERROR_NOT_SUPPORTED', 47)
|
||||
|
||||
hsa_amd_iommu_version_t = CEnum(ctypes.c_uint32)
|
||||
HSA_IOMMU_SUPPORT_NONE = hsa_amd_iommu_version_t.define('HSA_IOMMU_SUPPORT_NONE', 0)
|
||||
@@ -2385,14 +2377,14 @@ struct_amd_runtime_loader_debug_info_s._fields_ = [
|
||||
amd_runtime_loader_debug_info_t = struct_amd_runtime_loader_debug_info_s
|
||||
class struct_BrigModuleHeader(Struct): pass
|
||||
BrigModule_t = ctypes.POINTER(struct_BrigModuleHeader)
|
||||
_anonenum2 = CEnum(ctypes.c_uint32)
|
||||
HSA_EXT_STATUS_ERROR_INVALID_PROGRAM = _anonenum2.define('HSA_EXT_STATUS_ERROR_INVALID_PROGRAM', 8192)
|
||||
HSA_EXT_STATUS_ERROR_INVALID_MODULE = _anonenum2.define('HSA_EXT_STATUS_ERROR_INVALID_MODULE', 8193)
|
||||
HSA_EXT_STATUS_ERROR_INCOMPATIBLE_MODULE = _anonenum2.define('HSA_EXT_STATUS_ERROR_INCOMPATIBLE_MODULE', 8194)
|
||||
HSA_EXT_STATUS_ERROR_MODULE_ALREADY_INCLUDED = _anonenum2.define('HSA_EXT_STATUS_ERROR_MODULE_ALREADY_INCLUDED', 8195)
|
||||
HSA_EXT_STATUS_ERROR_SYMBOL_MISMATCH = _anonenum2.define('HSA_EXT_STATUS_ERROR_SYMBOL_MISMATCH', 8196)
|
||||
HSA_EXT_STATUS_ERROR_FINALIZATION_FAILED = _anonenum2.define('HSA_EXT_STATUS_ERROR_FINALIZATION_FAILED', 8197)
|
||||
HSA_EXT_STATUS_ERROR_DIRECTIVE_MISMATCH = _anonenum2.define('HSA_EXT_STATUS_ERROR_DIRECTIVE_MISMATCH', 8198)
|
||||
_anonenum1 = CEnum(ctypes.c_uint32)
|
||||
HSA_EXT_STATUS_ERROR_INVALID_PROGRAM = _anonenum1.define('HSA_EXT_STATUS_ERROR_INVALID_PROGRAM', 8192)
|
||||
HSA_EXT_STATUS_ERROR_INVALID_MODULE = _anonenum1.define('HSA_EXT_STATUS_ERROR_INVALID_MODULE', 8193)
|
||||
HSA_EXT_STATUS_ERROR_INCOMPATIBLE_MODULE = _anonenum1.define('HSA_EXT_STATUS_ERROR_INCOMPATIBLE_MODULE', 8194)
|
||||
HSA_EXT_STATUS_ERROR_MODULE_ALREADY_INCLUDED = _anonenum1.define('HSA_EXT_STATUS_ERROR_MODULE_ALREADY_INCLUDED', 8195)
|
||||
HSA_EXT_STATUS_ERROR_SYMBOL_MISMATCH = _anonenum1.define('HSA_EXT_STATUS_ERROR_SYMBOL_MISMATCH', 8196)
|
||||
HSA_EXT_STATUS_ERROR_FINALIZATION_FAILED = _anonenum1.define('HSA_EXT_STATUS_ERROR_FINALIZATION_FAILED', 8197)
|
||||
HSA_EXT_STATUS_ERROR_DIRECTIVE_MISMATCH = _anonenum1.define('HSA_EXT_STATUS_ERROR_DIRECTIVE_MISMATCH', 8198)
|
||||
|
||||
hsa_ext_module_t = ctypes.POINTER(struct_BrigModuleHeader)
|
||||
class struct_hsa_ext_program_s(Struct): pass
|
||||
@@ -2451,26 +2443,26 @@ struct_hsa_ext_finalizer_1_00_pfn_s._fields_ = [
|
||||
('hsa_ext_program_finalize', ctypes.CFUNCTYPE(hsa_status_t, hsa_ext_program_t, hsa_isa_t, int32_t, hsa_ext_control_directives_t, ctypes.POINTER(ctypes.c_char), hsa_code_object_type_t, ctypes.POINTER(hsa_code_object_t))),
|
||||
]
|
||||
hsa_ext_finalizer_1_00_pfn_t = struct_hsa_ext_finalizer_1_00_pfn_s
|
||||
_anonenum3 = CEnum(ctypes.c_uint32)
|
||||
HSA_EXT_STATUS_ERROR_IMAGE_FORMAT_UNSUPPORTED = _anonenum3.define('HSA_EXT_STATUS_ERROR_IMAGE_FORMAT_UNSUPPORTED', 12288)
|
||||
HSA_EXT_STATUS_ERROR_IMAGE_SIZE_UNSUPPORTED = _anonenum3.define('HSA_EXT_STATUS_ERROR_IMAGE_SIZE_UNSUPPORTED', 12289)
|
||||
HSA_EXT_STATUS_ERROR_IMAGE_PITCH_UNSUPPORTED = _anonenum3.define('HSA_EXT_STATUS_ERROR_IMAGE_PITCH_UNSUPPORTED', 12290)
|
||||
HSA_EXT_STATUS_ERROR_SAMPLER_DESCRIPTOR_UNSUPPORTED = _anonenum3.define('HSA_EXT_STATUS_ERROR_SAMPLER_DESCRIPTOR_UNSUPPORTED', 12291)
|
||||
_anonenum2 = CEnum(ctypes.c_uint32)
|
||||
HSA_EXT_STATUS_ERROR_IMAGE_FORMAT_UNSUPPORTED = _anonenum2.define('HSA_EXT_STATUS_ERROR_IMAGE_FORMAT_UNSUPPORTED', 12288)
|
||||
HSA_EXT_STATUS_ERROR_IMAGE_SIZE_UNSUPPORTED = _anonenum2.define('HSA_EXT_STATUS_ERROR_IMAGE_SIZE_UNSUPPORTED', 12289)
|
||||
HSA_EXT_STATUS_ERROR_IMAGE_PITCH_UNSUPPORTED = _anonenum2.define('HSA_EXT_STATUS_ERROR_IMAGE_PITCH_UNSUPPORTED', 12290)
|
||||
HSA_EXT_STATUS_ERROR_SAMPLER_DESCRIPTOR_UNSUPPORTED = _anonenum2.define('HSA_EXT_STATUS_ERROR_SAMPLER_DESCRIPTOR_UNSUPPORTED', 12291)
|
||||
|
||||
_anonenum4 = CEnum(ctypes.c_uint32)
|
||||
HSA_EXT_AGENT_INFO_IMAGE_1D_MAX_ELEMENTS = _anonenum4.define('HSA_EXT_AGENT_INFO_IMAGE_1D_MAX_ELEMENTS', 12288)
|
||||
HSA_EXT_AGENT_INFO_IMAGE_1DA_MAX_ELEMENTS = _anonenum4.define('HSA_EXT_AGENT_INFO_IMAGE_1DA_MAX_ELEMENTS', 12289)
|
||||
HSA_EXT_AGENT_INFO_IMAGE_1DB_MAX_ELEMENTS = _anonenum4.define('HSA_EXT_AGENT_INFO_IMAGE_1DB_MAX_ELEMENTS', 12290)
|
||||
HSA_EXT_AGENT_INFO_IMAGE_2D_MAX_ELEMENTS = _anonenum4.define('HSA_EXT_AGENT_INFO_IMAGE_2D_MAX_ELEMENTS', 12291)
|
||||
HSA_EXT_AGENT_INFO_IMAGE_2DA_MAX_ELEMENTS = _anonenum4.define('HSA_EXT_AGENT_INFO_IMAGE_2DA_MAX_ELEMENTS', 12292)
|
||||
HSA_EXT_AGENT_INFO_IMAGE_2DDEPTH_MAX_ELEMENTS = _anonenum4.define('HSA_EXT_AGENT_INFO_IMAGE_2DDEPTH_MAX_ELEMENTS', 12293)
|
||||
HSA_EXT_AGENT_INFO_IMAGE_2DADEPTH_MAX_ELEMENTS = _anonenum4.define('HSA_EXT_AGENT_INFO_IMAGE_2DADEPTH_MAX_ELEMENTS', 12294)
|
||||
HSA_EXT_AGENT_INFO_IMAGE_3D_MAX_ELEMENTS = _anonenum4.define('HSA_EXT_AGENT_INFO_IMAGE_3D_MAX_ELEMENTS', 12295)
|
||||
HSA_EXT_AGENT_INFO_IMAGE_ARRAY_MAX_LAYERS = _anonenum4.define('HSA_EXT_AGENT_INFO_IMAGE_ARRAY_MAX_LAYERS', 12296)
|
||||
HSA_EXT_AGENT_INFO_MAX_IMAGE_RD_HANDLES = _anonenum4.define('HSA_EXT_AGENT_INFO_MAX_IMAGE_RD_HANDLES', 12297)
|
||||
HSA_EXT_AGENT_INFO_MAX_IMAGE_RORW_HANDLES = _anonenum4.define('HSA_EXT_AGENT_INFO_MAX_IMAGE_RORW_HANDLES', 12298)
|
||||
HSA_EXT_AGENT_INFO_MAX_SAMPLER_HANDLERS = _anonenum4.define('HSA_EXT_AGENT_INFO_MAX_SAMPLER_HANDLERS', 12299)
|
||||
HSA_EXT_AGENT_INFO_IMAGE_LINEAR_ROW_PITCH_ALIGNMENT = _anonenum4.define('HSA_EXT_AGENT_INFO_IMAGE_LINEAR_ROW_PITCH_ALIGNMENT', 12300)
|
||||
_anonenum3 = CEnum(ctypes.c_uint32)
|
||||
HSA_EXT_AGENT_INFO_IMAGE_1D_MAX_ELEMENTS = _anonenum3.define('HSA_EXT_AGENT_INFO_IMAGE_1D_MAX_ELEMENTS', 12288)
|
||||
HSA_EXT_AGENT_INFO_IMAGE_1DA_MAX_ELEMENTS = _anonenum3.define('HSA_EXT_AGENT_INFO_IMAGE_1DA_MAX_ELEMENTS', 12289)
|
||||
HSA_EXT_AGENT_INFO_IMAGE_1DB_MAX_ELEMENTS = _anonenum3.define('HSA_EXT_AGENT_INFO_IMAGE_1DB_MAX_ELEMENTS', 12290)
|
||||
HSA_EXT_AGENT_INFO_IMAGE_2D_MAX_ELEMENTS = _anonenum3.define('HSA_EXT_AGENT_INFO_IMAGE_2D_MAX_ELEMENTS', 12291)
|
||||
HSA_EXT_AGENT_INFO_IMAGE_2DA_MAX_ELEMENTS = _anonenum3.define('HSA_EXT_AGENT_INFO_IMAGE_2DA_MAX_ELEMENTS', 12292)
|
||||
HSA_EXT_AGENT_INFO_IMAGE_2DDEPTH_MAX_ELEMENTS = _anonenum3.define('HSA_EXT_AGENT_INFO_IMAGE_2DDEPTH_MAX_ELEMENTS', 12293)
|
||||
HSA_EXT_AGENT_INFO_IMAGE_2DADEPTH_MAX_ELEMENTS = _anonenum3.define('HSA_EXT_AGENT_INFO_IMAGE_2DADEPTH_MAX_ELEMENTS', 12294)
|
||||
HSA_EXT_AGENT_INFO_IMAGE_3D_MAX_ELEMENTS = _anonenum3.define('HSA_EXT_AGENT_INFO_IMAGE_3D_MAX_ELEMENTS', 12295)
|
||||
HSA_EXT_AGENT_INFO_IMAGE_ARRAY_MAX_LAYERS = _anonenum3.define('HSA_EXT_AGENT_INFO_IMAGE_ARRAY_MAX_LAYERS', 12296)
|
||||
HSA_EXT_AGENT_INFO_MAX_IMAGE_RD_HANDLES = _anonenum3.define('HSA_EXT_AGENT_INFO_MAX_IMAGE_RD_HANDLES', 12297)
|
||||
HSA_EXT_AGENT_INFO_MAX_IMAGE_RORW_HANDLES = _anonenum3.define('HSA_EXT_AGENT_INFO_MAX_IMAGE_RORW_HANDLES', 12298)
|
||||
HSA_EXT_AGENT_INFO_MAX_SAMPLER_HANDLERS = _anonenum3.define('HSA_EXT_AGENT_INFO_MAX_SAMPLER_HANDLERS', 12299)
|
||||
HSA_EXT_AGENT_INFO_IMAGE_LINEAR_ROW_PITCH_ALIGNMENT = _anonenum3.define('HSA_EXT_AGENT_INFO_IMAGE_LINEAR_ROW_PITCH_ALIGNMENT', 12300)
|
||||
|
||||
hsa_ext_image_channel_type_t = CEnum(ctypes.c_uint32)
|
||||
HSA_EXT_IMAGE_CHANNEL_TYPE_SNORM_INT8 = hsa_ext_image_channel_type_t.define('HSA_EXT_IMAGE_CHANNEL_TYPE_SNORM_INT8', 0)
|
||||
|
||||
@@ -181,94 +181,14 @@ struct_statx._fields_ = [
|
||||
('__spare3', (ctypes.c_uint64 * 12)),
|
||||
]
|
||||
class struct_epoll_event(Struct): pass
|
||||
class _anonunion0(ctypes.Union): pass
|
||||
class _anonunion0_0(Struct): pass
|
||||
_anonunion0_0._fields_ = [
|
||||
('cmd_op', ctypes.c_uint32),
|
||||
('__pad1', ctypes.c_uint32),
|
||||
]
|
||||
_anonunion0._anonymous_ = ['_0']
|
||||
_anonunion0._fields_ = [
|
||||
('off', ctypes.c_uint64),
|
||||
('addr2', ctypes.c_uint64),
|
||||
('_0', _anonunion0_0),
|
||||
]
|
||||
class _anonunion1(ctypes.Union): pass
|
||||
class _anonunion1_0(Struct): pass
|
||||
_anonunion1_0._fields_ = [
|
||||
('level', ctypes.c_uint32),
|
||||
('optname', ctypes.c_uint32),
|
||||
]
|
||||
_anonunion1._anonymous_ = ['_0']
|
||||
_anonunion1._fields_ = [
|
||||
('addr', ctypes.c_uint64),
|
||||
('splice_off_in', ctypes.c_uint64),
|
||||
('_0', _anonunion1_0),
|
||||
]
|
||||
class _anonunion2(ctypes.Union): pass
|
||||
_anonunion2._fields_ = [
|
||||
('rw_flags', ctypes.c_int32),
|
||||
('fsync_flags', ctypes.c_uint32),
|
||||
('poll_events', ctypes.c_uint16),
|
||||
('poll32_events', ctypes.c_uint32),
|
||||
('sync_range_flags', ctypes.c_uint32),
|
||||
('msg_flags', ctypes.c_uint32),
|
||||
('timeout_flags', ctypes.c_uint32),
|
||||
('accept_flags', ctypes.c_uint32),
|
||||
('cancel_flags', ctypes.c_uint32),
|
||||
('open_flags', ctypes.c_uint32),
|
||||
('statx_flags', ctypes.c_uint32),
|
||||
('fadvise_advice', ctypes.c_uint32),
|
||||
('splice_flags', ctypes.c_uint32),
|
||||
('rename_flags', ctypes.c_uint32),
|
||||
('unlink_flags', ctypes.c_uint32),
|
||||
('hardlink_flags', ctypes.c_uint32),
|
||||
('xattr_flags', ctypes.c_uint32),
|
||||
('msg_ring_flags', ctypes.c_uint32),
|
||||
('uring_cmd_flags', ctypes.c_uint32),
|
||||
('waitid_flags', ctypes.c_uint32),
|
||||
('futex_flags', ctypes.c_uint32),
|
||||
('install_fd_flags', ctypes.c_uint32),
|
||||
]
|
||||
class _anonunion3(ctypes.Union): pass
|
||||
_anonunion3._packed_ = True
|
||||
_anonunion3._fields_ = [
|
||||
('buf_index', ctypes.c_uint16),
|
||||
('buf_group', ctypes.c_uint16),
|
||||
]
|
||||
class _anonunion4(ctypes.Union): pass
|
||||
class _anonunion4_0(Struct): pass
|
||||
_anonunion4_0._fields_ = [
|
||||
('addr_len', ctypes.c_uint16),
|
||||
('__pad3', (ctypes.c_uint16 * 1)),
|
||||
]
|
||||
_anonunion4._anonymous_ = ['_0']
|
||||
_anonunion4._fields_ = [
|
||||
('splice_fd_in', ctypes.c_int32),
|
||||
('file_index', ctypes.c_uint32),
|
||||
('optlen', ctypes.c_uint32),
|
||||
('_0', _anonunion4_0),
|
||||
]
|
||||
class _anonunion5(ctypes.Union): pass
|
||||
class _anonunion5_0(Struct): pass
|
||||
_anonunion5_0._fields_ = [
|
||||
('addr3', ctypes.c_uint64),
|
||||
('__pad2', (ctypes.c_uint64 * 1)),
|
||||
]
|
||||
_anonunion5._anonymous_ = ['_0']
|
||||
_anonunion5._fields_ = [
|
||||
('_0', _anonunion5_0),
|
||||
('optval', ctypes.c_uint64),
|
||||
('cmd', (ctypes.c_ubyte * 0)),
|
||||
]
|
||||
_anonenum6 = CEnum(ctypes.c_uint32)
|
||||
IOSQE_FIXED_FILE_BIT = _anonenum6.define('IOSQE_FIXED_FILE_BIT', 0)
|
||||
IOSQE_IO_DRAIN_BIT = _anonenum6.define('IOSQE_IO_DRAIN_BIT', 1)
|
||||
IOSQE_IO_LINK_BIT = _anonenum6.define('IOSQE_IO_LINK_BIT', 2)
|
||||
IOSQE_IO_HARDLINK_BIT = _anonenum6.define('IOSQE_IO_HARDLINK_BIT', 3)
|
||||
IOSQE_ASYNC_BIT = _anonenum6.define('IOSQE_ASYNC_BIT', 4)
|
||||
IOSQE_BUFFER_SELECT_BIT = _anonenum6.define('IOSQE_BUFFER_SELECT_BIT', 5)
|
||||
IOSQE_CQE_SKIP_SUCCESS_BIT = _anonenum6.define('IOSQE_CQE_SKIP_SUCCESS_BIT', 6)
|
||||
_anonenum0 = CEnum(ctypes.c_uint32)
|
||||
IOSQE_FIXED_FILE_BIT = _anonenum0.define('IOSQE_FIXED_FILE_BIT', 0)
|
||||
IOSQE_IO_DRAIN_BIT = _anonenum0.define('IOSQE_IO_DRAIN_BIT', 1)
|
||||
IOSQE_IO_LINK_BIT = _anonenum0.define('IOSQE_IO_LINK_BIT', 2)
|
||||
IOSQE_IO_HARDLINK_BIT = _anonenum0.define('IOSQE_IO_HARDLINK_BIT', 3)
|
||||
IOSQE_ASYNC_BIT = _anonenum0.define('IOSQE_ASYNC_BIT', 4)
|
||||
IOSQE_BUFFER_SELECT_BIT = _anonenum0.define('IOSQE_BUFFER_SELECT_BIT', 5)
|
||||
IOSQE_CQE_SKIP_SUCCESS_BIT = _anonenum0.define('IOSQE_CQE_SKIP_SUCCESS_BIT', 6)
|
||||
|
||||
enum_io_uring_op = CEnum(ctypes.c_uint32)
|
||||
IORING_OP_NOP = enum_io_uring_op.define('IORING_OP_NOP', 0)
|
||||
@@ -328,12 +248,12 @@ IORING_OP_FUTEX_WAITV = enum_io_uring_op.define('IORING_OP_FUTEX_WAITV', 53)
|
||||
IORING_OP_FIXED_FD_INSTALL = enum_io_uring_op.define('IORING_OP_FIXED_FD_INSTALL', 54)
|
||||
IORING_OP_LAST = enum_io_uring_op.define('IORING_OP_LAST', 55)
|
||||
|
||||
_anonenum7 = CEnum(ctypes.c_uint32)
|
||||
IORING_MSG_DATA = _anonenum7.define('IORING_MSG_DATA', 0)
|
||||
IORING_MSG_SEND_FD = _anonenum7.define('IORING_MSG_SEND_FD', 1)
|
||||
_anonenum1 = CEnum(ctypes.c_uint32)
|
||||
IORING_MSG_DATA = _anonenum1.define('IORING_MSG_DATA', 0)
|
||||
IORING_MSG_SEND_FD = _anonenum1.define('IORING_MSG_SEND_FD', 1)
|
||||
|
||||
_anonenum8 = CEnum(ctypes.c_uint32)
|
||||
IORING_CQE_BUFFER_SHIFT = _anonenum8.define('IORING_CQE_BUFFER_SHIFT', 16)
|
||||
_anonenum2 = CEnum(ctypes.c_uint32)
|
||||
IORING_CQE_BUFFER_SHIFT = _anonenum2.define('IORING_CQE_BUFFER_SHIFT', 16)
|
||||
|
||||
class struct_io_sqring_offsets(Struct): pass
|
||||
struct_io_sqring_offsets._fields_ = [
|
||||
@@ -372,40 +292,40 @@ struct_io_uring_params._fields_ = [
|
||||
('sq_off', struct_io_sqring_offsets),
|
||||
('cq_off', struct_io_cqring_offsets),
|
||||
]
|
||||
_anonenum9 = CEnum(ctypes.c_uint32)
|
||||
IORING_REGISTER_BUFFERS = _anonenum9.define('IORING_REGISTER_BUFFERS', 0)
|
||||
IORING_UNREGISTER_BUFFERS = _anonenum9.define('IORING_UNREGISTER_BUFFERS', 1)
|
||||
IORING_REGISTER_FILES = _anonenum9.define('IORING_REGISTER_FILES', 2)
|
||||
IORING_UNREGISTER_FILES = _anonenum9.define('IORING_UNREGISTER_FILES', 3)
|
||||
IORING_REGISTER_EVENTFD = _anonenum9.define('IORING_REGISTER_EVENTFD', 4)
|
||||
IORING_UNREGISTER_EVENTFD = _anonenum9.define('IORING_UNREGISTER_EVENTFD', 5)
|
||||
IORING_REGISTER_FILES_UPDATE = _anonenum9.define('IORING_REGISTER_FILES_UPDATE', 6)
|
||||
IORING_REGISTER_EVENTFD_ASYNC = _anonenum9.define('IORING_REGISTER_EVENTFD_ASYNC', 7)
|
||||
IORING_REGISTER_PROBE = _anonenum9.define('IORING_REGISTER_PROBE', 8)
|
||||
IORING_REGISTER_PERSONALITY = _anonenum9.define('IORING_REGISTER_PERSONALITY', 9)
|
||||
IORING_UNREGISTER_PERSONALITY = _anonenum9.define('IORING_UNREGISTER_PERSONALITY', 10)
|
||||
IORING_REGISTER_RESTRICTIONS = _anonenum9.define('IORING_REGISTER_RESTRICTIONS', 11)
|
||||
IORING_REGISTER_ENABLE_RINGS = _anonenum9.define('IORING_REGISTER_ENABLE_RINGS', 12)
|
||||
IORING_REGISTER_FILES2 = _anonenum9.define('IORING_REGISTER_FILES2', 13)
|
||||
IORING_REGISTER_FILES_UPDATE2 = _anonenum9.define('IORING_REGISTER_FILES_UPDATE2', 14)
|
||||
IORING_REGISTER_BUFFERS2 = _anonenum9.define('IORING_REGISTER_BUFFERS2', 15)
|
||||
IORING_REGISTER_BUFFERS_UPDATE = _anonenum9.define('IORING_REGISTER_BUFFERS_UPDATE', 16)
|
||||
IORING_REGISTER_IOWQ_AFF = _anonenum9.define('IORING_REGISTER_IOWQ_AFF', 17)
|
||||
IORING_UNREGISTER_IOWQ_AFF = _anonenum9.define('IORING_UNREGISTER_IOWQ_AFF', 18)
|
||||
IORING_REGISTER_IOWQ_MAX_WORKERS = _anonenum9.define('IORING_REGISTER_IOWQ_MAX_WORKERS', 19)
|
||||
IORING_REGISTER_RING_FDS = _anonenum9.define('IORING_REGISTER_RING_FDS', 20)
|
||||
IORING_UNREGISTER_RING_FDS = _anonenum9.define('IORING_UNREGISTER_RING_FDS', 21)
|
||||
IORING_REGISTER_PBUF_RING = _anonenum9.define('IORING_REGISTER_PBUF_RING', 22)
|
||||
IORING_UNREGISTER_PBUF_RING = _anonenum9.define('IORING_UNREGISTER_PBUF_RING', 23)
|
||||
IORING_REGISTER_SYNC_CANCEL = _anonenum9.define('IORING_REGISTER_SYNC_CANCEL', 24)
|
||||
IORING_REGISTER_FILE_ALLOC_RANGE = _anonenum9.define('IORING_REGISTER_FILE_ALLOC_RANGE', 25)
|
||||
IORING_REGISTER_PBUF_STATUS = _anonenum9.define('IORING_REGISTER_PBUF_STATUS', 26)
|
||||
IORING_REGISTER_LAST = _anonenum9.define('IORING_REGISTER_LAST', 27)
|
||||
IORING_REGISTER_USE_REGISTERED_RING = _anonenum9.define('IORING_REGISTER_USE_REGISTERED_RING', 2147483648)
|
||||
_anonenum3 = CEnum(ctypes.c_uint32)
|
||||
IORING_REGISTER_BUFFERS = _anonenum3.define('IORING_REGISTER_BUFFERS', 0)
|
||||
IORING_UNREGISTER_BUFFERS = _anonenum3.define('IORING_UNREGISTER_BUFFERS', 1)
|
||||
IORING_REGISTER_FILES = _anonenum3.define('IORING_REGISTER_FILES', 2)
|
||||
IORING_UNREGISTER_FILES = _anonenum3.define('IORING_UNREGISTER_FILES', 3)
|
||||
IORING_REGISTER_EVENTFD = _anonenum3.define('IORING_REGISTER_EVENTFD', 4)
|
||||
IORING_UNREGISTER_EVENTFD = _anonenum3.define('IORING_UNREGISTER_EVENTFD', 5)
|
||||
IORING_REGISTER_FILES_UPDATE = _anonenum3.define('IORING_REGISTER_FILES_UPDATE', 6)
|
||||
IORING_REGISTER_EVENTFD_ASYNC = _anonenum3.define('IORING_REGISTER_EVENTFD_ASYNC', 7)
|
||||
IORING_REGISTER_PROBE = _anonenum3.define('IORING_REGISTER_PROBE', 8)
|
||||
IORING_REGISTER_PERSONALITY = _anonenum3.define('IORING_REGISTER_PERSONALITY', 9)
|
||||
IORING_UNREGISTER_PERSONALITY = _anonenum3.define('IORING_UNREGISTER_PERSONALITY', 10)
|
||||
IORING_REGISTER_RESTRICTIONS = _anonenum3.define('IORING_REGISTER_RESTRICTIONS', 11)
|
||||
IORING_REGISTER_ENABLE_RINGS = _anonenum3.define('IORING_REGISTER_ENABLE_RINGS', 12)
|
||||
IORING_REGISTER_FILES2 = _anonenum3.define('IORING_REGISTER_FILES2', 13)
|
||||
IORING_REGISTER_FILES_UPDATE2 = _anonenum3.define('IORING_REGISTER_FILES_UPDATE2', 14)
|
||||
IORING_REGISTER_BUFFERS2 = _anonenum3.define('IORING_REGISTER_BUFFERS2', 15)
|
||||
IORING_REGISTER_BUFFERS_UPDATE = _anonenum3.define('IORING_REGISTER_BUFFERS_UPDATE', 16)
|
||||
IORING_REGISTER_IOWQ_AFF = _anonenum3.define('IORING_REGISTER_IOWQ_AFF', 17)
|
||||
IORING_UNREGISTER_IOWQ_AFF = _anonenum3.define('IORING_UNREGISTER_IOWQ_AFF', 18)
|
||||
IORING_REGISTER_IOWQ_MAX_WORKERS = _anonenum3.define('IORING_REGISTER_IOWQ_MAX_WORKERS', 19)
|
||||
IORING_REGISTER_RING_FDS = _anonenum3.define('IORING_REGISTER_RING_FDS', 20)
|
||||
IORING_UNREGISTER_RING_FDS = _anonenum3.define('IORING_UNREGISTER_RING_FDS', 21)
|
||||
IORING_REGISTER_PBUF_RING = _anonenum3.define('IORING_REGISTER_PBUF_RING', 22)
|
||||
IORING_UNREGISTER_PBUF_RING = _anonenum3.define('IORING_UNREGISTER_PBUF_RING', 23)
|
||||
IORING_REGISTER_SYNC_CANCEL = _anonenum3.define('IORING_REGISTER_SYNC_CANCEL', 24)
|
||||
IORING_REGISTER_FILE_ALLOC_RANGE = _anonenum3.define('IORING_REGISTER_FILE_ALLOC_RANGE', 25)
|
||||
IORING_REGISTER_PBUF_STATUS = _anonenum3.define('IORING_REGISTER_PBUF_STATUS', 26)
|
||||
IORING_REGISTER_LAST = _anonenum3.define('IORING_REGISTER_LAST', 27)
|
||||
IORING_REGISTER_USE_REGISTERED_RING = _anonenum3.define('IORING_REGISTER_USE_REGISTERED_RING', 2147483648)
|
||||
|
||||
_anonenum10 = CEnum(ctypes.c_uint32)
|
||||
IO_WQ_BOUND = _anonenum10.define('IO_WQ_BOUND', 0)
|
||||
IO_WQ_UNBOUND = _anonenum10.define('IO_WQ_UNBOUND', 1)
|
||||
_anonenum4 = CEnum(ctypes.c_uint32)
|
||||
IO_WQ_BOUND = _anonenum4.define('IO_WQ_BOUND', 0)
|
||||
IO_WQ_UNBOUND = _anonenum4.define('IO_WQ_UNBOUND', 1)
|
||||
|
||||
class struct_io_uring_files_update(Struct): pass
|
||||
struct_io_uring_files_update._fields_ = [
|
||||
@@ -496,8 +416,8 @@ struct_io_uring_buf_ring._anonymous_ = ['_0']
|
||||
struct_io_uring_buf_ring._fields_ = [
|
||||
('_0', struct_io_uring_buf_ring_0),
|
||||
]
|
||||
_anonenum11 = CEnum(ctypes.c_uint32)
|
||||
IOU_PBUF_RING_MMAP = _anonenum11.define('IOU_PBUF_RING_MMAP', 1)
|
||||
_anonenum5 = CEnum(ctypes.c_uint32)
|
||||
IOU_PBUF_RING_MMAP = _anonenum5.define('IOU_PBUF_RING_MMAP', 1)
|
||||
|
||||
class struct_io_uring_buf_reg(Struct): pass
|
||||
struct_io_uring_buf_reg._fields_ = [
|
||||
@@ -513,12 +433,12 @@ struct_io_uring_buf_status._fields_ = [
|
||||
('head', ctypes.c_uint32),
|
||||
('resv', (ctypes.c_uint32 * 8)),
|
||||
]
|
||||
_anonenum12 = CEnum(ctypes.c_uint32)
|
||||
IORING_RESTRICTION_REGISTER_OP = _anonenum12.define('IORING_RESTRICTION_REGISTER_OP', 0)
|
||||
IORING_RESTRICTION_SQE_OP = _anonenum12.define('IORING_RESTRICTION_SQE_OP', 1)
|
||||
IORING_RESTRICTION_SQE_FLAGS_ALLOWED = _anonenum12.define('IORING_RESTRICTION_SQE_FLAGS_ALLOWED', 2)
|
||||
IORING_RESTRICTION_SQE_FLAGS_REQUIRED = _anonenum12.define('IORING_RESTRICTION_SQE_FLAGS_REQUIRED', 3)
|
||||
IORING_RESTRICTION_LAST = _anonenum12.define('IORING_RESTRICTION_LAST', 4)
|
||||
_anonenum6 = CEnum(ctypes.c_uint32)
|
||||
IORING_RESTRICTION_REGISTER_OP = _anonenum6.define('IORING_RESTRICTION_REGISTER_OP', 0)
|
||||
IORING_RESTRICTION_SQE_OP = _anonenum6.define('IORING_RESTRICTION_SQE_OP', 1)
|
||||
IORING_RESTRICTION_SQE_FLAGS_ALLOWED = _anonenum6.define('IORING_RESTRICTION_SQE_FLAGS_ALLOWED', 2)
|
||||
IORING_RESTRICTION_SQE_FLAGS_REQUIRED = _anonenum6.define('IORING_RESTRICTION_SQE_FLAGS_REQUIRED', 3)
|
||||
IORING_RESTRICTION_LAST = _anonenum6.define('IORING_RESTRICTION_LAST', 4)
|
||||
|
||||
class struct_io_uring_getevents_arg(Struct): pass
|
||||
struct_io_uring_getevents_arg._fields_ = [
|
||||
@@ -556,11 +476,11 @@ struct_io_uring_recvmsg_out._fields_ = [
|
||||
('payloadlen', ctypes.c_uint32),
|
||||
('flags', ctypes.c_uint32),
|
||||
]
|
||||
_anonenum13 = CEnum(ctypes.c_uint32)
|
||||
SOCKET_URING_OP_SIOCINQ = _anonenum13.define('SOCKET_URING_OP_SIOCINQ', 0)
|
||||
SOCKET_URING_OP_SIOCOUTQ = _anonenum13.define('SOCKET_URING_OP_SIOCOUTQ', 1)
|
||||
SOCKET_URING_OP_GETSOCKOPT = _anonenum13.define('SOCKET_URING_OP_GETSOCKOPT', 2)
|
||||
SOCKET_URING_OP_SETSOCKOPT = _anonenum13.define('SOCKET_URING_OP_SETSOCKOPT', 3)
|
||||
_anonenum7 = CEnum(ctypes.c_uint32)
|
||||
SOCKET_URING_OP_SIOCINQ = _anonenum7.define('SOCKET_URING_OP_SIOCINQ', 0)
|
||||
SOCKET_URING_OP_SIOCOUTQ = _anonenum7.define('SOCKET_URING_OP_SIOCOUTQ', 1)
|
||||
SOCKET_URING_OP_GETSOCKOPT = _anonenum7.define('SOCKET_URING_OP_GETSOCKOPT', 2)
|
||||
SOCKET_URING_OP_SETSOCKOPT = _anonenum7.define('SOCKET_URING_OP_SETSOCKOPT', 3)
|
||||
|
||||
_XOPEN_SOURCE = 500
|
||||
uring_unlikely = lambda cond: __builtin_expect( not not (cond), 0)
|
||||
|
||||
@@ -9,13 +9,6 @@ def dll():
|
||||
return None
|
||||
dll = dll()
|
||||
|
||||
class _anonunion0(ctypes.Union): pass
|
||||
uint8_t = ctypes.c_ubyte
|
||||
uint16_t = ctypes.c_uint16
|
||||
_anonunion0._fields_ = [
|
||||
('b8', (uint8_t * 2)),
|
||||
('b16', uint16_t),
|
||||
]
|
||||
enum_libusb_class_code = CEnum(ctypes.c_uint32)
|
||||
LIBUSB_CLASS_PER_INTERFACE = enum_libusb_class_code.define('LIBUSB_CLASS_PER_INTERFACE', 0)
|
||||
LIBUSB_CLASS_AUDIO = enum_libusb_class_code.define('LIBUSB_CLASS_AUDIO', 1)
|
||||
@@ -122,6 +115,8 @@ LIBUSB_BT_CONTAINER_ID = enum_libusb_bos_type.define('LIBUSB_BT_CONTAINER_ID', 4
|
||||
LIBUSB_BT_PLATFORM_DESCRIPTOR = enum_libusb_bos_type.define('LIBUSB_BT_PLATFORM_DESCRIPTOR', 5)
|
||||
|
||||
class struct_libusb_device_descriptor(Struct): pass
|
||||
uint8_t = ctypes.c_ubyte
|
||||
uint16_t = ctypes.c_uint16
|
||||
struct_libusb_device_descriptor._fields_ = [
|
||||
('bLength', uint8_t),
|
||||
('bDescriptorType', uint8_t),
|
||||
|
||||
@@ -1323,17 +1323,6 @@ nvdec_crc_s._fields_ = [
|
||||
('reserved1', ctypes.c_uint32,16),
|
||||
('reserved2', (ctypes.c_ubyte * 56)),
|
||||
]
|
||||
class _anonunion12(ctypes.Union): pass
|
||||
NvUPtr = ctypes.c_uint64
|
||||
_anonunion12._fields_ = [
|
||||
('v', NvUPtr),
|
||||
('p', ctypes.c_void_p),
|
||||
]
|
||||
class _anonunion13(ctypes.Union): pass
|
||||
_anonunion13._fields_ = [
|
||||
('v', NvUPtr),
|
||||
('p', ctypes.c_void_p),
|
||||
]
|
||||
class struct_NV0000_ALLOC_PARAMETERS(Struct): pass
|
||||
NvHandle = ctypes.c_uint32
|
||||
NvU32 = ctypes.c_uint32
|
||||
@@ -6660,6 +6649,7 @@ struct_NV2080_CTRL_FLCN_USTREAMER_EVENT_FILTER._fields_ = [
|
||||
]
|
||||
NV2080_CTRL_FLCN_USTREAMER_EVENT_FILTER = struct_NV2080_CTRL_FLCN_USTREAMER_EVENT_FILTER
|
||||
class struct_NV2080_CTRL_FLCN_USTREAMER_QUEUE_INFO_PARAMS(Struct): pass
|
||||
NvUPtr = ctypes.c_uint64
|
||||
struct_NV2080_CTRL_FLCN_USTREAMER_QUEUE_INFO_PARAMS._fields_ = [
|
||||
('engine', NvU32),
|
||||
('pageSize', NvU32),
|
||||
|
||||
@@ -1323,17 +1323,6 @@ nvdec_crc_s._fields_ = [
|
||||
('reserved1', ctypes.c_uint32,16),
|
||||
('reserved2', (ctypes.c_ubyte * 56)),
|
||||
]
|
||||
class _anonunion12(ctypes.Union): pass
|
||||
NvUPtr = ctypes.c_uint64
|
||||
_anonunion12._fields_ = [
|
||||
('v', NvUPtr),
|
||||
('p', ctypes.c_void_p),
|
||||
]
|
||||
class _anonunion13(ctypes.Union): pass
|
||||
_anonunion13._fields_ = [
|
||||
('v', NvUPtr),
|
||||
('p', ctypes.c_void_p),
|
||||
]
|
||||
class struct_NV0000_ALLOC_PARAMETERS(Struct): pass
|
||||
NvHandle = ctypes.c_uint32
|
||||
NvU32 = ctypes.c_uint32
|
||||
@@ -7219,6 +7208,7 @@ struct_NV2080_CTRL_FLCN_USTREAMER_EVENT_FILTER._fields_ = [
|
||||
]
|
||||
NV2080_CTRL_FLCN_USTREAMER_EVENT_FILTER = struct_NV2080_CTRL_FLCN_USTREAMER_EVENT_FILTER
|
||||
class struct_NV2080_CTRL_FLCN_USTREAMER_QUEUE_INFO_PARAMS(Struct): pass
|
||||
NvUPtr = ctypes.c_uint64
|
||||
struct_NV2080_CTRL_FLCN_USTREAMER_QUEUE_INFO_PARAMS._fields_ = [
|
||||
('engine', NvU32),
|
||||
('pageSize', NvU32),
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
import ctypes, itertools, re, functools, os
|
||||
from tinygrad.helpers import flatten, unwrap
|
||||
from tinygrad.runtime.autogen import libclang as clang # use REGEN=1 to regenerate libclang bindings
|
||||
from typing import Iterator
|
||||
|
||||
def unwrap_cursor(c: clang.CXCursor) -> clang.CXCursor:
|
||||
assert c != clang.clang_getNullCursor()
|
||||
@@ -35,10 +34,6 @@ def all_fields(t, kind):
|
||||
yield from all_fields(clang.clang_getCursorType(f), kind)
|
||||
else: yield f
|
||||
|
||||
def walk(c: clang.CXCursor) -> Iterator[clang.CXCursor]:
|
||||
yield c
|
||||
for child in children(c): yield from walk(child)
|
||||
|
||||
def arguments(c: clang.CXCursor|clang.CXType):
|
||||
yield from ((clang.clang_Cursor_getArgument if isinstance(c, clang.CXCursor) else clang.clang_getArgType)(c, i)
|
||||
for i in range(clang.clang_Cursor_getNumArguments(c) if isinstance(c, clang.CXCursor) else clang.clang_getNumArgTypes(c)))
|
||||
@@ -223,8 +218,9 @@ def gen(dll, files, args=[], prolog=[], rules=[], epilog=[], recsym=False, use_e
|
||||
aa = ctypes.cast((ctypes.c_char_p * len(args))(*[x.encode() for x in args]), ctypes.POINTER(ctypes.POINTER(ctypes.c_char))) if len(args) else None
|
||||
tu = clang.clang_parseTranslationUnit(idx:=clang.clang_createIndex(False, 0), os.fspath(f).encode(), aa, len(args), None, 0,
|
||||
clang.CXTranslationUnit_DetailedPreprocessingRecord)
|
||||
# FIXME: deep walk is not neccesary...
|
||||
for c in walk(unwrap_cursor(clang.clang_getTranslationUnitCursor(tu))):
|
||||
q = list(children(unwrap_cursor(clang.clang_getTranslationUnitCursor(tu))))[::-1]
|
||||
while q:
|
||||
c = q.pop()
|
||||
if loc_file(loc(c)) != str(f) and (not recsym or c.kind not in (clang.CXCursor_FunctionDecl,)): continue
|
||||
rollback = lines, types
|
||||
try:
|
||||
@@ -255,6 +251,7 @@ def gen(dll, files, args=[], prolog=[], rules=[], epilog=[], recsym=False, use_e
|
||||
case clang.CXCursor_VarDecl if clang.clang_getCursorLinkage(c) == clang.CXLinkage_External and dll:
|
||||
lines.append(f"try: {nm(c)} = {tname(clang.clang_getCursorType(c))}.in_dll(dll, '{nm(c)}')\nexcept (ValueError,AttributeError): pass")
|
||||
case clang.CXCursor_ObjCProtocolDecl: proto(c)
|
||||
case clang.CXCursor_Namespace | clang.CXCursor_LinkageSpec: q.extend(list(children(c))[::-1])
|
||||
except NotImplementedError as e:
|
||||
print(f"skipping {nm(c)}: {e}")
|
||||
lines, types = rollback
|
||||
|
||||
Reference in New Issue
Block a user