tinygrad 0.10.0__py3-none-any.whl → 0.10.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. tinygrad/codegen/kernel.py +114 -172
  2. tinygrad/codegen/linearize.py +211 -81
  3. tinygrad/codegen/lowerer.py +30 -35
  4. tinygrad/codegen/{uopgraph.py → rewriter.py} +69 -59
  5. tinygrad/codegen/transcendental.py +12 -13
  6. tinygrad/device.py +170 -47
  7. tinygrad/dtype.py +28 -26
  8. tinygrad/engine/jit.py +80 -63
  9. tinygrad/engine/memory.py +4 -5
  10. tinygrad/engine/multi.py +162 -0
  11. tinygrad/engine/realize.py +58 -107
  12. tinygrad/engine/schedule.py +381 -314
  13. tinygrad/engine/search.py +40 -44
  14. tinygrad/gradient.py +70 -0
  15. tinygrad/helpers.py +77 -58
  16. tinygrad/nn/__init__.py +30 -32
  17. tinygrad/nn/datasets.py +1 -2
  18. tinygrad/nn/optim.py +22 -26
  19. tinygrad/nn/state.py +89 -64
  20. tinygrad/ops.py +562 -446
  21. tinygrad/renderer/__init__.py +79 -36
  22. tinygrad/renderer/cstyle.py +70 -84
  23. tinygrad/renderer/llvmir.py +32 -20
  24. tinygrad/renderer/ptx.py +79 -99
  25. tinygrad/renderer/wgsl.py +87 -0
  26. tinygrad/runtime/autogen/amd_gpu.py +39507 -12
  27. tinygrad/runtime/autogen/comgr.py +2 -0
  28. tinygrad/runtime/autogen/kfd.py +4 -3
  29. tinygrad/runtime/autogen/kgsl.py +1 -1
  30. tinygrad/runtime/autogen/libpciaccess.py +2023 -0
  31. tinygrad/runtime/autogen/llvm.py +11379 -0
  32. tinygrad/runtime/autogen/vfio.py +891 -0
  33. tinygrad/runtime/graph/cuda.py +8 -9
  34. tinygrad/runtime/graph/hcq.py +84 -79
  35. tinygrad/runtime/graph/metal.py +19 -21
  36. tinygrad/runtime/ops_amd.py +488 -327
  37. tinygrad/runtime/ops_clang.py +15 -28
  38. tinygrad/runtime/ops_cloud.py +34 -34
  39. tinygrad/runtime/ops_cuda.py +30 -27
  40. tinygrad/runtime/ops_disk.py +62 -63
  41. tinygrad/runtime/ops_dsp.py +129 -38
  42. tinygrad/runtime/ops_gpu.py +30 -30
  43. tinygrad/runtime/ops_hip.py +29 -31
  44. tinygrad/runtime/ops_llvm.py +45 -40
  45. tinygrad/runtime/ops_metal.py +93 -73
  46. tinygrad/runtime/ops_npy.py +2 -2
  47. tinygrad/runtime/ops_nv.py +232 -270
  48. tinygrad/runtime/ops_python.py +51 -46
  49. tinygrad/runtime/ops_qcom.py +129 -157
  50. tinygrad/runtime/ops_webgpu.py +63 -0
  51. tinygrad/runtime/support/allocator.py +94 -0
  52. tinygrad/runtime/support/am/__init__.py +0 -0
  53. tinygrad/runtime/support/am/amdev.py +384 -0
  54. tinygrad/runtime/support/am/ip.py +463 -0
  55. tinygrad/runtime/support/compiler_cuda.py +4 -2
  56. tinygrad/runtime/support/elf.py +26 -4
  57. tinygrad/runtime/support/hcq.py +254 -324
  58. tinygrad/runtime/support/llvm.py +32 -0
  59. tinygrad/shape/shapetracker.py +84 -53
  60. tinygrad/shape/view.py +103 -138
  61. tinygrad/spec.py +154 -0
  62. tinygrad/tensor.py +744 -496
  63. {tinygrad-0.10.0.dist-info → tinygrad-0.10.1.dist-info}/METADATA +32 -21
  64. tinygrad-0.10.1.dist-info/RECORD +86 -0
  65. {tinygrad-0.10.0.dist-info → tinygrad-0.10.1.dist-info}/WHEEL +1 -1
  66. tinygrad/engine/lazy.py +0 -228
  67. tinygrad/function.py +0 -212
  68. tinygrad/multi.py +0 -177
  69. tinygrad/runtime/graph/clang.py +0 -39
  70. tinygrad-0.10.0.dist-info/RECORD +0 -77
  71. {tinygrad-0.10.0.dist-info → tinygrad-0.10.1.dist-info}/LICENSE +0 -0
  72. {tinygrad-0.10.0.dist-info → tinygrad-0.10.1.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,2023 @@
1
+ # mypy: ignore-errors
2
+ # -*- coding: utf-8 -*-
3
+ #
4
+ # TARGET arch is: []
5
+ # WORD_SIZE is: 8
6
+ # POINTER_SIZE is: 8
7
+ # LONGDOUBLE_SIZE is: 16
8
+ #
9
+ import ctypes, os
10
+
11
+
12
+ class AsDictMixin:
13
+ @classmethod
14
+ def as_dict(cls, self):
15
+ result = {}
16
+ if not isinstance(self, AsDictMixin):
17
+ # not a structure, assume it's already a python object
18
+ return self
19
+ if not hasattr(cls, "_fields_"):
20
+ return result
21
+ # sys.version_info >= (3, 5)
22
+ # for (field, *_) in cls._fields_: # noqa
23
+ for field_tuple in cls._fields_: # noqa
24
+ field = field_tuple[0]
25
+ if field.startswith('PADDING_'):
26
+ continue
27
+ value = getattr(self, field)
28
+ type_ = type(value)
29
+ if hasattr(value, "_length_") and hasattr(value, "_type_"):
30
+ # array
31
+ if not hasattr(type_, "as_dict"):
32
+ value = [v for v in value]
33
+ else:
34
+ type_ = type_._type_
35
+ value = [type_.as_dict(v) for v in value]
36
+ elif hasattr(value, "contents") and hasattr(value, "_type_"):
37
+ # pointer
38
+ try:
39
+ if not hasattr(type_, "as_dict"):
40
+ value = value.contents
41
+ else:
42
+ type_ = type_._type_
43
+ value = type_.as_dict(value.contents)
44
+ except ValueError:
45
+ # nullptr
46
+ value = None
47
+ elif isinstance(value, AsDictMixin):
48
+ # other structure
49
+ value = type_.as_dict(value)
50
+ result[field] = value
51
+ return result
52
+
53
+
54
+ class Structure(ctypes.Structure, AsDictMixin):
55
+
56
+ def __init__(self, *args, **kwds):
57
+ # We don't want to use positional arguments fill PADDING_* fields
58
+
59
+ args = dict(zip(self.__class__._field_names_(), args))
60
+ args.update(kwds)
61
+ super(Structure, self).__init__(**args)
62
+
63
+ @classmethod
64
+ def _field_names_(cls):
65
+ if hasattr(cls, '_fields_'):
66
+ return (f[0] for f in cls._fields_ if not f[0].startswith('PADDING'))
67
+ else:
68
+ return ()
69
+
70
+ @classmethod
71
+ def get_type(cls, field):
72
+ for f in cls._fields_:
73
+ if f[0] == field:
74
+ return f[1]
75
+ return None
76
+
77
+ @classmethod
78
+ def bind(cls, bound_fields):
79
+ fields = {}
80
+ for name, type_ in cls._fields_:
81
+ if hasattr(type_, "restype"):
82
+ if name in bound_fields:
83
+ if bound_fields[name] is None:
84
+ fields[name] = type_()
85
+ else:
86
+ # use a closure to capture the callback from the loop scope
87
+ fields[name] = (
88
+ type_((lambda callback: lambda *args: callback(*args))(
89
+ bound_fields[name]))
90
+ )
91
+ del bound_fields[name]
92
+ else:
93
+ # default callback implementation (does nothing)
94
+ try:
95
+ default_ = type_(0).restype().value
96
+ except TypeError:
97
+ default_ = None
98
+ fields[name] = type_((
99
+ lambda default_: lambda *args: default_)(default_))
100
+ else:
101
+ # not a callback function, use default initialization
102
+ if name in bound_fields:
103
+ fields[name] = bound_fields[name]
104
+ del bound_fields[name]
105
+ else:
106
+ fields[name] = type_()
107
+ if len(bound_fields) != 0:
108
+ raise ValueError(
109
+ "Cannot bind the following unknown callback(s) {}.{}".format(
110
+ cls.__name__, bound_fields.keys()
111
+ ))
112
+ return cls(**fields)
113
+
114
+
115
+ class Union(ctypes.Union, AsDictMixin):
116
+ pass
117
+
118
+
119
+
120
+ _libraries = {}
121
+ _libraries['libpciaccess.so'] = ctypes.CDLL('/usr/lib/x86_64-linux-gnu/libpciaccess.so') if os.path.exists('/usr/lib/x86_64-linux-gnu/libpciaccess.so') else None
122
+ c_int128 = ctypes.c_ubyte*16
123
+ c_uint128 = c_int128
124
+ void = None
125
+ if ctypes.sizeof(ctypes.c_longdouble) == 16:
126
+ c_long_double_t = ctypes.c_longdouble
127
+ else:
128
+ c_long_double_t = ctypes.c_ubyte*16
129
+
130
+ def string_cast(char_pointer, encoding='utf-8', errors='strict'):
131
+ value = ctypes.cast(char_pointer, ctypes.c_char_p).value
132
+ if value is not None and encoding is not None:
133
+ value = value.decode(encoding, errors=errors)
134
+ return value
135
+
136
+
137
+ def char_pointer_cast(string, encoding='utf-8'):
138
+ if encoding is not None:
139
+ try:
140
+ string = string.encode(encoding)
141
+ except AttributeError:
142
+ # In Python3, bytes has no encode attribute
143
+ pass
144
+ string = ctypes.c_char_p(string)
145
+ return ctypes.cast(string, ctypes.POINTER(ctypes.c_char))
146
+
147
+
148
+
149
+
150
+
151
+ PCIACCESS_H = True # macro
152
+ # __deprecated = ((deprecated)) # macro
153
+ PCI_DEV_MAP_FLAG_WRITABLE = (1<<0) # macro
154
+ PCI_DEV_MAP_FLAG_WRITE_COMBINE = (1<<1) # macro
155
+ PCI_DEV_MAP_FLAG_CACHABLE = (1<<2) # macro
156
+ PCI_MATCH_ANY = (~0) # macro
157
+ def PCI_ID_COMPARE(a, b): # macro
158
+ return (((a)==(~0)) or ((a)==(b)))
159
+ VGA_ARB_RSRC_NONE = 0x00 # macro
160
+ VGA_ARB_RSRC_LEGACY_IO = 0x01 # macro
161
+ VGA_ARB_RSRC_LEGACY_MEM = 0x02 # macro
162
+ VGA_ARB_RSRC_NORMAL_IO = 0x04 # macro
163
+ VGA_ARB_RSRC_NORMAL_MEM = 0x08 # macro
164
+ pciaddr_t = ctypes.c_uint64
165
+ class struct_pci_device_iterator(Structure):
166
+ pass
167
+
168
+ class struct_pci_device(Structure):
169
+ pass
170
+
171
+ try:
172
+ pci_device_has_kernel_driver = _libraries['libpciaccess.so'].pci_device_has_kernel_driver
173
+ pci_device_has_kernel_driver.restype = ctypes.c_int32
174
+ pci_device_has_kernel_driver.argtypes = [ctypes.POINTER(struct_pci_device)]
175
+ except AttributeError:
176
+ pass
177
+ try:
178
+ pci_device_is_boot_vga = _libraries['libpciaccess.so'].pci_device_is_boot_vga
179
+ pci_device_is_boot_vga.restype = ctypes.c_int32
180
+ pci_device_is_boot_vga.argtypes = [ctypes.POINTER(struct_pci_device)]
181
+ except AttributeError:
182
+ pass
183
+ try:
184
+ pci_device_read_rom = _libraries['libpciaccess.so'].pci_device_read_rom
185
+ pci_device_read_rom.restype = ctypes.c_int32
186
+ pci_device_read_rom.argtypes = [ctypes.POINTER(struct_pci_device), ctypes.POINTER(None)]
187
+ except AttributeError:
188
+ pass
189
+ try:
190
+ pci_device_map_region = _libraries['libpciaccess.so'].pci_device_map_region
191
+ pci_device_map_region.restype = ctypes.c_int32
192
+ pci_device_map_region.argtypes = [ctypes.POINTER(struct_pci_device), ctypes.c_uint32, ctypes.c_int32]
193
+ except AttributeError:
194
+ pass
195
+ try:
196
+ pci_device_unmap_region = _libraries['libpciaccess.so'].pci_device_unmap_region
197
+ pci_device_unmap_region.restype = ctypes.c_int32
198
+ pci_device_unmap_region.argtypes = [ctypes.POINTER(struct_pci_device), ctypes.c_uint32]
199
+ except AttributeError:
200
+ pass
201
+ try:
202
+ pci_device_map_range = _libraries['libpciaccess.so'].pci_device_map_range
203
+ pci_device_map_range.restype = ctypes.c_int32
204
+ pci_device_map_range.argtypes = [ctypes.POINTER(struct_pci_device), pciaddr_t, pciaddr_t, ctypes.c_uint32, ctypes.POINTER(ctypes.POINTER(None))]
205
+ except AttributeError:
206
+ pass
207
+ try:
208
+ pci_device_unmap_range = _libraries['libpciaccess.so'].pci_device_unmap_range
209
+ pci_device_unmap_range.restype = ctypes.c_int32
210
+ pci_device_unmap_range.argtypes = [ctypes.POINTER(struct_pci_device), ctypes.POINTER(None), pciaddr_t]
211
+ except AttributeError:
212
+ pass
213
+ try:
214
+ pci_device_map_memory_range = _libraries['libpciaccess.so'].pci_device_map_memory_range
215
+ pci_device_map_memory_range.restype = ctypes.c_int32
216
+ pci_device_map_memory_range.argtypes = [ctypes.POINTER(struct_pci_device), pciaddr_t, pciaddr_t, ctypes.c_int32, ctypes.POINTER(ctypes.POINTER(None))]
217
+ except AttributeError:
218
+ pass
219
+ try:
220
+ pci_device_unmap_memory_range = _libraries['libpciaccess.so'].pci_device_unmap_memory_range
221
+ pci_device_unmap_memory_range.restype = ctypes.c_int32
222
+ pci_device_unmap_memory_range.argtypes = [ctypes.POINTER(struct_pci_device), ctypes.POINTER(None), pciaddr_t]
223
+ except AttributeError:
224
+ pass
225
+ try:
226
+ pci_device_probe = _libraries['libpciaccess.so'].pci_device_probe
227
+ pci_device_probe.restype = ctypes.c_int32
228
+ pci_device_probe.argtypes = [ctypes.POINTER(struct_pci_device)]
229
+ except AttributeError:
230
+ pass
231
+ class struct_pci_agp_info(Structure):
232
+ pass
233
+
234
+ try:
235
+ pci_device_get_agp_info = _libraries['libpciaccess.so'].pci_device_get_agp_info
236
+ pci_device_get_agp_info.restype = ctypes.POINTER(struct_pci_agp_info)
237
+ pci_device_get_agp_info.argtypes = [ctypes.POINTER(struct_pci_device)]
238
+ except AttributeError:
239
+ pass
240
+ class struct_pci_bridge_info(Structure):
241
+ pass
242
+
243
+ try:
244
+ pci_device_get_bridge_info = _libraries['libpciaccess.so'].pci_device_get_bridge_info
245
+ pci_device_get_bridge_info.restype = ctypes.POINTER(struct_pci_bridge_info)
246
+ pci_device_get_bridge_info.argtypes = [ctypes.POINTER(struct_pci_device)]
247
+ except AttributeError:
248
+ pass
249
+ class struct_pci_pcmcia_bridge_info(Structure):
250
+ pass
251
+
252
+ try:
253
+ pci_device_get_pcmcia_bridge_info = _libraries['libpciaccess.so'].pci_device_get_pcmcia_bridge_info
254
+ pci_device_get_pcmcia_bridge_info.restype = ctypes.POINTER(struct_pci_pcmcia_bridge_info)
255
+ pci_device_get_pcmcia_bridge_info.argtypes = [ctypes.POINTER(struct_pci_device)]
256
+ except AttributeError:
257
+ pass
258
+ try:
259
+ pci_device_get_bridge_buses = _libraries['libpciaccess.so'].pci_device_get_bridge_buses
260
+ pci_device_get_bridge_buses.restype = ctypes.c_int32
261
+ pci_device_get_bridge_buses.argtypes = [ctypes.POINTER(struct_pci_device), ctypes.POINTER(ctypes.c_int32), ctypes.POINTER(ctypes.c_int32), ctypes.POINTER(ctypes.c_int32)]
262
+ except AttributeError:
263
+ pass
264
+ try:
265
+ pci_system_init = _libraries['libpciaccess.so'].pci_system_init
266
+ pci_system_init.restype = ctypes.c_int32
267
+ pci_system_init.argtypes = []
268
+ except AttributeError:
269
+ pass
270
+ try:
271
+ pci_system_init_dev_mem = _libraries['libpciaccess.so'].pci_system_init_dev_mem
272
+ pci_system_init_dev_mem.restype = None
273
+ pci_system_init_dev_mem.argtypes = [ctypes.c_int32]
274
+ except AttributeError:
275
+ pass
276
+ try:
277
+ pci_system_cleanup = _libraries['libpciaccess.so'].pci_system_cleanup
278
+ pci_system_cleanup.restype = None
279
+ pci_system_cleanup.argtypes = []
280
+ except AttributeError:
281
+ pass
282
+ class struct_pci_slot_match(Structure):
283
+ pass
284
+
285
+ try:
286
+ pci_slot_match_iterator_create = _libraries['libpciaccess.so'].pci_slot_match_iterator_create
287
+ pci_slot_match_iterator_create.restype = ctypes.POINTER(struct_pci_device_iterator)
288
+ pci_slot_match_iterator_create.argtypes = [ctypes.POINTER(struct_pci_slot_match)]
289
+ except AttributeError:
290
+ pass
291
+ class struct_pci_id_match(Structure):
292
+ pass
293
+
294
+ try:
295
+ pci_id_match_iterator_create = _libraries['libpciaccess.so'].pci_id_match_iterator_create
296
+ pci_id_match_iterator_create.restype = ctypes.POINTER(struct_pci_device_iterator)
297
+ pci_id_match_iterator_create.argtypes = [ctypes.POINTER(struct_pci_id_match)]
298
+ except AttributeError:
299
+ pass
300
+ try:
301
+ pci_iterator_destroy = _libraries['libpciaccess.so'].pci_iterator_destroy
302
+ pci_iterator_destroy.restype = None
303
+ pci_iterator_destroy.argtypes = [ctypes.POINTER(struct_pci_device_iterator)]
304
+ except AttributeError:
305
+ pass
306
+ try:
307
+ pci_device_next = _libraries['libpciaccess.so'].pci_device_next
308
+ pci_device_next.restype = ctypes.POINTER(struct_pci_device)
309
+ pci_device_next.argtypes = [ctypes.POINTER(struct_pci_device_iterator)]
310
+ except AttributeError:
311
+ pass
312
+ uint32_t = ctypes.c_uint32
313
+ try:
314
+ pci_device_find_by_slot = _libraries['libpciaccess.so'].pci_device_find_by_slot
315
+ pci_device_find_by_slot.restype = ctypes.POINTER(struct_pci_device)
316
+ pci_device_find_by_slot.argtypes = [uint32_t, uint32_t, uint32_t, uint32_t]
317
+ except AttributeError:
318
+ pass
319
+ try:
320
+ pci_device_get_parent_bridge = _libraries['libpciaccess.so'].pci_device_get_parent_bridge
321
+ pci_device_get_parent_bridge.restype = ctypes.POINTER(struct_pci_device)
322
+ pci_device_get_parent_bridge.argtypes = [ctypes.POINTER(struct_pci_device)]
323
+ except AttributeError:
324
+ pass
325
+ try:
326
+ pci_get_strings = _libraries['libpciaccess.so'].pci_get_strings
327
+ pci_get_strings.restype = None
328
+ pci_get_strings.argtypes = [ctypes.POINTER(struct_pci_id_match), ctypes.POINTER(ctypes.POINTER(ctypes.c_char)), ctypes.POINTER(ctypes.POINTER(ctypes.c_char)), ctypes.POINTER(ctypes.POINTER(ctypes.c_char)), ctypes.POINTER(ctypes.POINTER(ctypes.c_char))]
329
+ except AttributeError:
330
+ pass
331
+ try:
332
+ pci_device_get_device_name = _libraries['libpciaccess.so'].pci_device_get_device_name
333
+ pci_device_get_device_name.restype = ctypes.POINTER(ctypes.c_char)
334
+ pci_device_get_device_name.argtypes = [ctypes.POINTER(struct_pci_device)]
335
+ except AttributeError:
336
+ pass
337
+ try:
338
+ pci_device_get_subdevice_name = _libraries['libpciaccess.so'].pci_device_get_subdevice_name
339
+ pci_device_get_subdevice_name.restype = ctypes.POINTER(ctypes.c_char)
340
+ pci_device_get_subdevice_name.argtypes = [ctypes.POINTER(struct_pci_device)]
341
+ except AttributeError:
342
+ pass
343
+ try:
344
+ pci_device_get_vendor_name = _libraries['libpciaccess.so'].pci_device_get_vendor_name
345
+ pci_device_get_vendor_name.restype = ctypes.POINTER(ctypes.c_char)
346
+ pci_device_get_vendor_name.argtypes = [ctypes.POINTER(struct_pci_device)]
347
+ except AttributeError:
348
+ pass
349
+ try:
350
+ pci_device_get_subvendor_name = _libraries['libpciaccess.so'].pci_device_get_subvendor_name
351
+ pci_device_get_subvendor_name.restype = ctypes.POINTER(ctypes.c_char)
352
+ pci_device_get_subvendor_name.argtypes = [ctypes.POINTER(struct_pci_device)]
353
+ except AttributeError:
354
+ pass
355
+ try:
356
+ pci_device_enable = _libraries['libpciaccess.so'].pci_device_enable
357
+ pci_device_enable.restype = None
358
+ pci_device_enable.argtypes = [ctypes.POINTER(struct_pci_device)]
359
+ except AttributeError:
360
+ pass
361
+ try:
362
+ pci_device_cfg_read = _libraries['libpciaccess.so'].pci_device_cfg_read
363
+ pci_device_cfg_read.restype = ctypes.c_int32
364
+ pci_device_cfg_read.argtypes = [ctypes.POINTER(struct_pci_device), ctypes.POINTER(None), pciaddr_t, pciaddr_t, ctypes.POINTER(ctypes.c_uint64)]
365
+ except AttributeError:
366
+ pass
367
+ try:
368
+ pci_device_cfg_read_u8 = _libraries['libpciaccess.so'].pci_device_cfg_read_u8
369
+ pci_device_cfg_read_u8.restype = ctypes.c_int32
370
+ pci_device_cfg_read_u8.argtypes = [ctypes.POINTER(struct_pci_device), ctypes.POINTER(ctypes.c_ubyte), pciaddr_t]
371
+ except AttributeError:
372
+ pass
373
+ try:
374
+ pci_device_cfg_read_u16 = _libraries['libpciaccess.so'].pci_device_cfg_read_u16
375
+ pci_device_cfg_read_u16.restype = ctypes.c_int32
376
+ pci_device_cfg_read_u16.argtypes = [ctypes.POINTER(struct_pci_device), ctypes.POINTER(ctypes.c_uint16), pciaddr_t]
377
+ except AttributeError:
378
+ pass
379
+ try:
380
+ pci_device_cfg_read_u32 = _libraries['libpciaccess.so'].pci_device_cfg_read_u32
381
+ pci_device_cfg_read_u32.restype = ctypes.c_int32
382
+ pci_device_cfg_read_u32.argtypes = [ctypes.POINTER(struct_pci_device), ctypes.POINTER(ctypes.c_uint32), pciaddr_t]
383
+ except AttributeError:
384
+ pass
385
+ try:
386
+ pci_device_cfg_write = _libraries['libpciaccess.so'].pci_device_cfg_write
387
+ pci_device_cfg_write.restype = ctypes.c_int32
388
+ pci_device_cfg_write.argtypes = [ctypes.POINTER(struct_pci_device), ctypes.POINTER(None), pciaddr_t, pciaddr_t, ctypes.POINTER(ctypes.c_uint64)]
389
+ except AttributeError:
390
+ pass
391
+ uint8_t = ctypes.c_uint8
392
+ try:
393
+ pci_device_cfg_write_u8 = _libraries['libpciaccess.so'].pci_device_cfg_write_u8
394
+ pci_device_cfg_write_u8.restype = ctypes.c_int32
395
+ pci_device_cfg_write_u8.argtypes = [ctypes.POINTER(struct_pci_device), uint8_t, pciaddr_t]
396
+ except AttributeError:
397
+ pass
398
+ uint16_t = ctypes.c_uint16
399
+ try:
400
+ pci_device_cfg_write_u16 = _libraries['libpciaccess.so'].pci_device_cfg_write_u16
401
+ pci_device_cfg_write_u16.restype = ctypes.c_int32
402
+ pci_device_cfg_write_u16.argtypes = [ctypes.POINTER(struct_pci_device), uint16_t, pciaddr_t]
403
+ except AttributeError:
404
+ pass
405
+ try:
406
+ pci_device_cfg_write_u32 = _libraries['libpciaccess.so'].pci_device_cfg_write_u32
407
+ pci_device_cfg_write_u32.restype = ctypes.c_int32
408
+ pci_device_cfg_write_u32.argtypes = [ctypes.POINTER(struct_pci_device), uint32_t, pciaddr_t]
409
+ except AttributeError:
410
+ pass
411
+ try:
412
+ pci_device_cfg_write_bits = _libraries['libpciaccess.so'].pci_device_cfg_write_bits
413
+ pci_device_cfg_write_bits.restype = ctypes.c_int32
414
+ pci_device_cfg_write_bits.argtypes = [ctypes.POINTER(struct_pci_device), uint32_t, uint32_t, pciaddr_t]
415
+ except AttributeError:
416
+ pass
417
+ class struct_pci_mem_region(Structure):
418
+ pass
419
+
420
+ struct_pci_mem_region._pack_ = 1 # source:False
421
+ struct_pci_mem_region._fields_ = [
422
+ ('memory', ctypes.POINTER(None)),
423
+ ('bus_addr', ctypes.c_uint64),
424
+ ('base_addr', ctypes.c_uint64),
425
+ ('size', ctypes.c_uint64),
426
+ ('is_IO', ctypes.c_uint32, 1),
427
+ ('is_prefetchable', ctypes.c_uint32, 1),
428
+ ('is_64', ctypes.c_uint32, 1),
429
+ ('PADDING_0', ctypes.c_uint64, 61),
430
+ ]
431
+
432
+ class struct_pci_pcmcia_bridge_info_0(Structure):
433
+ pass
434
+
435
+ struct_pci_pcmcia_bridge_info_0._pack_ = 1 # source:False
436
+ struct_pci_pcmcia_bridge_info_0._fields_ = [
437
+ ('base', ctypes.c_uint32),
438
+ ('limit', ctypes.c_uint32),
439
+ ]
440
+
441
+ class struct_pci_pcmcia_bridge_info_1(Structure):
442
+ pass
443
+
444
+ struct_pci_pcmcia_bridge_info_1._pack_ = 1 # source:False
445
+ struct_pci_pcmcia_bridge_info_1._fields_ = [
446
+ ('base', ctypes.c_uint32),
447
+ ('limit', ctypes.c_uint32),
448
+ ]
449
+
450
+ try:
451
+ pci_device_vgaarb_init = _libraries['libpciaccess.so'].pci_device_vgaarb_init
452
+ pci_device_vgaarb_init.restype = ctypes.c_int32
453
+ pci_device_vgaarb_init.argtypes = []
454
+ except AttributeError:
455
+ pass
456
+ try:
457
+ pci_device_vgaarb_fini = _libraries['libpciaccess.so'].pci_device_vgaarb_fini
458
+ pci_device_vgaarb_fini.restype = None
459
+ pci_device_vgaarb_fini.argtypes = []
460
+ except AttributeError:
461
+ pass
462
+ try:
463
+ pci_device_vgaarb_set_target = _libraries['libpciaccess.so'].pci_device_vgaarb_set_target
464
+ pci_device_vgaarb_set_target.restype = ctypes.c_int32
465
+ pci_device_vgaarb_set_target.argtypes = [ctypes.POINTER(struct_pci_device)]
466
+ except AttributeError:
467
+ pass
468
+ try:
469
+ pci_device_vgaarb_decodes = _libraries['libpciaccess.so'].pci_device_vgaarb_decodes
470
+ pci_device_vgaarb_decodes.restype = ctypes.c_int32
471
+ pci_device_vgaarb_decodes.argtypes = [ctypes.c_int32]
472
+ except AttributeError:
473
+ pass
474
+ try:
475
+ pci_device_vgaarb_lock = _libraries['libpciaccess.so'].pci_device_vgaarb_lock
476
+ pci_device_vgaarb_lock.restype = ctypes.c_int32
477
+ pci_device_vgaarb_lock.argtypes = []
478
+ except AttributeError:
479
+ pass
480
+ try:
481
+ pci_device_vgaarb_trylock = _libraries['libpciaccess.so'].pci_device_vgaarb_trylock
482
+ pci_device_vgaarb_trylock.restype = ctypes.c_int32
483
+ pci_device_vgaarb_trylock.argtypes = []
484
+ except AttributeError:
485
+ pass
486
+ try:
487
+ pci_device_vgaarb_unlock = _libraries['libpciaccess.so'].pci_device_vgaarb_unlock
488
+ pci_device_vgaarb_unlock.restype = ctypes.c_int32
489
+ pci_device_vgaarb_unlock.argtypes = []
490
+ except AttributeError:
491
+ pass
492
+ try:
493
+ pci_device_vgaarb_get_info = _libraries['libpciaccess.so'].pci_device_vgaarb_get_info
494
+ pci_device_vgaarb_get_info.restype = ctypes.c_int32
495
+ pci_device_vgaarb_get_info.argtypes = [ctypes.POINTER(struct_pci_device), ctypes.POINTER(ctypes.c_int32), ctypes.POINTER(ctypes.c_int32)]
496
+ except AttributeError:
497
+ pass
498
+ class struct_pci_io_handle(Structure):
499
+ pass
500
+
501
+ try:
502
+ pci_device_open_io = _libraries['libpciaccess.so'].pci_device_open_io
503
+ pci_device_open_io.restype = ctypes.POINTER(struct_pci_io_handle)
504
+ pci_device_open_io.argtypes = [ctypes.POINTER(struct_pci_device), pciaddr_t, pciaddr_t]
505
+ except AttributeError:
506
+ pass
507
+ try:
508
+ pci_legacy_open_io = _libraries['libpciaccess.so'].pci_legacy_open_io
509
+ pci_legacy_open_io.restype = ctypes.POINTER(struct_pci_io_handle)
510
+ pci_legacy_open_io.argtypes = [ctypes.POINTER(struct_pci_device), pciaddr_t, pciaddr_t]
511
+ except AttributeError:
512
+ pass
513
+ try:
514
+ pci_device_close_io = _libraries['libpciaccess.so'].pci_device_close_io
515
+ pci_device_close_io.restype = None
516
+ pci_device_close_io.argtypes = [ctypes.POINTER(struct_pci_device), ctypes.POINTER(struct_pci_io_handle)]
517
+ except AttributeError:
518
+ pass
519
+ try:
520
+ pci_io_read32 = _libraries['libpciaccess.so'].pci_io_read32
521
+ pci_io_read32.restype = uint32_t
522
+ pci_io_read32.argtypes = [ctypes.POINTER(struct_pci_io_handle), uint32_t]
523
+ except AttributeError:
524
+ pass
525
+ try:
526
+ pci_io_read16 = _libraries['libpciaccess.so'].pci_io_read16
527
+ pci_io_read16.restype = uint16_t
528
+ pci_io_read16.argtypes = [ctypes.POINTER(struct_pci_io_handle), uint32_t]
529
+ except AttributeError:
530
+ pass
531
+ try:
532
+ pci_io_read8 = _libraries['libpciaccess.so'].pci_io_read8
533
+ pci_io_read8.restype = uint8_t
534
+ pci_io_read8.argtypes = [ctypes.POINTER(struct_pci_io_handle), uint32_t]
535
+ except AttributeError:
536
+ pass
537
+ try:
538
+ pci_io_write32 = _libraries['libpciaccess.so'].pci_io_write32
539
+ pci_io_write32.restype = None
540
+ pci_io_write32.argtypes = [ctypes.POINTER(struct_pci_io_handle), uint32_t, uint32_t]
541
+ except AttributeError:
542
+ pass
543
+ try:
544
+ pci_io_write16 = _libraries['libpciaccess.so'].pci_io_write16
545
+ pci_io_write16.restype = None
546
+ pci_io_write16.argtypes = [ctypes.POINTER(struct_pci_io_handle), uint32_t, uint16_t]
547
+ except AttributeError:
548
+ pass
549
+ try:
550
+ pci_io_write8 = _libraries['libpciaccess.so'].pci_io_write8
551
+ pci_io_write8.restype = None
552
+ pci_io_write8.argtypes = [ctypes.POINTER(struct_pci_io_handle), uint32_t, uint8_t]
553
+ except AttributeError:
554
+ pass
555
+ try:
556
+ pci_device_map_legacy = _libraries['libpciaccess.so'].pci_device_map_legacy
557
+ pci_device_map_legacy.restype = ctypes.c_int32
558
+ pci_device_map_legacy.argtypes = [ctypes.POINTER(struct_pci_device), pciaddr_t, pciaddr_t, ctypes.c_uint32, ctypes.POINTER(ctypes.POINTER(None))]
559
+ except AttributeError:
560
+ pass
561
+ try:
562
+ pci_device_unmap_legacy = _libraries['libpciaccess.so'].pci_device_unmap_legacy
563
+ pci_device_unmap_legacy.restype = ctypes.c_int32
564
+ pci_device_unmap_legacy.argtypes = [ctypes.POINTER(struct_pci_device), ctypes.POINTER(None), pciaddr_t]
565
+ except AttributeError:
566
+ pass
567
+ LINUX_PCI_REGS_H = True # macro
568
+ PCI_CFG_SPACE_SIZE = 256 # macro
569
+ PCI_CFG_SPACE_EXP_SIZE = 4096 # macro
570
+ PCI_STD_HEADER_SIZEOF = 64 # macro
571
+ PCI_STD_NUM_BARS = 6 # macro
572
+ PCI_VENDOR_ID = 0x00 # macro
573
+ PCI_DEVICE_ID = 0x02 # macro
574
+ PCI_COMMAND = 0x04 # macro
575
+ PCI_COMMAND_IO = 0x1 # macro
576
+ PCI_COMMAND_MEMORY = 0x2 # macro
577
+ PCI_COMMAND_MASTER = 0x4 # macro
578
+ PCI_COMMAND_SPECIAL = 0x8 # macro
579
+ PCI_COMMAND_INVALIDATE = 0x10 # macro
580
+ PCI_COMMAND_VGA_PALETTE = 0x20 # macro
581
+ PCI_COMMAND_PARITY = 0x40 # macro
582
+ PCI_COMMAND_WAIT = 0x80 # macro
583
+ PCI_COMMAND_SERR = 0x100 # macro
584
+ PCI_COMMAND_FAST_BACK = 0x200 # macro
585
+ PCI_COMMAND_INTX_DISABLE = 0x400 # macro
586
+ PCI_STATUS = 0x06 # macro
587
+ PCI_STATUS_IMM_READY = 0x01 # macro
588
+ PCI_STATUS_INTERRUPT = 0x08 # macro
589
+ PCI_STATUS_CAP_LIST = 0x10 # macro
590
+ PCI_STATUS_66MHZ = 0x20 # macro
591
+ PCI_STATUS_UDF = 0x40 # macro
592
+ PCI_STATUS_FAST_BACK = 0x80 # macro
593
+ PCI_STATUS_PARITY = 0x100 # macro
594
+ PCI_STATUS_DEVSEL_MASK = 0x600 # macro
595
+ PCI_STATUS_DEVSEL_FAST = 0x000 # macro
596
+ PCI_STATUS_DEVSEL_MEDIUM = 0x200 # macro
597
+ PCI_STATUS_DEVSEL_SLOW = 0x400 # macro
598
+ PCI_STATUS_SIG_TARGET_ABORT = 0x800 # macro
599
+ PCI_STATUS_REC_TARGET_ABORT = 0x1000 # macro
600
+ PCI_STATUS_REC_MASTER_ABORT = 0x2000 # macro
601
+ PCI_STATUS_SIG_SYSTEM_ERROR = 0x4000 # macro
602
+ PCI_STATUS_DETECTED_PARITY = 0x8000 # macro
603
+ PCI_CLASS_REVISION = 0x08 # macro
604
+ PCI_REVISION_ID = 0x08 # macro
605
+ PCI_CLASS_PROG = 0x09 # macro
606
+ PCI_CLASS_DEVICE = 0x0a # macro
607
+ PCI_CACHE_LINE_SIZE = 0x0c # macro
608
+ PCI_LATENCY_TIMER = 0x0d # macro
609
+ PCI_HEADER_TYPE = 0x0e # macro
610
+ PCI_HEADER_TYPE_MASK = 0x7f # macro
611
+ PCI_HEADER_TYPE_NORMAL = 0 # macro
612
+ PCI_HEADER_TYPE_BRIDGE = 1 # macro
613
+ PCI_HEADER_TYPE_CARDBUS = 2 # macro
614
+ PCI_BIST = 0x0f # macro
615
+ PCI_BIST_CODE_MASK = 0x0f # macro
616
+ PCI_BIST_START = 0x40 # macro
617
+ PCI_BIST_CAPABLE = 0x80 # macro
618
+ PCI_BASE_ADDRESS_0 = 0x10 # macro
619
+ PCI_BASE_ADDRESS_1 = 0x14 # macro
620
+ PCI_BASE_ADDRESS_2 = 0x18 # macro
621
+ PCI_BASE_ADDRESS_3 = 0x1c # macro
622
+ PCI_BASE_ADDRESS_4 = 0x20 # macro
623
+ PCI_BASE_ADDRESS_5 = 0x24 # macro
624
+ PCI_BASE_ADDRESS_SPACE = 0x01 # macro
625
+ PCI_BASE_ADDRESS_SPACE_IO = 0x01 # macro
626
+ PCI_BASE_ADDRESS_SPACE_MEMORY = 0x00 # macro
627
+ PCI_BASE_ADDRESS_MEM_TYPE_MASK = 0x06 # macro
628
+ PCI_BASE_ADDRESS_MEM_TYPE_32 = 0x00 # macro
629
+ PCI_BASE_ADDRESS_MEM_TYPE_1M = 0x02 # macro
630
+ PCI_BASE_ADDRESS_MEM_TYPE_64 = 0x04 # macro
631
+ PCI_BASE_ADDRESS_MEM_PREFETCH = 0x08 # macro
632
+ PCI_BASE_ADDRESS_MEM_MASK = (~0x0f) # macro
633
+ PCI_BASE_ADDRESS_IO_MASK = (~0x03) # macro
634
+ PCI_CARDBUS_CIS = 0x28 # macro
635
+ PCI_SUBSYSTEM_VENDOR_ID = 0x2c # macro
636
+ PCI_SUBSYSTEM_ID = 0x2e # macro
637
+ PCI_ROM_ADDRESS = 0x30 # macro
638
+ PCI_ROM_ADDRESS_ENABLE = 0x01 # macro
639
+ PCI_ROM_ADDRESS_MASK = (~0x7ff) # macro
640
+ PCI_CAPABILITY_LIST = 0x34 # macro
641
+ PCI_INTERRUPT_LINE = 0x3c # macro
642
+ PCI_INTERRUPT_PIN = 0x3d # macro
643
+ PCI_MIN_GNT = 0x3e # macro
644
+ PCI_MAX_LAT = 0x3f # macro
645
+ PCI_PRIMARY_BUS = 0x18 # macro
646
+ PCI_SECONDARY_BUS = 0x19 # macro
647
+ PCI_SUBORDINATE_BUS = 0x1a # macro
648
+ PCI_SEC_LATENCY_TIMER = 0x1b # macro
649
+ PCI_IO_BASE = 0x1c # macro
650
+ PCI_IO_LIMIT = 0x1d # macro
651
+ PCI_IO_RANGE_TYPE_MASK = 0x0f # macro
652
+ PCI_IO_RANGE_TYPE_16 = 0x00 # macro
653
+ PCI_IO_RANGE_TYPE_32 = 0x01 # macro
654
+ PCI_IO_RANGE_MASK = (~0x0f) # macro
655
+ PCI_IO_1K_RANGE_MASK = (~0x03) # macro
656
+ PCI_SEC_STATUS = 0x1e # macro
657
+ PCI_MEMORY_BASE = 0x20 # macro
658
+ PCI_MEMORY_LIMIT = 0x22 # macro
659
+ PCI_MEMORY_RANGE_TYPE_MASK = 0x0f # macro
660
+ PCI_MEMORY_RANGE_MASK = (~0x0f) # macro
661
+ PCI_PREF_MEMORY_BASE = 0x24 # macro
662
+ PCI_PREF_MEMORY_LIMIT = 0x26 # macro
663
+ PCI_PREF_RANGE_TYPE_MASK = 0x0f # macro
664
+ PCI_PREF_RANGE_TYPE_32 = 0x00 # macro
665
+ PCI_PREF_RANGE_TYPE_64 = 0x01 # macro
666
+ PCI_PREF_RANGE_MASK = (~0x0f) # macro
667
+ PCI_PREF_BASE_UPPER32 = 0x28 # macro
668
+ PCI_PREF_LIMIT_UPPER32 = 0x2c # macro
669
+ PCI_IO_BASE_UPPER16 = 0x30 # macro
670
+ PCI_IO_LIMIT_UPPER16 = 0x32 # macro
671
+ PCI_ROM_ADDRESS1 = 0x38 # macro
672
+ PCI_BRIDGE_CONTROL = 0x3e # macro
673
+ PCI_BRIDGE_CTL_PARITY = 0x01 # macro
674
+ PCI_BRIDGE_CTL_SERR = 0x02 # macro
675
+ PCI_BRIDGE_CTL_ISA = 0x04 # macro
676
+ PCI_BRIDGE_CTL_VGA = 0x08 # macro
677
+ PCI_BRIDGE_CTL_MASTER_ABORT = 0x20 # macro
678
+ PCI_BRIDGE_CTL_BUS_RESET = 0x40 # macro
679
+ PCI_BRIDGE_CTL_FAST_BACK = 0x80 # macro
680
+ PCI_CB_CAPABILITY_LIST = 0x14 # macro
681
+ PCI_CB_SEC_STATUS = 0x16 # macro
682
+ PCI_CB_PRIMARY_BUS = 0x18 # macro
683
+ PCI_CB_CARD_BUS = 0x19 # macro
684
+ PCI_CB_SUBORDINATE_BUS = 0x1a # macro
685
+ PCI_CB_LATENCY_TIMER = 0x1b # macro
686
+ PCI_CB_MEMORY_BASE_0 = 0x1c # macro
687
+ PCI_CB_MEMORY_LIMIT_0 = 0x20 # macro
688
+ PCI_CB_MEMORY_BASE_1 = 0x24 # macro
689
+ PCI_CB_MEMORY_LIMIT_1 = 0x28 # macro
690
+ PCI_CB_IO_BASE_0 = 0x2c # macro
691
+ PCI_CB_IO_BASE_0_HI = 0x2e # macro
692
+ PCI_CB_IO_LIMIT_0 = 0x30 # macro
693
+ PCI_CB_IO_LIMIT_0_HI = 0x32 # macro
694
+ PCI_CB_IO_BASE_1 = 0x34 # macro
695
+ PCI_CB_IO_BASE_1_HI = 0x36 # macro
696
+ PCI_CB_IO_LIMIT_1 = 0x38 # macro
697
+ PCI_CB_IO_LIMIT_1_HI = 0x3a # macro
698
+ PCI_CB_IO_RANGE_MASK = (~0x03) # macro
699
+ PCI_CB_BRIDGE_CONTROL = 0x3e # macro
700
+ PCI_CB_BRIDGE_CTL_PARITY = 0x01 # macro
701
+ PCI_CB_BRIDGE_CTL_SERR = 0x02 # macro
702
+ PCI_CB_BRIDGE_CTL_ISA = 0x04 # macro
703
+ PCI_CB_BRIDGE_CTL_VGA = 0x08 # macro
704
+ PCI_CB_BRIDGE_CTL_MASTER_ABORT = 0x20 # macro
705
+ PCI_CB_BRIDGE_CTL_CB_RESET = 0x40 # macro
706
+ PCI_CB_BRIDGE_CTL_16BIT_INT = 0x80 # macro
707
+ PCI_CB_BRIDGE_CTL_PREFETCH_MEM0 = 0x100 # macro
708
+ PCI_CB_BRIDGE_CTL_PREFETCH_MEM1 = 0x200 # macro
709
+ PCI_CB_BRIDGE_CTL_POST_WRITES = 0x400 # macro
710
+ PCI_CB_SUBSYSTEM_VENDOR_ID = 0x40 # macro
711
+ PCI_CB_SUBSYSTEM_ID = 0x42 # macro
712
+ PCI_CB_LEGACY_MODE_BASE = 0x44 # macro
713
+ PCI_CAP_LIST_ID = 0 # macro
714
+ PCI_CAP_ID_PM = 0x01 # macro
715
+ PCI_CAP_ID_AGP = 0x02 # macro
716
+ PCI_CAP_ID_VPD = 0x03 # macro
717
+ PCI_CAP_ID_SLOTID = 0x04 # macro
718
+ PCI_CAP_ID_MSI = 0x05 # macro
719
+ PCI_CAP_ID_CHSWP = 0x06 # macro
720
+ PCI_CAP_ID_PCIX = 0x07 # macro
721
+ PCI_CAP_ID_HT = 0x08 # macro
722
+ PCI_CAP_ID_VNDR = 0x09 # macro
723
+ PCI_CAP_ID_DBG = 0x0A # macro
724
+ PCI_CAP_ID_CCRC = 0x0B # macro
725
+ PCI_CAP_ID_SHPC = 0x0C # macro
726
+ PCI_CAP_ID_SSVID = 0x0D # macro
727
+ PCI_CAP_ID_AGP3 = 0x0E # macro
728
+ PCI_CAP_ID_SECDEV = 0x0F # macro
729
+ PCI_CAP_ID_EXP = 0x10 # macro
730
+ PCI_CAP_ID_MSIX = 0x11 # macro
731
+ PCI_CAP_ID_SATA = 0x12 # macro
732
+ PCI_CAP_ID_AF = 0x13 # macro
733
+ PCI_CAP_ID_EA = 0x14 # macro
734
+ PCI_CAP_ID_MAX = 0x14 # macro
735
+ PCI_CAP_LIST_NEXT = 1 # macro
736
+ PCI_CAP_FLAGS = 2 # macro
737
+ PCI_CAP_SIZEOF = 4 # macro
738
+ PCI_PM_PMC = 2 # macro
739
+ PCI_PM_CAP_VER_MASK = 0x0007 # macro
740
+ PCI_PM_CAP_PME_CLOCK = 0x0008 # macro
741
+ PCI_PM_CAP_RESERVED = 0x0010 # macro
742
+ PCI_PM_CAP_DSI = 0x0020 # macro
743
+ PCI_PM_CAP_AUX_POWER = 0x01C0 # macro
744
+ PCI_PM_CAP_D1 = 0x0200 # macro
745
+ PCI_PM_CAP_D2 = 0x0400 # macro
746
+ PCI_PM_CAP_PME = 0x0800 # macro
747
+ PCI_PM_CAP_PME_MASK = 0xF800 # macro
748
+ PCI_PM_CAP_PME_D0 = 0x0800 # macro
749
+ PCI_PM_CAP_PME_D1 = 0x1000 # macro
750
+ PCI_PM_CAP_PME_D2 = 0x2000 # macro
751
+ PCI_PM_CAP_PME_D3hot = 0x4000 # macro
752
+ PCI_PM_CAP_PME_D3cold = 0x8000 # macro
753
+ PCI_PM_CAP_PME_SHIFT = 11 # macro
754
+ PCI_PM_CTRL = 4 # macro
755
+ PCI_PM_CTRL_STATE_MASK = 0x0003 # macro
756
+ PCI_PM_CTRL_NO_SOFT_RESET = 0x0008 # macro
757
+ PCI_PM_CTRL_PME_ENABLE = 0x0100 # macro
758
+ PCI_PM_CTRL_DATA_SEL_MASK = 0x1e00 # macro
759
+ PCI_PM_CTRL_DATA_SCALE_MASK = 0x6000 # macro
760
+ PCI_PM_CTRL_PME_STATUS = 0x8000 # macro
761
+ PCI_PM_PPB_EXTENSIONS = 6 # macro
762
+ PCI_PM_PPB_B2_B3 = 0x40 # macro
763
+ PCI_PM_BPCC_ENABLE = 0x80 # macro
764
+ PCI_PM_DATA_REGISTER = 7 # macro
765
+ PCI_PM_SIZEOF = 8 # macro
766
+ PCI_AGP_VERSION = 2 # macro
767
+ PCI_AGP_RFU = 3 # macro
768
+ PCI_AGP_STATUS = 4 # macro
769
+ PCI_AGP_STATUS_RQ_MASK = 0xff000000 # macro
770
+ PCI_AGP_STATUS_SBA = 0x0200 # macro
771
+ PCI_AGP_STATUS_64BIT = 0x0020 # macro
772
+ PCI_AGP_STATUS_FW = 0x0010 # macro
773
+ PCI_AGP_STATUS_RATE4 = 0x0004 # macro
774
+ PCI_AGP_STATUS_RATE2 = 0x0002 # macro
775
+ PCI_AGP_STATUS_RATE1 = 0x0001 # macro
776
+ PCI_AGP_COMMAND = 8 # macro
777
+ PCI_AGP_COMMAND_RQ_MASK = 0xff000000 # macro
778
+ PCI_AGP_COMMAND_SBA = 0x0200 # macro
779
+ PCI_AGP_COMMAND_AGP = 0x0100 # macro
780
+ PCI_AGP_COMMAND_64BIT = 0x0020 # macro
781
+ PCI_AGP_COMMAND_FW = 0x0010 # macro
782
+ PCI_AGP_COMMAND_RATE4 = 0x0004 # macro
783
+ PCI_AGP_COMMAND_RATE2 = 0x0002 # macro
784
+ PCI_AGP_COMMAND_RATE1 = 0x0001 # macro
785
+ PCI_AGP_SIZEOF = 12 # macro
786
+ PCI_VPD_ADDR = 2 # macro
787
+ PCI_VPD_ADDR_MASK = 0x7fff # macro
788
+ PCI_VPD_ADDR_F = 0x8000 # macro
789
+ PCI_VPD_DATA = 4 # macro
790
+ PCI_CAP_VPD_SIZEOF = 8 # macro
791
+ PCI_SID_ESR = 2 # macro
792
+ PCI_SID_ESR_NSLOTS = 0x1f # macro
793
+ PCI_SID_ESR_FIC = 0x20 # macro
794
+ PCI_SID_CHASSIS_NR = 3 # macro
795
+ PCI_MSI_FLAGS = 2 # macro
796
+ PCI_MSI_FLAGS_ENABLE = 0x0001 # macro
797
+ PCI_MSI_FLAGS_QMASK = 0x000e # macro
798
+ PCI_MSI_FLAGS_QSIZE = 0x0070 # macro
799
+ PCI_MSI_FLAGS_64BIT = 0x0080 # macro
800
+ PCI_MSI_FLAGS_MASKBIT = 0x0100 # macro
801
+ PCI_MSI_RFU = 3 # macro
802
+ PCI_MSI_ADDRESS_LO = 4 # macro
803
+ PCI_MSI_ADDRESS_HI = 8 # macro
804
+ PCI_MSI_DATA_32 = 8 # macro
805
+ PCI_MSI_MASK_32 = 12 # macro
806
+ PCI_MSI_PENDING_32 = 16 # macro
807
+ PCI_MSI_DATA_64 = 12 # macro
808
+ PCI_MSI_MASK_64 = 16 # macro
809
+ PCI_MSI_PENDING_64 = 20 # macro
810
+ PCI_MSIX_FLAGS = 2 # macro
811
+ PCI_MSIX_FLAGS_QSIZE = 0x07FF # macro
812
+ PCI_MSIX_FLAGS_MASKALL = 0x4000 # macro
813
+ PCI_MSIX_FLAGS_ENABLE = 0x8000 # macro
814
+ PCI_MSIX_TABLE = 4 # macro
815
+ PCI_MSIX_TABLE_BIR = 0x00000007 # macro
816
+ PCI_MSIX_TABLE_OFFSET = 0xfffffff8 # macro
817
+ PCI_MSIX_PBA = 8 # macro
818
+ PCI_MSIX_PBA_BIR = 0x00000007 # macro
819
+ PCI_MSIX_PBA_OFFSET = 0xfffffff8 # macro
820
+ PCI_MSIX_FLAGS_BIRMASK = 0x00000007 # macro
821
+ PCI_CAP_MSIX_SIZEOF = 12 # macro
822
+ PCI_MSIX_ENTRY_SIZE = 16 # macro
823
+ PCI_MSIX_ENTRY_LOWER_ADDR = 0 # macro
824
+ PCI_MSIX_ENTRY_UPPER_ADDR = 4 # macro
825
+ PCI_MSIX_ENTRY_DATA = 8 # macro
826
+ PCI_MSIX_ENTRY_VECTOR_CTRL = 12 # macro
827
+ PCI_MSIX_ENTRY_CTRL_MASKBIT = 0x00000001 # macro
828
+ PCI_CHSWP_CSR = 2 # macro
829
+ PCI_CHSWP_DHA = 0x01 # macro
830
+ PCI_CHSWP_EIM = 0x02 # macro
831
+ PCI_CHSWP_PIE = 0x04 # macro
832
+ PCI_CHSWP_LOO = 0x08 # macro
833
+ PCI_CHSWP_PI = 0x30 # macro
834
+ PCI_CHSWP_EXT = 0x40 # macro
835
+ PCI_CHSWP_INS = 0x80 # macro
836
+ PCI_AF_LENGTH = 2 # macro
837
+ PCI_AF_CAP = 3 # macro
838
+ PCI_AF_CAP_TP = 0x01 # macro
839
+ PCI_AF_CAP_FLR = 0x02 # macro
840
+ PCI_AF_CTRL = 4 # macro
841
+ PCI_AF_CTRL_FLR = 0x01 # macro
842
+ PCI_AF_STATUS = 5 # macro
843
+ PCI_AF_STATUS_TP = 0x01 # macro
844
+ PCI_CAP_AF_SIZEOF = 6 # macro
845
+ PCI_EA_NUM_ENT = 2 # macro
846
+ PCI_EA_NUM_ENT_MASK = 0x3f # macro
847
+ PCI_EA_FIRST_ENT = 4 # macro
848
+ PCI_EA_FIRST_ENT_BRIDGE = 8 # macro
849
+ PCI_EA_ES = 0x00000007 # macro
850
+ PCI_EA_BEI = 0x000000f0 # macro
851
+ PCI_EA_SEC_BUS_MASK = 0xff # macro
852
+ PCI_EA_SUB_BUS_MASK = 0xff00 # macro
853
+ PCI_EA_SUB_BUS_SHIFT = 8 # macro
854
+ PCI_EA_BEI_BAR0 = 0 # macro
855
+ PCI_EA_BEI_BAR5 = 5 # macro
856
+ PCI_EA_BEI_BRIDGE = 6 # macro
857
+ PCI_EA_BEI_ENI = 7 # macro
858
+ PCI_EA_BEI_ROM = 8 # macro
859
+ PCI_EA_BEI_VF_BAR0 = 9 # macro
860
+ PCI_EA_BEI_VF_BAR5 = 14 # macro
861
+ PCI_EA_BEI_RESERVED = 15 # macro
862
+ PCI_EA_PP = 0x0000ff00 # macro
863
+ PCI_EA_SP = 0x00ff0000 # macro
864
+ PCI_EA_P_MEM = 0x00 # macro
865
+ PCI_EA_P_MEM_PREFETCH = 0x01 # macro
866
+ PCI_EA_P_IO = 0x02 # macro
867
+ PCI_EA_P_VF_MEM_PREFETCH = 0x03 # macro
868
+ PCI_EA_P_VF_MEM = 0x04 # macro
869
+ PCI_EA_P_BRIDGE_MEM = 0x05 # macro
870
+ PCI_EA_P_BRIDGE_MEM_PREFETCH = 0x06 # macro
871
+ PCI_EA_P_BRIDGE_IO = 0x07 # macro
872
+ PCI_EA_P_MEM_RESERVED = 0xfd # macro
873
+ PCI_EA_P_IO_RESERVED = 0xfe # macro
874
+ PCI_EA_P_UNAVAILABLE = 0xff # macro
875
+ PCI_EA_WRITABLE = 0x40000000 # macro
876
+ PCI_EA_ENABLE = 0x80000000 # macro
877
+ PCI_EA_BASE = 4 # macro
878
+ PCI_EA_MAX_OFFSET = 8 # macro
879
+ PCI_EA_IS_64 = 0x00000002 # macro
880
+ PCI_EA_FIELD_MASK = 0xfffffffc # macro
881
+ PCI_X_CMD = 2 # macro
882
+ PCI_X_CMD_DPERR_E = 0x0001 # macro
883
+ PCI_X_CMD_ERO = 0x0002 # macro
884
+ PCI_X_CMD_READ_512 = 0x0000 # macro
885
+ PCI_X_CMD_READ_1K = 0x0004 # macro
886
+ PCI_X_CMD_READ_2K = 0x0008 # macro
887
+ PCI_X_CMD_READ_4K = 0x000c # macro
888
+ PCI_X_CMD_MAX_READ = 0x000c # macro
889
+ PCI_X_CMD_SPLIT_1 = 0x0000 # macro
890
+ PCI_X_CMD_SPLIT_2 = 0x0010 # macro
891
+ PCI_X_CMD_SPLIT_3 = 0x0020 # macro
892
+ PCI_X_CMD_SPLIT_4 = 0x0030 # macro
893
+ PCI_X_CMD_SPLIT_8 = 0x0040 # macro
894
+ PCI_X_CMD_SPLIT_12 = 0x0050 # macro
895
+ PCI_X_CMD_SPLIT_16 = 0x0060 # macro
896
+ PCI_X_CMD_SPLIT_32 = 0x0070 # macro
897
+ PCI_X_CMD_MAX_SPLIT = 0x0070 # macro
898
+ def PCI_X_CMD_VERSION(x): # macro
899
+ return (((x)>>12)&3)
900
+ PCI_X_STATUS = 4 # macro
901
+ PCI_X_STATUS_DEVFN = 0x000000ff # macro
902
+ PCI_X_STATUS_BUS = 0x0000ff00 # macro
903
+ PCI_X_STATUS_64BIT = 0x00010000 # macro
904
+ PCI_X_STATUS_133MHZ = 0x00020000 # macro
905
+ PCI_X_STATUS_SPL_DISC = 0x00040000 # macro
906
+ PCI_X_STATUS_UNX_SPL = 0x00080000 # macro
907
+ PCI_X_STATUS_COMPLEX = 0x00100000 # macro
908
+ PCI_X_STATUS_MAX_READ = 0x00600000 # macro
909
+ PCI_X_STATUS_MAX_SPLIT = 0x03800000 # macro
910
+ PCI_X_STATUS_MAX_CUM = 0x1c000000 # macro
911
+ PCI_X_STATUS_SPL_ERR = 0x20000000 # macro
912
+ PCI_X_STATUS_266MHZ = 0x40000000 # macro
913
+ PCI_X_STATUS_533MHZ = 0x80000000 # macro
914
+ PCI_X_ECC_CSR = 8 # macro
915
+ PCI_CAP_PCIX_SIZEOF_V0 = 8 # macro
916
+ PCI_CAP_PCIX_SIZEOF_V1 = 24 # macro
917
+ PCI_CAP_PCIX_SIZEOF_V2 = 24 # macro
918
+ PCI_X_BRIDGE_SSTATUS = 2 # macro
919
+ PCI_X_SSTATUS_64BIT = 0x0001 # macro
920
+ PCI_X_SSTATUS_133MHZ = 0x0002 # macro
921
+ PCI_X_SSTATUS_FREQ = 0x03c0 # macro
922
+ PCI_X_SSTATUS_VERS = 0x3000 # macro
923
+ PCI_X_SSTATUS_V1 = 0x1000 # macro
924
+ PCI_X_SSTATUS_V2 = 0x2000 # macro
925
+ PCI_X_SSTATUS_266MHZ = 0x4000 # macro
926
+ PCI_X_SSTATUS_533MHZ = 0x8000 # macro
927
+ PCI_X_BRIDGE_STATUS = 4 # macro
928
+ PCI_SSVID_VENDOR_ID = 4 # macro
929
+ PCI_SSVID_DEVICE_ID = 6 # macro
930
+ PCI_EXP_FLAGS = 2 # macro
931
+ PCI_EXP_FLAGS_VERS = 0x000f # macro
932
+ PCI_EXP_FLAGS_TYPE = 0x00f0 # macro
933
+ PCI_EXP_TYPE_ENDPOINT = 0x0 # macro
934
+ PCI_EXP_TYPE_LEG_END = 0x1 # macro
935
+ PCI_EXP_TYPE_ROOT_PORT = 0x4 # macro
936
+ PCI_EXP_TYPE_UPSTREAM = 0x5 # macro
937
+ PCI_EXP_TYPE_DOWNSTREAM = 0x6 # macro
938
+ PCI_EXP_TYPE_PCI_BRIDGE = 0x7 # macro
939
+ PCI_EXP_TYPE_PCIE_BRIDGE = 0x8 # macro
940
+ PCI_EXP_TYPE_RC_END = 0x9 # macro
941
+ PCI_EXP_TYPE_RC_EC = 0xa # macro
942
+ PCI_EXP_FLAGS_SLOT = 0x0100 # macro
943
+ PCI_EXP_FLAGS_IRQ = 0x3e00 # macro
944
+ PCI_EXP_DEVCAP = 4 # macro
945
+ PCI_EXP_DEVCAP_PAYLOAD = 0x00000007 # macro
946
+ PCI_EXP_DEVCAP_PHANTOM = 0x00000018 # macro
947
+ PCI_EXP_DEVCAP_EXT_TAG = 0x00000020 # macro
948
+ PCI_EXP_DEVCAP_L0S = 0x000001c0 # macro
949
+ PCI_EXP_DEVCAP_L1 = 0x00000e00 # macro
950
+ PCI_EXP_DEVCAP_ATN_BUT = 0x00001000 # macro
951
+ PCI_EXP_DEVCAP_ATN_IND = 0x00002000 # macro
952
+ PCI_EXP_DEVCAP_PWR_IND = 0x00004000 # macro
953
+ PCI_EXP_DEVCAP_RBER = 0x00008000 # macro
954
+ PCI_EXP_DEVCAP_PWR_VAL = 0x03fc0000 # macro
955
+ PCI_EXP_DEVCAP_PWR_SCL = 0x0c000000 # macro
956
+ PCI_EXP_DEVCAP_FLR = 0x10000000 # macro
957
+ PCI_EXP_DEVCTL = 8 # macro
958
+ PCI_EXP_DEVCTL_CERE = 0x0001 # macro
959
+ PCI_EXP_DEVCTL_NFERE = 0x0002 # macro
960
+ PCI_EXP_DEVCTL_FERE = 0x0004 # macro
961
+ PCI_EXP_DEVCTL_URRE = 0x0008 # macro
962
+ PCI_EXP_DEVCTL_RELAX_EN = 0x0010 # macro
963
+ PCI_EXP_DEVCTL_PAYLOAD = 0x00e0 # macro
964
+ PCI_EXP_DEVCTL_PAYLOAD_128B = 0x0000 # macro
965
+ PCI_EXP_DEVCTL_PAYLOAD_256B = 0x0020 # macro
966
+ PCI_EXP_DEVCTL_PAYLOAD_512B = 0x0040 # macro
967
+ PCI_EXP_DEVCTL_PAYLOAD_1024B = 0x0060 # macro
968
+ PCI_EXP_DEVCTL_PAYLOAD_2048B = 0x0080 # macro
969
+ PCI_EXP_DEVCTL_PAYLOAD_4096B = 0x00a0 # macro
970
+ PCI_EXP_DEVCTL_EXT_TAG = 0x0100 # macro
971
+ PCI_EXP_DEVCTL_PHANTOM = 0x0200 # macro
972
+ PCI_EXP_DEVCTL_AUX_PME = 0x0400 # macro
973
+ PCI_EXP_DEVCTL_NOSNOOP_EN = 0x0800 # macro
974
+ PCI_EXP_DEVCTL_READRQ = 0x7000 # macro
975
+ PCI_EXP_DEVCTL_READRQ_128B = 0x0000 # macro
976
+ PCI_EXP_DEVCTL_READRQ_256B = 0x1000 # macro
977
+ PCI_EXP_DEVCTL_READRQ_512B = 0x2000 # macro
978
+ PCI_EXP_DEVCTL_READRQ_1024B = 0x3000 # macro
979
+ PCI_EXP_DEVCTL_READRQ_2048B = 0x4000 # macro
980
+ PCI_EXP_DEVCTL_READRQ_4096B = 0x5000 # macro
981
+ PCI_EXP_DEVCTL_BCR_FLR = 0x8000 # macro
982
+ PCI_EXP_DEVSTA = 10 # macro
983
+ PCI_EXP_DEVSTA_CED = 0x0001 # macro
984
+ PCI_EXP_DEVSTA_NFED = 0x0002 # macro
985
+ PCI_EXP_DEVSTA_FED = 0x0004 # macro
986
+ PCI_EXP_DEVSTA_URD = 0x0008 # macro
987
+ PCI_EXP_DEVSTA_AUXPD = 0x0010 # macro
988
+ PCI_EXP_DEVSTA_TRPND = 0x0020 # macro
989
+ PCI_CAP_EXP_RC_ENDPOINT_SIZEOF_V1 = 12 # macro
990
+ PCI_EXP_LNKCAP = 12 # macro
991
+ PCI_EXP_LNKCAP_SLS = 0x0000000f # macro
992
+ PCI_EXP_LNKCAP_SLS_2_5GB = 0x00000001 # macro
993
+ PCI_EXP_LNKCAP_SLS_5_0GB = 0x00000002 # macro
994
+ PCI_EXP_LNKCAP_SLS_8_0GB = 0x00000003 # macro
995
+ PCI_EXP_LNKCAP_SLS_16_0GB = 0x00000004 # macro
996
+ PCI_EXP_LNKCAP_SLS_32_0GB = 0x00000005 # macro
997
+ PCI_EXP_LNKCAP_SLS_64_0GB = 0x00000006 # macro
998
+ PCI_EXP_LNKCAP_MLW = 0x000003f0 # macro
999
+ PCI_EXP_LNKCAP_ASPMS = 0x00000c00 # macro
1000
+ PCI_EXP_LNKCAP_ASPM_L0S = 0x00000400 # macro
1001
+ PCI_EXP_LNKCAP_ASPM_L1 = 0x00000800 # macro
1002
+ PCI_EXP_LNKCAP_L0SEL = 0x00007000 # macro
1003
+ PCI_EXP_LNKCAP_L1EL = 0x00038000 # macro
1004
+ PCI_EXP_LNKCAP_CLKPM = 0x00040000 # macro
1005
+ PCI_EXP_LNKCAP_SDERC = 0x00080000 # macro
1006
+ PCI_EXP_LNKCAP_DLLLARC = 0x00100000 # macro
1007
+ PCI_EXP_LNKCAP_LBNC = 0x00200000 # macro
1008
+ PCI_EXP_LNKCAP_PN = 0xff000000 # macro
1009
+ PCI_EXP_LNKCTL = 16 # macro
1010
+ PCI_EXP_LNKCTL_ASPMC = 0x0003 # macro
1011
+ PCI_EXP_LNKCTL_ASPM_L0S = 0x0001 # macro
1012
+ PCI_EXP_LNKCTL_ASPM_L1 = 0x0002 # macro
1013
+ PCI_EXP_LNKCTL_RCB = 0x0008 # macro
1014
+ PCI_EXP_LNKCTL_LD = 0x0010 # macro
1015
+ PCI_EXP_LNKCTL_RL = 0x0020 # macro
1016
+ PCI_EXP_LNKCTL_CCC = 0x0040 # macro
1017
+ PCI_EXP_LNKCTL_ES = 0x0080 # macro
1018
+ PCI_EXP_LNKCTL_CLKREQ_EN = 0x0100 # macro
1019
+ PCI_EXP_LNKCTL_HAWD = 0x0200 # macro
1020
+ PCI_EXP_LNKCTL_LBMIE = 0x0400 # macro
1021
+ PCI_EXP_LNKCTL_LABIE = 0x0800 # macro
1022
+ PCI_EXP_LNKSTA = 18 # macro
1023
+ PCI_EXP_LNKSTA_CLS = 0x000f # macro
1024
+ PCI_EXP_LNKSTA_CLS_2_5GB = 0x0001 # macro
1025
+ PCI_EXP_LNKSTA_CLS_5_0GB = 0x0002 # macro
1026
+ PCI_EXP_LNKSTA_CLS_8_0GB = 0x0003 # macro
1027
+ PCI_EXP_LNKSTA_CLS_16_0GB = 0x0004 # macro
1028
+ PCI_EXP_LNKSTA_CLS_32_0GB = 0x0005 # macro
1029
+ PCI_EXP_LNKSTA_CLS_64_0GB = 0x0006 # macro
1030
+ PCI_EXP_LNKSTA_NLW = 0x03f0 # macro
1031
+ PCI_EXP_LNKSTA_NLW_X1 = 0x0010 # macro
1032
+ PCI_EXP_LNKSTA_NLW_X2 = 0x0020 # macro
1033
+ PCI_EXP_LNKSTA_NLW_X4 = 0x0040 # macro
1034
+ PCI_EXP_LNKSTA_NLW_X8 = 0x0080 # macro
1035
+ PCI_EXP_LNKSTA_NLW_SHIFT = 4 # macro
1036
+ PCI_EXP_LNKSTA_LT = 0x0800 # macro
1037
+ PCI_EXP_LNKSTA_SLC = 0x1000 # macro
1038
+ PCI_EXP_LNKSTA_DLLLA = 0x2000 # macro
1039
+ PCI_EXP_LNKSTA_LBMS = 0x4000 # macro
1040
+ PCI_EXP_LNKSTA_LABS = 0x8000 # macro
1041
+ PCI_CAP_EXP_ENDPOINT_SIZEOF_V1 = 20 # macro
1042
+ PCI_EXP_SLTCAP = 20 # macro
1043
+ PCI_EXP_SLTCAP_ABP = 0x00000001 # macro
1044
+ PCI_EXP_SLTCAP_PCP = 0x00000002 # macro
1045
+ PCI_EXP_SLTCAP_MRLSP = 0x00000004 # macro
1046
+ PCI_EXP_SLTCAP_AIP = 0x00000008 # macro
1047
+ PCI_EXP_SLTCAP_PIP = 0x00000010 # macro
1048
+ PCI_EXP_SLTCAP_HPS = 0x00000020 # macro
1049
+ PCI_EXP_SLTCAP_HPC = 0x00000040 # macro
1050
+ PCI_EXP_SLTCAP_SPLV = 0x00007f80 # macro
1051
+ PCI_EXP_SLTCAP_SPLS = 0x00018000 # macro
1052
+ PCI_EXP_SLTCAP_EIP = 0x00020000 # macro
1053
+ PCI_EXP_SLTCAP_NCCS = 0x00040000 # macro
1054
+ PCI_EXP_SLTCAP_PSN = 0xfff80000 # macro
1055
+ PCI_EXP_SLTCTL = 24 # macro
1056
+ PCI_EXP_SLTCTL_ABPE = 0x0001 # macro
1057
+ PCI_EXP_SLTCTL_PFDE = 0x0002 # macro
1058
+ PCI_EXP_SLTCTL_MRLSCE = 0x0004 # macro
1059
+ PCI_EXP_SLTCTL_PDCE = 0x0008 # macro
1060
+ PCI_EXP_SLTCTL_CCIE = 0x0010 # macro
1061
+ PCI_EXP_SLTCTL_HPIE = 0x0020 # macro
1062
+ PCI_EXP_SLTCTL_AIC = 0x00c0 # macro
1063
+ PCI_EXP_SLTCTL_ATTN_IND_SHIFT = 6 # macro
1064
+ PCI_EXP_SLTCTL_ATTN_IND_ON = 0x0040 # macro
1065
+ PCI_EXP_SLTCTL_ATTN_IND_BLINK = 0x0080 # macro
1066
+ PCI_EXP_SLTCTL_ATTN_IND_OFF = 0x00c0 # macro
1067
+ PCI_EXP_SLTCTL_PIC = 0x0300 # macro
1068
+ PCI_EXP_SLTCTL_PWR_IND_ON = 0x0100 # macro
1069
+ PCI_EXP_SLTCTL_PWR_IND_BLINK = 0x0200 # macro
1070
+ PCI_EXP_SLTCTL_PWR_IND_OFF = 0x0300 # macro
1071
+ PCI_EXP_SLTCTL_PCC = 0x0400 # macro
1072
+ PCI_EXP_SLTCTL_PWR_ON = 0x0000 # macro
1073
+ PCI_EXP_SLTCTL_PWR_OFF = 0x0400 # macro
1074
+ PCI_EXP_SLTCTL_EIC = 0x0800 # macro
1075
+ PCI_EXP_SLTCTL_DLLSCE = 0x1000 # macro
1076
+ PCI_EXP_SLTCTL_IBPD_DISABLE = 0x4000 # macro
1077
+ PCI_EXP_SLTSTA = 26 # macro
1078
+ PCI_EXP_SLTSTA_ABP = 0x0001 # macro
1079
+ PCI_EXP_SLTSTA_PFD = 0x0002 # macro
1080
+ PCI_EXP_SLTSTA_MRLSC = 0x0004 # macro
1081
+ PCI_EXP_SLTSTA_PDC = 0x0008 # macro
1082
+ PCI_EXP_SLTSTA_CC = 0x0010 # macro
1083
+ PCI_EXP_SLTSTA_MRLSS = 0x0020 # macro
1084
+ PCI_EXP_SLTSTA_PDS = 0x0040 # macro
1085
+ PCI_EXP_SLTSTA_EIS = 0x0080 # macro
1086
+ PCI_EXP_SLTSTA_DLLSC = 0x0100 # macro
1087
+ PCI_EXP_RTCTL = 28 # macro
1088
+ PCI_EXP_RTCTL_SECEE = 0x0001 # macro
1089
+ PCI_EXP_RTCTL_SENFEE = 0x0002 # macro
1090
+ PCI_EXP_RTCTL_SEFEE = 0x0004 # macro
1091
+ PCI_EXP_RTCTL_PMEIE = 0x0008 # macro
1092
+ PCI_EXP_RTCTL_CRSSVE = 0x0010 # macro
1093
+ PCI_EXP_RTCAP = 30 # macro
1094
+ PCI_EXP_RTCAP_CRSVIS = 0x0001 # macro
1095
+ PCI_EXP_RTSTA = 32 # macro
1096
+ PCI_EXP_RTSTA_PME = 0x00010000 # macro
1097
+ PCI_EXP_RTSTA_PENDING = 0x00020000 # macro
1098
+ PCI_EXP_DEVCAP2 = 36 # macro
1099
+ PCI_EXP_DEVCAP2_COMP_TMOUT_DIS = 0x00000010 # macro
1100
+ PCI_EXP_DEVCAP2_ARI = 0x00000020 # macro
1101
+ PCI_EXP_DEVCAP2_ATOMIC_ROUTE = 0x00000040 # macro
1102
+ PCI_EXP_DEVCAP2_ATOMIC_COMP32 = 0x00000080 # macro
1103
+ PCI_EXP_DEVCAP2_ATOMIC_COMP64 = 0x00000100 # macro
1104
+ PCI_EXP_DEVCAP2_ATOMIC_COMP128 = 0x00000200 # macro
1105
+ PCI_EXP_DEVCAP2_LTR = 0x00000800 # macro
1106
+ PCI_EXP_DEVCAP2_OBFF_MASK = 0x000c0000 # macro
1107
+ PCI_EXP_DEVCAP2_OBFF_MSG = 0x00040000 # macro
1108
+ PCI_EXP_DEVCAP2_OBFF_WAKE = 0x00080000 # macro
1109
+ PCI_EXP_DEVCAP2_EE_PREFIX = 0x00200000 # macro
1110
+ PCI_EXP_DEVCTL2 = 40 # macro
1111
+ PCI_EXP_DEVCTL2_COMP_TIMEOUT = 0x000f # macro
1112
+ PCI_EXP_DEVCTL2_COMP_TMOUT_DIS = 0x0010 # macro
1113
+ PCI_EXP_DEVCTL2_ARI = 0x0020 # macro
1114
+ PCI_EXP_DEVCTL2_ATOMIC_REQ = 0x0040 # macro
1115
+ PCI_EXP_DEVCTL2_ATOMIC_EGRESS_BLOCK = 0x0080 # macro
1116
+ PCI_EXP_DEVCTL2_IDO_REQ_EN = 0x0100 # macro
1117
+ PCI_EXP_DEVCTL2_IDO_CMP_EN = 0x0200 # macro
1118
+ PCI_EXP_DEVCTL2_LTR_EN = 0x0400 # macro
1119
+ PCI_EXP_DEVCTL2_OBFF_MSGA_EN = 0x2000 # macro
1120
+ PCI_EXP_DEVCTL2_OBFF_MSGB_EN = 0x4000 # macro
1121
+ PCI_EXP_DEVCTL2_OBFF_WAKE_EN = 0x6000 # macro
1122
+ PCI_EXP_DEVSTA2 = 42 # macro
1123
+ PCI_CAP_EXP_RC_ENDPOINT_SIZEOF_V2 = 44 # macro
1124
+ PCI_EXP_LNKCAP2 = 44 # macro
1125
+ PCI_EXP_LNKCAP2_SLS_2_5GB = 0x00000002 # macro
1126
+ PCI_EXP_LNKCAP2_SLS_5_0GB = 0x00000004 # macro
1127
+ PCI_EXP_LNKCAP2_SLS_8_0GB = 0x00000008 # macro
1128
+ PCI_EXP_LNKCAP2_SLS_16_0GB = 0x00000010 # macro
1129
+ PCI_EXP_LNKCAP2_SLS_32_0GB = 0x00000020 # macro
1130
+ PCI_EXP_LNKCAP2_SLS_64_0GB = 0x00000040 # macro
1131
+ PCI_EXP_LNKCAP2_CROSSLINK = 0x00000100 # macro
1132
+ PCI_EXP_LNKCTL2 = 48 # macro
1133
+ PCI_EXP_LNKCTL2_TLS = 0x000f # macro
1134
+ PCI_EXP_LNKCTL2_TLS_2_5GT = 0x0001 # macro
1135
+ PCI_EXP_LNKCTL2_TLS_5_0GT = 0x0002 # macro
1136
+ PCI_EXP_LNKCTL2_TLS_8_0GT = 0x0003 # macro
1137
+ PCI_EXP_LNKCTL2_TLS_16_0GT = 0x0004 # macro
1138
+ PCI_EXP_LNKCTL2_TLS_32_0GT = 0x0005 # macro
1139
+ PCI_EXP_LNKCTL2_TLS_64_0GT = 0x0006 # macro
1140
+ PCI_EXP_LNKCTL2_ENTER_COMP = 0x0010 # macro
1141
+ PCI_EXP_LNKCTL2_TX_MARGIN = 0x0380 # macro
1142
+ PCI_EXP_LNKCTL2_HASD = 0x0020 # macro
1143
+ PCI_EXP_LNKSTA2 = 50 # macro
1144
+ PCI_CAP_EXP_ENDPOINT_SIZEOF_V2 = 52 # macro
1145
+ PCI_EXP_SLTCAP2 = 52 # macro
1146
+ PCI_EXP_SLTCAP2_IBPD = 0x00000001 # macro
1147
+ PCI_EXP_SLTCTL2 = 56 # macro
1148
+ PCI_EXP_SLTSTA2 = 58 # macro
1149
+ def PCI_EXT_CAP_ID(header): # macro
1150
+ return (header&0x0000ffff)
1151
+ def PCI_EXT_CAP_VER(header): # macro
1152
+ return ((header>>16)&0xf)
1153
+ def PCI_EXT_CAP_NEXT(header): # macro
1154
+ return ((header>>20)&0xffc)
1155
+ PCI_EXT_CAP_ID_ERR = 0x01 # macro
1156
+ PCI_EXT_CAP_ID_VC = 0x02 # macro
1157
+ PCI_EXT_CAP_ID_DSN = 0x03 # macro
1158
+ PCI_EXT_CAP_ID_PWR = 0x04 # macro
1159
+ PCI_EXT_CAP_ID_RCLD = 0x05 # macro
1160
+ PCI_EXT_CAP_ID_RCILC = 0x06 # macro
1161
+ PCI_EXT_CAP_ID_RCEC = 0x07 # macro
1162
+ PCI_EXT_CAP_ID_MFVC = 0x08 # macro
1163
+ PCI_EXT_CAP_ID_VC9 = 0x09 # macro
1164
+ PCI_EXT_CAP_ID_RCRB = 0x0A # macro
1165
+ PCI_EXT_CAP_ID_VNDR = 0x0B # macro
1166
+ PCI_EXT_CAP_ID_CAC = 0x0C # macro
1167
+ PCI_EXT_CAP_ID_ACS = 0x0D # macro
1168
+ PCI_EXT_CAP_ID_ARI = 0x0E # macro
1169
+ PCI_EXT_CAP_ID_ATS = 0x0F # macro
1170
+ PCI_EXT_CAP_ID_SRIOV = 0x10 # macro
1171
+ PCI_EXT_CAP_ID_MRIOV = 0x11 # macro
1172
+ PCI_EXT_CAP_ID_MCAST = 0x12 # macro
1173
+ PCI_EXT_CAP_ID_PRI = 0x13 # macro
1174
+ PCI_EXT_CAP_ID_AMD_XXX = 0x14 # macro
1175
+ PCI_EXT_CAP_ID_REBAR = 0x15 # macro
1176
+ PCI_EXT_CAP_ID_DPA = 0x16 # macro
1177
+ PCI_EXT_CAP_ID_TPH = 0x17 # macro
1178
+ PCI_EXT_CAP_ID_LTR = 0x18 # macro
1179
+ PCI_EXT_CAP_ID_SECPCI = 0x19 # macro
1180
+ PCI_EXT_CAP_ID_PMUX = 0x1A # macro
1181
+ PCI_EXT_CAP_ID_PASID = 0x1B # macro
1182
+ PCI_EXT_CAP_ID_DPC = 0x1D # macro
1183
+ PCI_EXT_CAP_ID_L1SS = 0x1E # macro
1184
+ PCI_EXT_CAP_ID_PTM = 0x1F # macro
1185
+ PCI_EXT_CAP_ID_DVSEC = 0x23 # macro
1186
+ PCI_EXT_CAP_ID_DLF = 0x25 # macro
1187
+ PCI_EXT_CAP_ID_PL_16GT = 0x26 # macro
1188
+ PCI_EXT_CAP_ID_MAX = 0x26 # macro
1189
+ PCI_EXT_CAP_DSN_SIZEOF = 12 # macro
1190
+ PCI_EXT_CAP_MCAST_ENDPOINT_SIZEOF = 40 # macro
1191
+ PCI_ERR_UNCOR_STATUS = 4 # macro
1192
+ PCI_ERR_UNC_UND = 0x00000001 # macro
1193
+ PCI_ERR_UNC_DLP = 0x00000010 # macro
1194
+ PCI_ERR_UNC_SURPDN = 0x00000020 # macro
1195
+ PCI_ERR_UNC_POISON_TLP = 0x00001000 # macro
1196
+ PCI_ERR_UNC_FCP = 0x00002000 # macro
1197
+ PCI_ERR_UNC_COMP_TIME = 0x00004000 # macro
1198
+ PCI_ERR_UNC_COMP_ABORT = 0x00008000 # macro
1199
+ PCI_ERR_UNC_UNX_COMP = 0x00010000 # macro
1200
+ PCI_ERR_UNC_RX_OVER = 0x00020000 # macro
1201
+ PCI_ERR_UNC_MALF_TLP = 0x00040000 # macro
1202
+ PCI_ERR_UNC_ECRC = 0x00080000 # macro
1203
+ PCI_ERR_UNC_UNSUP = 0x00100000 # macro
1204
+ PCI_ERR_UNC_ACSV = 0x00200000 # macro
1205
+ PCI_ERR_UNC_INTN = 0x00400000 # macro
1206
+ PCI_ERR_UNC_MCBTLP = 0x00800000 # macro
1207
+ PCI_ERR_UNC_ATOMEG = 0x01000000 # macro
1208
+ PCI_ERR_UNC_TLPPRE = 0x02000000 # macro
1209
+ PCI_ERR_UNCOR_MASK = 8 # macro
1210
+ PCI_ERR_UNCOR_SEVER = 12 # macro
1211
+ PCI_ERR_COR_STATUS = 16 # macro
1212
+ PCI_ERR_COR_RCVR = 0x00000001 # macro
1213
+ PCI_ERR_COR_BAD_TLP = 0x00000040 # macro
1214
+ PCI_ERR_COR_BAD_DLLP = 0x00000080 # macro
1215
+ PCI_ERR_COR_REP_ROLL = 0x00000100 # macro
1216
+ PCI_ERR_COR_REP_TIMER = 0x00001000 # macro
1217
+ PCI_ERR_COR_ADV_NFAT = 0x00002000 # macro
1218
+ PCI_ERR_COR_INTERNAL = 0x00004000 # macro
1219
+ PCI_ERR_COR_LOG_OVER = 0x00008000 # macro
1220
+ PCI_ERR_COR_MASK = 20 # macro
1221
+ PCI_ERR_CAP = 24 # macro
1222
+ def PCI_ERR_CAP_FEP(x): # macro
1223
+ return ((x)&31)
1224
+ PCI_ERR_CAP_ECRC_GENC = 0x00000020 # macro
1225
+ PCI_ERR_CAP_ECRC_GENE = 0x00000040 # macro
1226
+ PCI_ERR_CAP_ECRC_CHKC = 0x00000080 # macro
1227
+ PCI_ERR_CAP_ECRC_CHKE = 0x00000100 # macro
1228
+ PCI_ERR_HEADER_LOG = 28 # macro
1229
+ PCI_ERR_ROOT_COMMAND = 44 # macro
1230
+ PCI_ERR_ROOT_CMD_COR_EN = 0x00000001 # macro
1231
+ PCI_ERR_ROOT_CMD_NONFATAL_EN = 0x00000002 # macro
1232
+ PCI_ERR_ROOT_CMD_FATAL_EN = 0x00000004 # macro
1233
+ PCI_ERR_ROOT_STATUS = 48 # macro
1234
+ PCI_ERR_ROOT_COR_RCV = 0x00000001 # macro
1235
+ PCI_ERR_ROOT_MULTI_COR_RCV = 0x00000002 # macro
1236
+ PCI_ERR_ROOT_UNCOR_RCV = 0x00000004 # macro
1237
+ PCI_ERR_ROOT_MULTI_UNCOR_RCV = 0x00000008 # macro
1238
+ PCI_ERR_ROOT_FIRST_FATAL = 0x00000010 # macro
1239
+ PCI_ERR_ROOT_NONFATAL_RCV = 0x00000020 # macro
1240
+ PCI_ERR_ROOT_FATAL_RCV = 0x00000040 # macro
1241
+ PCI_ERR_ROOT_AER_IRQ = 0xf8000000 # macro
1242
+ PCI_ERR_ROOT_ERR_SRC = 52 # macro
1243
+ PCI_VC_PORT_CAP1 = 4 # macro
1244
+ PCI_VC_CAP1_EVCC = 0x00000007 # macro
1245
+ PCI_VC_CAP1_LPEVCC = 0x00000070 # macro
1246
+ PCI_VC_CAP1_ARB_SIZE = 0x00000c00 # macro
1247
+ PCI_VC_PORT_CAP2 = 8 # macro
1248
+ PCI_VC_CAP2_32_PHASE = 0x00000002 # macro
1249
+ PCI_VC_CAP2_64_PHASE = 0x00000004 # macro
1250
+ PCI_VC_CAP2_128_PHASE = 0x00000008 # macro
1251
+ PCI_VC_CAP2_ARB_OFF = 0xff000000 # macro
1252
+ PCI_VC_PORT_CTRL = 12 # macro
1253
+ PCI_VC_PORT_CTRL_LOAD_TABLE = 0x00000001 # macro
1254
+ PCI_VC_PORT_STATUS = 14 # macro
1255
+ PCI_VC_PORT_STATUS_TABLE = 0x00000001 # macro
1256
+ PCI_VC_RES_CAP = 16 # macro
1257
+ PCI_VC_RES_CAP_32_PHASE = 0x00000002 # macro
1258
+ PCI_VC_RES_CAP_64_PHASE = 0x00000004 # macro
1259
+ PCI_VC_RES_CAP_128_PHASE = 0x00000008 # macro
1260
+ PCI_VC_RES_CAP_128_PHASE_TB = 0x00000010 # macro
1261
+ PCI_VC_RES_CAP_256_PHASE = 0x00000020 # macro
1262
+ PCI_VC_RES_CAP_ARB_OFF = 0xff000000 # macro
1263
+ PCI_VC_RES_CTRL = 20 # macro
1264
+ PCI_VC_RES_CTRL_LOAD_TABLE = 0x00010000 # macro
1265
+ PCI_VC_RES_CTRL_ARB_SELECT = 0x000e0000 # macro
1266
+ PCI_VC_RES_CTRL_ID = 0x07000000 # macro
1267
+ PCI_VC_RES_CTRL_ENABLE = 0x80000000 # macro
1268
+ PCI_VC_RES_STATUS = 26 # macro
1269
+ PCI_VC_RES_STATUS_TABLE = 0x00000001 # macro
1270
+ PCI_VC_RES_STATUS_NEGO = 0x00000002 # macro
1271
+ PCI_CAP_VC_BASE_SIZEOF = 0x10 # macro
1272
+ PCI_CAP_VC_PER_VC_SIZEOF = 0x0C # macro
1273
+ PCI_PWR_DSR = 4 # macro
1274
+ PCI_PWR_DATA = 8 # macro
1275
+ def PCI_PWR_DATA_BASE(x): # macro
1276
+ return ((x)&0xff)
1277
+ def PCI_PWR_DATA_SCALE(x): # macro
1278
+ return (((x)>>8)&3)
1279
+ def PCI_PWR_DATA_PM_SUB(x): # macro
1280
+ return (((x)>>10)&7)
1281
+ def PCI_PWR_DATA_PM_STATE(x): # macro
1282
+ return (((x)>>13)&3)
1283
+ def PCI_PWR_DATA_TYPE(x): # macro
1284
+ return (((x)>>15)&7)
1285
+ def PCI_PWR_DATA_RAIL(x): # macro
1286
+ return (((x)>>18)&7)
1287
+ PCI_PWR_CAP = 12 # macro
1288
+ def PCI_PWR_CAP_BUDGET(x): # macro
1289
+ return ((x)&1)
1290
+ PCI_EXT_CAP_PWR_SIZEOF = 16 # macro
1291
+ PCI_RCEC_RCIEP_BITMAP = 4 # macro
1292
+ PCI_RCEC_BUSN = 8 # macro
1293
+ PCI_RCEC_BUSN_REG_VER = 0x02 # macro
1294
+ def PCI_RCEC_BUSN_NEXT(x): # macro
1295
+ return (((x)>>8)&0xff)
1296
+ def PCI_RCEC_BUSN_LAST(x): # macro
1297
+ return (((x)>>16)&0xff)
1298
+ PCI_VNDR_HEADER = 4 # macro
1299
+ def PCI_VNDR_HEADER_ID(x): # macro
1300
+ return ((x)&0xffff)
1301
+ def PCI_VNDR_HEADER_REV(x): # macro
1302
+ return (((x)>>16)&0xf)
1303
+ def PCI_VNDR_HEADER_LEN(x): # macro
1304
+ return (((x)>>20)&0xfff)
1305
+ HT_3BIT_CAP_MASK = 0xE0 # macro
1306
+ HT_CAPTYPE_SLAVE = 0x00 # macro
1307
+ HT_CAPTYPE_HOST = 0x20 # macro
1308
+ HT_5BIT_CAP_MASK = 0xF8 # macro
1309
+ HT_CAPTYPE_IRQ = 0x80 # macro
1310
+ HT_CAPTYPE_REMAPPING_40 = 0xA0 # macro
1311
+ HT_CAPTYPE_REMAPPING_64 = 0xA2 # macro
1312
+ HT_CAPTYPE_UNITID_CLUMP = 0x90 # macro
1313
+ HT_CAPTYPE_EXTCONF = 0x98 # macro
1314
+ HT_CAPTYPE_MSI_MAPPING = 0xA8 # macro
1315
+ HT_MSI_FLAGS = 0x02 # macro
1316
+ HT_MSI_FLAGS_ENABLE = 0x1 # macro
1317
+ HT_MSI_FLAGS_FIXED = 0x2 # macro
1318
+ HT_MSI_FIXED_ADDR = 0x00000000FEE00000 # macro
1319
+ HT_MSI_ADDR_LO = 0x04 # macro
1320
+ HT_MSI_ADDR_LO_MASK = 0xFFF00000 # macro
1321
+ HT_MSI_ADDR_HI = 0x08 # macro
1322
+ HT_CAPTYPE_DIRECT_ROUTE = 0xB0 # macro
1323
+ HT_CAPTYPE_VCSET = 0xB8 # macro
1324
+ HT_CAPTYPE_ERROR_RETRY = 0xC0 # macro
1325
+ HT_CAPTYPE_GEN3 = 0xD0 # macro
1326
+ HT_CAPTYPE_PM = 0xE0 # macro
1327
+ HT_CAP_SIZEOF_LONG = 28 # macro
1328
+ HT_CAP_SIZEOF_SHORT = 24 # macro
1329
+ PCI_ARI_CAP = 0x04 # macro
1330
+ PCI_ARI_CAP_MFVC = 0x0001 # macro
1331
+ PCI_ARI_CAP_ACS = 0x0002 # macro
1332
+ def PCI_ARI_CAP_NFN(x): # macro
1333
+ return (((x)>>8)&0xff)
1334
+ PCI_ARI_CTRL = 0x06 # macro
1335
+ PCI_ARI_CTRL_MFVC = 0x0001 # macro
1336
+ PCI_ARI_CTRL_ACS = 0x0002 # macro
1337
+ def PCI_ARI_CTRL_FG(x): # macro
1338
+ return (((x)>>4)&7)
1339
+ PCI_EXT_CAP_ARI_SIZEOF = 8 # macro
1340
+ PCI_ATS_CAP = 0x04 # macro
1341
+ def PCI_ATS_CAP_QDEP(x): # macro
1342
+ return ((x)&0x1f)
1343
+ PCI_ATS_MAX_QDEP = 32 # macro
1344
+ PCI_ATS_CAP_PAGE_ALIGNED = 0x0020 # macro
1345
+ PCI_ATS_CTRL = 0x06 # macro
1346
+ PCI_ATS_CTRL_ENABLE = 0x8000 # macro
1347
+ def PCI_ATS_CTRL_STU(x): # macro
1348
+ return ((x)&0x1f)
1349
+ PCI_ATS_MIN_STU = 12 # macro
1350
+ PCI_EXT_CAP_ATS_SIZEOF = 8 # macro
1351
+ PCI_PRI_CTRL = 0x04 # macro
1352
+ PCI_PRI_CTRL_ENABLE = 0x0001 # macro
1353
+ PCI_PRI_CTRL_RESET = 0x0002 # macro
1354
+ PCI_PRI_STATUS = 0x06 # macro
1355
+ PCI_PRI_STATUS_RF = 0x0001 # macro
1356
+ PCI_PRI_STATUS_UPRGI = 0x0002 # macro
1357
+ PCI_PRI_STATUS_STOPPED = 0x0100 # macro
1358
+ PCI_PRI_STATUS_PASID = 0x8000 # macro
1359
+ PCI_PRI_MAX_REQ = 0x08 # macro
1360
+ PCI_PRI_ALLOC_REQ = 0x0c # macro
1361
+ PCI_EXT_CAP_PRI_SIZEOF = 16 # macro
1362
+ PCI_PASID_CAP = 0x04 # macro
1363
+ PCI_PASID_CAP_EXEC = 0x02 # macro
1364
+ PCI_PASID_CAP_PRIV = 0x04 # macro
1365
+ PCI_PASID_CTRL = 0x06 # macro
1366
+ PCI_PASID_CTRL_ENABLE = 0x01 # macro
1367
+ PCI_PASID_CTRL_EXEC = 0x02 # macro
1368
+ PCI_PASID_CTRL_PRIV = 0x04 # macro
1369
+ PCI_EXT_CAP_PASID_SIZEOF = 8 # macro
1370
+ PCI_SRIOV_CAP = 0x04 # macro
1371
+ PCI_SRIOV_CAP_VFM = 0x00000001 # macro
1372
+ def PCI_SRIOV_CAP_INTR(x): # macro
1373
+ return ((x)>>21)
1374
+ PCI_SRIOV_CTRL = 0x08 # macro
1375
+ PCI_SRIOV_CTRL_VFE = 0x0001 # macro
1376
+ PCI_SRIOV_CTRL_VFM = 0x0002 # macro
1377
+ PCI_SRIOV_CTRL_INTR = 0x0004 # macro
1378
+ PCI_SRIOV_CTRL_MSE = 0x0008 # macro
1379
+ PCI_SRIOV_CTRL_ARI = 0x0010 # macro
1380
+ PCI_SRIOV_STATUS = 0x0a # macro
1381
+ PCI_SRIOV_STATUS_VFM = 0x0001 # macro
1382
+ PCI_SRIOV_INITIAL_VF = 0x0c # macro
1383
+ PCI_SRIOV_TOTAL_VF = 0x0e # macro
1384
+ PCI_SRIOV_NUM_VF = 0x10 # macro
1385
+ PCI_SRIOV_FUNC_LINK = 0x12 # macro
1386
+ PCI_SRIOV_VF_OFFSET = 0x14 # macro
1387
+ PCI_SRIOV_VF_STRIDE = 0x16 # macro
1388
+ PCI_SRIOV_VF_DID = 0x1a # macro
1389
+ PCI_SRIOV_SUP_PGSIZE = 0x1c # macro
1390
+ PCI_SRIOV_SYS_PGSIZE = 0x20 # macro
1391
+ PCI_SRIOV_BAR = 0x24 # macro
1392
+ PCI_SRIOV_NUM_BARS = 6 # macro
1393
+ PCI_SRIOV_VFM = 0x3c # macro
1394
+ def PCI_SRIOV_VFM_BIR(x): # macro
1395
+ return ((x)&7)
1396
+ def PCI_SRIOV_VFM_OFFSET(x): # macro
1397
+ return ((x)&~7)
1398
+ PCI_SRIOV_VFM_UA = 0x0 # macro
1399
+ PCI_SRIOV_VFM_MI = 0x1 # macro
1400
+ PCI_SRIOV_VFM_MO = 0x2 # macro
1401
+ PCI_SRIOV_VFM_AV = 0x3 # macro
1402
+ PCI_EXT_CAP_SRIOV_SIZEOF = 64 # macro
1403
+ PCI_LTR_MAX_SNOOP_LAT = 0x4 # macro
1404
+ PCI_LTR_MAX_NOSNOOP_LAT = 0x6 # macro
1405
+ PCI_LTR_VALUE_MASK = 0x000003ff # macro
1406
+ PCI_LTR_SCALE_MASK = 0x00001c00 # macro
1407
+ PCI_LTR_SCALE_SHIFT = 10 # macro
1408
+ PCI_EXT_CAP_LTR_SIZEOF = 8 # macro
1409
+ PCI_ACS_CAP = 0x04 # macro
1410
+ PCI_ACS_SV = 0x0001 # macro
1411
+ PCI_ACS_TB = 0x0002 # macro
1412
+ PCI_ACS_RR = 0x0004 # macro
1413
+ PCI_ACS_CR = 0x0008 # macro
1414
+ PCI_ACS_UF = 0x0010 # macro
1415
+ PCI_ACS_EC = 0x0020 # macro
1416
+ PCI_ACS_DT = 0x0040 # macro
1417
+ PCI_ACS_EGRESS_BITS = 0x05 # macro
1418
+ PCI_ACS_CTRL = 0x06 # macro
1419
+ PCI_ACS_EGRESS_CTL_V = 0x08 # macro
1420
+ PCI_VSEC_HDR = 4 # macro
1421
+ PCI_VSEC_HDR_LEN_SHIFT = 20 # macro
1422
+ PCI_SATA_REGS = 4 # macro
1423
+ PCI_SATA_REGS_MASK = 0xF # macro
1424
+ PCI_SATA_REGS_INLINE = 0xF # macro
1425
+ PCI_SATA_SIZEOF_SHORT = 8 # macro
1426
+ PCI_SATA_SIZEOF_LONG = 16 # macro
1427
+ PCI_REBAR_CAP = 4 # macro
1428
+ PCI_REBAR_CAP_SIZES = 0x00FFFFF0 # macro
1429
+ PCI_REBAR_CTRL = 8 # macro
1430
+ PCI_REBAR_CTRL_BAR_IDX = 0x00000007 # macro
1431
+ PCI_REBAR_CTRL_NBAR_MASK = 0x000000E0 # macro
1432
+ PCI_REBAR_CTRL_NBAR_SHIFT = 5 # macro
1433
+ PCI_REBAR_CTRL_BAR_SIZE = 0x00001F00 # macro
1434
+ PCI_REBAR_CTRL_BAR_SHIFT = 8 # macro
1435
+ PCI_DPA_CAP = 4 # macro
1436
+ PCI_DPA_CAP_SUBSTATE_MASK = 0x1F # macro
1437
+ PCI_DPA_BASE_SIZEOF = 16 # macro
1438
+ PCI_TPH_CAP = 4 # macro
1439
+ PCI_TPH_CAP_LOC_MASK = 0x600 # macro
1440
+ PCI_TPH_LOC_NONE = 0x000 # macro
1441
+ PCI_TPH_LOC_CAP = 0x200 # macro
1442
+ PCI_TPH_LOC_MSIX = 0x400 # macro
1443
+ PCI_TPH_CAP_ST_MASK = 0x07FF0000 # macro
1444
+ PCI_TPH_CAP_ST_SHIFT = 16 # macro
1445
+ PCI_TPH_BASE_SIZEOF = 12 # macro
1446
+ PCI_EXP_DPC_CAP = 4 # macro
1447
+ PCI_EXP_DPC_IRQ = 0x001F # macro
1448
+ PCI_EXP_DPC_CAP_RP_EXT = 0x0020 # macro
1449
+ PCI_EXP_DPC_CAP_POISONED_TLP = 0x0040 # macro
1450
+ PCI_EXP_DPC_CAP_SW_TRIGGER = 0x0080 # macro
1451
+ PCI_EXP_DPC_RP_PIO_LOG_SIZE = 0x0F00 # macro
1452
+ PCI_EXP_DPC_CAP_DL_ACTIVE = 0x1000 # macro
1453
+ PCI_EXP_DPC_CTL = 6 # macro
1454
+ PCI_EXP_DPC_CTL_EN_FATAL = 0x0001 # macro
1455
+ PCI_EXP_DPC_CTL_EN_NONFATAL = 0x0002 # macro
1456
+ PCI_EXP_DPC_CTL_INT_EN = 0x0008 # macro
1457
+ PCI_EXP_DPC_STATUS = 8 # macro
1458
+ PCI_EXP_DPC_STATUS_TRIGGER = 0x0001 # macro
1459
+ PCI_EXP_DPC_STATUS_TRIGGER_RSN = 0x0006 # macro
1460
+ PCI_EXP_DPC_STATUS_INTERRUPT = 0x0008 # macro
1461
+ PCI_EXP_DPC_RP_BUSY = 0x0010 # macro
1462
+ PCI_EXP_DPC_STATUS_TRIGGER_RSN_EXT = 0x0060 # macro
1463
+ PCI_EXP_DPC_SOURCE_ID = 10 # macro
1464
+ PCI_EXP_DPC_RP_PIO_STATUS = 0x0C # macro
1465
+ PCI_EXP_DPC_RP_PIO_MASK = 0x10 # macro
1466
+ PCI_EXP_DPC_RP_PIO_SEVERITY = 0x14 # macro
1467
+ PCI_EXP_DPC_RP_PIO_SYSERROR = 0x18 # macro
1468
+ PCI_EXP_DPC_RP_PIO_EXCEPTION = 0x1C # macro
1469
+ PCI_EXP_DPC_RP_PIO_HEADER_LOG = 0x20 # macro
1470
+ PCI_EXP_DPC_RP_PIO_IMPSPEC_LOG = 0x30 # macro
1471
+ PCI_EXP_DPC_RP_PIO_TLPPREFIX_LOG = 0x34 # macro
1472
+ PCI_PTM_CAP = 0x04 # macro
1473
+ PCI_PTM_CAP_REQ = 0x00000001 # macro
1474
+ PCI_PTM_CAP_ROOT = 0x00000004 # macro
1475
+ PCI_PTM_GRANULARITY_MASK = 0x0000FF00 # macro
1476
+ PCI_PTM_CTRL = 0x08 # macro
1477
+ PCI_PTM_CTRL_ENABLE = 0x00000001 # macro
1478
+ PCI_PTM_CTRL_ROOT = 0x00000002 # macro
1479
+ PCI_L1SS_CAP = 0x04 # macro
1480
+ PCI_L1SS_CAP_PCIPM_L1_2 = 0x00000001 # macro
1481
+ PCI_L1SS_CAP_PCIPM_L1_1 = 0x00000002 # macro
1482
+ PCI_L1SS_CAP_ASPM_L1_2 = 0x00000004 # macro
1483
+ PCI_L1SS_CAP_ASPM_L1_1 = 0x00000008 # macro
1484
+ PCI_L1SS_CAP_L1_PM_SS = 0x00000010 # macro
1485
+ PCI_L1SS_CAP_CM_RESTORE_TIME = 0x0000ff00 # macro
1486
+ PCI_L1SS_CAP_P_PWR_ON_SCALE = 0x00030000 # macro
1487
+ PCI_L1SS_CAP_P_PWR_ON_VALUE = 0x00f80000 # macro
1488
+ PCI_L1SS_CTL1 = 0x08 # macro
1489
+ PCI_L1SS_CTL1_PCIPM_L1_2 = 0x00000001 # macro
1490
+ PCI_L1SS_CTL1_PCIPM_L1_1 = 0x00000002 # macro
1491
+ PCI_L1SS_CTL1_ASPM_L1_2 = 0x00000004 # macro
1492
+ PCI_L1SS_CTL1_ASPM_L1_1 = 0x00000008 # macro
1493
+ PCI_L1SS_CTL1_L1_2_MASK = 0x00000005 # macro
1494
+ PCI_L1SS_CTL1_L1SS_MASK = 0x0000000f # macro
1495
+ PCI_L1SS_CTL1_CM_RESTORE_TIME = 0x0000ff00 # macro
1496
+ PCI_L1SS_CTL1_LTR_L12_TH_VALUE = 0x03ff0000 # macro
1497
+ PCI_L1SS_CTL1_LTR_L12_TH_SCALE = 0xe0000000 # macro
1498
+ PCI_L1SS_CTL2 = 0x0c # macro
1499
+ PCI_DVSEC_HEADER1 = 0x4 # macro
1500
+ PCI_DVSEC_HEADER2 = 0x8 # macro
1501
+ PCI_DLF_CAP = 0x04 # macro
1502
+ PCI_DLF_EXCHANGE_ENABLE = 0x80000000 # macro
1503
+ PCI_PL_16GT_LE_CTRL = 0x20 # macro
1504
+ PCI_PL_16GT_LE_CTRL_DSP_TX_PRESET_MASK = 0x0000000F # macro
1505
+ PCI_PL_16GT_LE_CTRL_USP_TX_PRESET_MASK = 0x000000F0 # macro
1506
+ PCI_PL_16GT_LE_CTRL_USP_TX_PRESET_SHIFT = 4 # macro
1507
+ struct_pci_device._pack_ = 1 # source:False
1508
+ struct_pci_device._fields_ = [
1509
+ ('domain_16', ctypes.c_uint16),
1510
+ ('bus', ctypes.c_ubyte),
1511
+ ('dev', ctypes.c_ubyte),
1512
+ ('func', ctypes.c_ubyte),
1513
+ ('PADDING_0', ctypes.c_ubyte),
1514
+ ('vendor_id', ctypes.c_uint16),
1515
+ ('device_id', ctypes.c_uint16),
1516
+ ('subvendor_id', ctypes.c_uint16),
1517
+ ('subdevice_id', ctypes.c_uint16),
1518
+ ('PADDING_1', ctypes.c_ubyte * 2),
1519
+ ('device_class', ctypes.c_uint32),
1520
+ ('revision', ctypes.c_ubyte),
1521
+ ('PADDING_2', ctypes.c_ubyte * 3),
1522
+ ('regions', struct_pci_mem_region * 6),
1523
+ ('rom_size', ctypes.c_uint64),
1524
+ ('irq', ctypes.c_int32),
1525
+ ('PADDING_3', ctypes.c_ubyte * 4),
1526
+ ('user_data', ctypes.c_int64),
1527
+ ('vgaarb_rsrc', ctypes.c_int32),
1528
+ ('domain', ctypes.c_uint32),
1529
+ ]
1530
+
1531
+ struct_pci_agp_info._pack_ = 1 # source:False
1532
+ struct_pci_agp_info._fields_ = [
1533
+ ('config_offset', ctypes.c_uint32),
1534
+ ('major_version', ctypes.c_ubyte),
1535
+ ('minor_version', ctypes.c_ubyte),
1536
+ ('rates', ctypes.c_ubyte),
1537
+ ('fast_writes', ctypes.c_uint32, 1),
1538
+ ('addr64', ctypes.c_uint32, 1),
1539
+ ('htrans', ctypes.c_uint32, 1),
1540
+ ('gart64', ctypes.c_uint32, 1),
1541
+ ('coherent', ctypes.c_uint32, 1),
1542
+ ('sideband', ctypes.c_uint32, 1),
1543
+ ('isochronus', ctypes.c_uint32, 1),
1544
+ ('PADDING_0', ctypes.c_uint8, 1),
1545
+ ('async_req_size', ctypes.c_uint32, 8),
1546
+ ('calibration_cycle_timing', ctypes.c_ubyte),
1547
+ ('max_requests', ctypes.c_ubyte),
1548
+ ('PADDING_1', ctypes.c_ubyte),
1549
+ ]
1550
+
1551
+ struct_pci_bridge_info._pack_ = 1 # source:False
1552
+ struct_pci_bridge_info._fields_ = [
1553
+ ('primary_bus', ctypes.c_ubyte),
1554
+ ('secondary_bus', ctypes.c_ubyte),
1555
+ ('subordinate_bus', ctypes.c_ubyte),
1556
+ ('secondary_latency_timer', ctypes.c_ubyte),
1557
+ ('io_type', ctypes.c_ubyte),
1558
+ ('mem_type', ctypes.c_ubyte),
1559
+ ('prefetch_mem_type', ctypes.c_ubyte),
1560
+ ('PADDING_0', ctypes.c_ubyte),
1561
+ ('secondary_status', ctypes.c_uint16),
1562
+ ('bridge_control', ctypes.c_uint16),
1563
+ ('io_base', ctypes.c_uint32),
1564
+ ('io_limit', ctypes.c_uint32),
1565
+ ('mem_base', ctypes.c_uint32),
1566
+ ('mem_limit', ctypes.c_uint32),
1567
+ ('PADDING_1', ctypes.c_ubyte * 4),
1568
+ ('prefetch_mem_base', ctypes.c_uint64),
1569
+ ('prefetch_mem_limit', ctypes.c_uint64),
1570
+ ]
1571
+
1572
+ struct_pci_pcmcia_bridge_info._pack_ = 1 # source:False
1573
+ struct_pci_pcmcia_bridge_info._fields_ = [
1574
+ ('primary_bus', ctypes.c_ubyte),
1575
+ ('card_bus', ctypes.c_ubyte),
1576
+ ('subordinate_bus', ctypes.c_ubyte),
1577
+ ('cardbus_latency_timer', ctypes.c_ubyte),
1578
+ ('secondary_status', ctypes.c_uint16),
1579
+ ('bridge_control', ctypes.c_uint16),
1580
+ ('io', struct_pci_pcmcia_bridge_info_0 * 2),
1581
+ ('mem', struct_pci_pcmcia_bridge_info_1 * 2),
1582
+ ]
1583
+
1584
+ struct_pci_slot_match._pack_ = 1 # source:False
1585
+ struct_pci_slot_match._fields_ = [
1586
+ ('domain', ctypes.c_uint32),
1587
+ ('bus', ctypes.c_uint32),
1588
+ ('dev', ctypes.c_uint32),
1589
+ ('func', ctypes.c_uint32),
1590
+ ('match_data', ctypes.c_int64),
1591
+ ]
1592
+
1593
+ struct_pci_id_match._pack_ = 1 # source:False
1594
+ struct_pci_id_match._fields_ = [
1595
+ ('vendor_id', ctypes.c_uint32),
1596
+ ('device_id', ctypes.c_uint32),
1597
+ ('subvendor_id', ctypes.c_uint32),
1598
+ ('subdevice_id', ctypes.c_uint32),
1599
+ ('device_class', ctypes.c_uint32),
1600
+ ('device_class_mask', ctypes.c_uint32),
1601
+ ('match_data', ctypes.c_int64),
1602
+ ]
1603
+
1604
+ __all__ = \
1605
+ ['HT_3BIT_CAP_MASK', 'HT_5BIT_CAP_MASK',
1606
+ 'HT_CAPTYPE_DIRECT_ROUTE', 'HT_CAPTYPE_ERROR_RETRY',
1607
+ 'HT_CAPTYPE_EXTCONF', 'HT_CAPTYPE_GEN3', 'HT_CAPTYPE_HOST',
1608
+ 'HT_CAPTYPE_IRQ', 'HT_CAPTYPE_MSI_MAPPING', 'HT_CAPTYPE_PM',
1609
+ 'HT_CAPTYPE_REMAPPING_40', 'HT_CAPTYPE_REMAPPING_64',
1610
+ 'HT_CAPTYPE_SLAVE', 'HT_CAPTYPE_UNITID_CLUMP', 'HT_CAPTYPE_VCSET',
1611
+ 'HT_CAP_SIZEOF_LONG', 'HT_CAP_SIZEOF_SHORT', 'HT_MSI_ADDR_HI',
1612
+ 'HT_MSI_ADDR_LO', 'HT_MSI_ADDR_LO_MASK', 'HT_MSI_FIXED_ADDR',
1613
+ 'HT_MSI_FLAGS', 'HT_MSI_FLAGS_ENABLE', 'HT_MSI_FLAGS_FIXED',
1614
+ 'LINUX_PCI_REGS_H', 'PCIACCESS_H', 'PCI_ACS_CAP', 'PCI_ACS_CR',
1615
+ 'PCI_ACS_CTRL', 'PCI_ACS_DT', 'PCI_ACS_EC', 'PCI_ACS_EGRESS_BITS',
1616
+ 'PCI_ACS_EGRESS_CTL_V', 'PCI_ACS_RR', 'PCI_ACS_SV', 'PCI_ACS_TB',
1617
+ 'PCI_ACS_UF', 'PCI_AF_CAP', 'PCI_AF_CAP_FLR', 'PCI_AF_CAP_TP',
1618
+ 'PCI_AF_CTRL', 'PCI_AF_CTRL_FLR', 'PCI_AF_LENGTH',
1619
+ 'PCI_AF_STATUS', 'PCI_AF_STATUS_TP', 'PCI_AGP_COMMAND',
1620
+ 'PCI_AGP_COMMAND_64BIT', 'PCI_AGP_COMMAND_AGP',
1621
+ 'PCI_AGP_COMMAND_FW', 'PCI_AGP_COMMAND_RATE1',
1622
+ 'PCI_AGP_COMMAND_RATE2', 'PCI_AGP_COMMAND_RATE4',
1623
+ 'PCI_AGP_COMMAND_RQ_MASK', 'PCI_AGP_COMMAND_SBA', 'PCI_AGP_RFU',
1624
+ 'PCI_AGP_SIZEOF', 'PCI_AGP_STATUS', 'PCI_AGP_STATUS_64BIT',
1625
+ 'PCI_AGP_STATUS_FW', 'PCI_AGP_STATUS_RATE1',
1626
+ 'PCI_AGP_STATUS_RATE2', 'PCI_AGP_STATUS_RATE4',
1627
+ 'PCI_AGP_STATUS_RQ_MASK', 'PCI_AGP_STATUS_SBA', 'PCI_AGP_VERSION',
1628
+ 'PCI_ARI_CAP', 'PCI_ARI_CAP_ACS', 'PCI_ARI_CAP_MFVC',
1629
+ 'PCI_ARI_CTRL', 'PCI_ARI_CTRL_ACS', 'PCI_ARI_CTRL_MFVC',
1630
+ 'PCI_ATS_CAP', 'PCI_ATS_CAP_PAGE_ALIGNED', 'PCI_ATS_CTRL',
1631
+ 'PCI_ATS_CTRL_ENABLE', 'PCI_ATS_MAX_QDEP', 'PCI_ATS_MIN_STU',
1632
+ 'PCI_BASE_ADDRESS_0', 'PCI_BASE_ADDRESS_1', 'PCI_BASE_ADDRESS_2',
1633
+ 'PCI_BASE_ADDRESS_3', 'PCI_BASE_ADDRESS_4', 'PCI_BASE_ADDRESS_5',
1634
+ 'PCI_BASE_ADDRESS_IO_MASK', 'PCI_BASE_ADDRESS_MEM_MASK',
1635
+ 'PCI_BASE_ADDRESS_MEM_PREFETCH', 'PCI_BASE_ADDRESS_MEM_TYPE_1M',
1636
+ 'PCI_BASE_ADDRESS_MEM_TYPE_32', 'PCI_BASE_ADDRESS_MEM_TYPE_64',
1637
+ 'PCI_BASE_ADDRESS_MEM_TYPE_MASK', 'PCI_BASE_ADDRESS_SPACE',
1638
+ 'PCI_BASE_ADDRESS_SPACE_IO', 'PCI_BASE_ADDRESS_SPACE_MEMORY',
1639
+ 'PCI_BIST', 'PCI_BIST_CAPABLE', 'PCI_BIST_CODE_MASK',
1640
+ 'PCI_BIST_START', 'PCI_BRIDGE_CONTROL',
1641
+ 'PCI_BRIDGE_CTL_BUS_RESET', 'PCI_BRIDGE_CTL_FAST_BACK',
1642
+ 'PCI_BRIDGE_CTL_ISA', 'PCI_BRIDGE_CTL_MASTER_ABORT',
1643
+ 'PCI_BRIDGE_CTL_PARITY', 'PCI_BRIDGE_CTL_SERR',
1644
+ 'PCI_BRIDGE_CTL_VGA', 'PCI_CACHE_LINE_SIZE',
1645
+ 'PCI_CAPABILITY_LIST', 'PCI_CAP_AF_SIZEOF',
1646
+ 'PCI_CAP_EXP_ENDPOINT_SIZEOF_V1',
1647
+ 'PCI_CAP_EXP_ENDPOINT_SIZEOF_V2',
1648
+ 'PCI_CAP_EXP_RC_ENDPOINT_SIZEOF_V1',
1649
+ 'PCI_CAP_EXP_RC_ENDPOINT_SIZEOF_V2', 'PCI_CAP_FLAGS',
1650
+ 'PCI_CAP_ID_AF', 'PCI_CAP_ID_AGP', 'PCI_CAP_ID_AGP3',
1651
+ 'PCI_CAP_ID_CCRC', 'PCI_CAP_ID_CHSWP', 'PCI_CAP_ID_DBG',
1652
+ 'PCI_CAP_ID_EA', 'PCI_CAP_ID_EXP', 'PCI_CAP_ID_HT',
1653
+ 'PCI_CAP_ID_MAX', 'PCI_CAP_ID_MSI', 'PCI_CAP_ID_MSIX',
1654
+ 'PCI_CAP_ID_PCIX', 'PCI_CAP_ID_PM', 'PCI_CAP_ID_SATA',
1655
+ 'PCI_CAP_ID_SECDEV', 'PCI_CAP_ID_SHPC', 'PCI_CAP_ID_SLOTID',
1656
+ 'PCI_CAP_ID_SSVID', 'PCI_CAP_ID_VNDR', 'PCI_CAP_ID_VPD',
1657
+ 'PCI_CAP_LIST_ID', 'PCI_CAP_LIST_NEXT', 'PCI_CAP_MSIX_SIZEOF',
1658
+ 'PCI_CAP_PCIX_SIZEOF_V0', 'PCI_CAP_PCIX_SIZEOF_V1',
1659
+ 'PCI_CAP_PCIX_SIZEOF_V2', 'PCI_CAP_SIZEOF',
1660
+ 'PCI_CAP_VC_BASE_SIZEOF', 'PCI_CAP_VC_PER_VC_SIZEOF',
1661
+ 'PCI_CAP_VPD_SIZEOF', 'PCI_CARDBUS_CIS', 'PCI_CB_BRIDGE_CONTROL',
1662
+ 'PCI_CB_BRIDGE_CTL_16BIT_INT', 'PCI_CB_BRIDGE_CTL_CB_RESET',
1663
+ 'PCI_CB_BRIDGE_CTL_ISA', 'PCI_CB_BRIDGE_CTL_MASTER_ABORT',
1664
+ 'PCI_CB_BRIDGE_CTL_PARITY', 'PCI_CB_BRIDGE_CTL_POST_WRITES',
1665
+ 'PCI_CB_BRIDGE_CTL_PREFETCH_MEM0',
1666
+ 'PCI_CB_BRIDGE_CTL_PREFETCH_MEM1', 'PCI_CB_BRIDGE_CTL_SERR',
1667
+ 'PCI_CB_BRIDGE_CTL_VGA', 'PCI_CB_CAPABILITY_LIST',
1668
+ 'PCI_CB_CARD_BUS', 'PCI_CB_IO_BASE_0', 'PCI_CB_IO_BASE_0_HI',
1669
+ 'PCI_CB_IO_BASE_1', 'PCI_CB_IO_BASE_1_HI', 'PCI_CB_IO_LIMIT_0',
1670
+ 'PCI_CB_IO_LIMIT_0_HI', 'PCI_CB_IO_LIMIT_1',
1671
+ 'PCI_CB_IO_LIMIT_1_HI', 'PCI_CB_IO_RANGE_MASK',
1672
+ 'PCI_CB_LATENCY_TIMER', 'PCI_CB_LEGACY_MODE_BASE',
1673
+ 'PCI_CB_MEMORY_BASE_0', 'PCI_CB_MEMORY_BASE_1',
1674
+ 'PCI_CB_MEMORY_LIMIT_0', 'PCI_CB_MEMORY_LIMIT_1',
1675
+ 'PCI_CB_PRIMARY_BUS', 'PCI_CB_SEC_STATUS',
1676
+ 'PCI_CB_SUBORDINATE_BUS', 'PCI_CB_SUBSYSTEM_ID',
1677
+ 'PCI_CB_SUBSYSTEM_VENDOR_ID', 'PCI_CFG_SPACE_EXP_SIZE',
1678
+ 'PCI_CFG_SPACE_SIZE', 'PCI_CHSWP_CSR', 'PCI_CHSWP_DHA',
1679
+ 'PCI_CHSWP_EIM', 'PCI_CHSWP_EXT', 'PCI_CHSWP_INS',
1680
+ 'PCI_CHSWP_LOO', 'PCI_CHSWP_PI', 'PCI_CHSWP_PIE',
1681
+ 'PCI_CLASS_DEVICE', 'PCI_CLASS_PROG', 'PCI_CLASS_REVISION',
1682
+ 'PCI_COMMAND', 'PCI_COMMAND_FAST_BACK',
1683
+ 'PCI_COMMAND_INTX_DISABLE', 'PCI_COMMAND_INVALIDATE',
1684
+ 'PCI_COMMAND_IO', 'PCI_COMMAND_MASTER', 'PCI_COMMAND_MEMORY',
1685
+ 'PCI_COMMAND_PARITY', 'PCI_COMMAND_SERR', 'PCI_COMMAND_SPECIAL',
1686
+ 'PCI_COMMAND_VGA_PALETTE', 'PCI_COMMAND_WAIT', 'PCI_DEVICE_ID',
1687
+ 'PCI_DEV_MAP_FLAG_CACHABLE', 'PCI_DEV_MAP_FLAG_WRITABLE',
1688
+ 'PCI_DEV_MAP_FLAG_WRITE_COMBINE', 'PCI_DLF_CAP',
1689
+ 'PCI_DLF_EXCHANGE_ENABLE', 'PCI_DPA_BASE_SIZEOF', 'PCI_DPA_CAP',
1690
+ 'PCI_DPA_CAP_SUBSTATE_MASK', 'PCI_DVSEC_HEADER1',
1691
+ 'PCI_DVSEC_HEADER2', 'PCI_EA_BASE', 'PCI_EA_BEI',
1692
+ 'PCI_EA_BEI_BAR0', 'PCI_EA_BEI_BAR5', 'PCI_EA_BEI_BRIDGE',
1693
+ 'PCI_EA_BEI_ENI', 'PCI_EA_BEI_RESERVED', 'PCI_EA_BEI_ROM',
1694
+ 'PCI_EA_BEI_VF_BAR0', 'PCI_EA_BEI_VF_BAR5', 'PCI_EA_ENABLE',
1695
+ 'PCI_EA_ES', 'PCI_EA_FIELD_MASK', 'PCI_EA_FIRST_ENT',
1696
+ 'PCI_EA_FIRST_ENT_BRIDGE', 'PCI_EA_IS_64', 'PCI_EA_MAX_OFFSET',
1697
+ 'PCI_EA_NUM_ENT', 'PCI_EA_NUM_ENT_MASK', 'PCI_EA_PP',
1698
+ 'PCI_EA_P_BRIDGE_IO', 'PCI_EA_P_BRIDGE_MEM',
1699
+ 'PCI_EA_P_BRIDGE_MEM_PREFETCH', 'PCI_EA_P_IO',
1700
+ 'PCI_EA_P_IO_RESERVED', 'PCI_EA_P_MEM', 'PCI_EA_P_MEM_PREFETCH',
1701
+ 'PCI_EA_P_MEM_RESERVED', 'PCI_EA_P_UNAVAILABLE',
1702
+ 'PCI_EA_P_VF_MEM', 'PCI_EA_P_VF_MEM_PREFETCH',
1703
+ 'PCI_EA_SEC_BUS_MASK', 'PCI_EA_SP', 'PCI_EA_SUB_BUS_MASK',
1704
+ 'PCI_EA_SUB_BUS_SHIFT', 'PCI_EA_WRITABLE', 'PCI_ERR_CAP',
1705
+ 'PCI_ERR_CAP_ECRC_CHKC', 'PCI_ERR_CAP_ECRC_CHKE',
1706
+ 'PCI_ERR_CAP_ECRC_GENC', 'PCI_ERR_CAP_ECRC_GENE',
1707
+ 'PCI_ERR_COR_ADV_NFAT', 'PCI_ERR_COR_BAD_DLLP',
1708
+ 'PCI_ERR_COR_BAD_TLP', 'PCI_ERR_COR_INTERNAL',
1709
+ 'PCI_ERR_COR_LOG_OVER', 'PCI_ERR_COR_MASK', 'PCI_ERR_COR_RCVR',
1710
+ 'PCI_ERR_COR_REP_ROLL', 'PCI_ERR_COR_REP_TIMER',
1711
+ 'PCI_ERR_COR_STATUS', 'PCI_ERR_HEADER_LOG',
1712
+ 'PCI_ERR_ROOT_AER_IRQ', 'PCI_ERR_ROOT_CMD_COR_EN',
1713
+ 'PCI_ERR_ROOT_CMD_FATAL_EN', 'PCI_ERR_ROOT_CMD_NONFATAL_EN',
1714
+ 'PCI_ERR_ROOT_COMMAND', 'PCI_ERR_ROOT_COR_RCV',
1715
+ 'PCI_ERR_ROOT_ERR_SRC', 'PCI_ERR_ROOT_FATAL_RCV',
1716
+ 'PCI_ERR_ROOT_FIRST_FATAL', 'PCI_ERR_ROOT_MULTI_COR_RCV',
1717
+ 'PCI_ERR_ROOT_MULTI_UNCOR_RCV', 'PCI_ERR_ROOT_NONFATAL_RCV',
1718
+ 'PCI_ERR_ROOT_STATUS', 'PCI_ERR_ROOT_UNCOR_RCV',
1719
+ 'PCI_ERR_UNCOR_MASK', 'PCI_ERR_UNCOR_SEVER',
1720
+ 'PCI_ERR_UNCOR_STATUS', 'PCI_ERR_UNC_ACSV', 'PCI_ERR_UNC_ATOMEG',
1721
+ 'PCI_ERR_UNC_COMP_ABORT', 'PCI_ERR_UNC_COMP_TIME',
1722
+ 'PCI_ERR_UNC_DLP', 'PCI_ERR_UNC_ECRC', 'PCI_ERR_UNC_FCP',
1723
+ 'PCI_ERR_UNC_INTN', 'PCI_ERR_UNC_MALF_TLP', 'PCI_ERR_UNC_MCBTLP',
1724
+ 'PCI_ERR_UNC_POISON_TLP', 'PCI_ERR_UNC_RX_OVER',
1725
+ 'PCI_ERR_UNC_SURPDN', 'PCI_ERR_UNC_TLPPRE', 'PCI_ERR_UNC_UND',
1726
+ 'PCI_ERR_UNC_UNSUP', 'PCI_ERR_UNC_UNX_COMP', 'PCI_EXP_DEVCAP',
1727
+ 'PCI_EXP_DEVCAP2', 'PCI_EXP_DEVCAP2_ARI',
1728
+ 'PCI_EXP_DEVCAP2_ATOMIC_COMP128', 'PCI_EXP_DEVCAP2_ATOMIC_COMP32',
1729
+ 'PCI_EXP_DEVCAP2_ATOMIC_COMP64', 'PCI_EXP_DEVCAP2_ATOMIC_ROUTE',
1730
+ 'PCI_EXP_DEVCAP2_COMP_TMOUT_DIS', 'PCI_EXP_DEVCAP2_EE_PREFIX',
1731
+ 'PCI_EXP_DEVCAP2_LTR', 'PCI_EXP_DEVCAP2_OBFF_MASK',
1732
+ 'PCI_EXP_DEVCAP2_OBFF_MSG', 'PCI_EXP_DEVCAP2_OBFF_WAKE',
1733
+ 'PCI_EXP_DEVCAP_ATN_BUT', 'PCI_EXP_DEVCAP_ATN_IND',
1734
+ 'PCI_EXP_DEVCAP_EXT_TAG', 'PCI_EXP_DEVCAP_FLR',
1735
+ 'PCI_EXP_DEVCAP_L0S', 'PCI_EXP_DEVCAP_L1',
1736
+ 'PCI_EXP_DEVCAP_PAYLOAD', 'PCI_EXP_DEVCAP_PHANTOM',
1737
+ 'PCI_EXP_DEVCAP_PWR_IND', 'PCI_EXP_DEVCAP_PWR_SCL',
1738
+ 'PCI_EXP_DEVCAP_PWR_VAL', 'PCI_EXP_DEVCAP_RBER', 'PCI_EXP_DEVCTL',
1739
+ 'PCI_EXP_DEVCTL2', 'PCI_EXP_DEVCTL2_ARI',
1740
+ 'PCI_EXP_DEVCTL2_ATOMIC_EGRESS_BLOCK',
1741
+ 'PCI_EXP_DEVCTL2_ATOMIC_REQ', 'PCI_EXP_DEVCTL2_COMP_TIMEOUT',
1742
+ 'PCI_EXP_DEVCTL2_COMP_TMOUT_DIS', 'PCI_EXP_DEVCTL2_IDO_CMP_EN',
1743
+ 'PCI_EXP_DEVCTL2_IDO_REQ_EN', 'PCI_EXP_DEVCTL2_LTR_EN',
1744
+ 'PCI_EXP_DEVCTL2_OBFF_MSGA_EN', 'PCI_EXP_DEVCTL2_OBFF_MSGB_EN',
1745
+ 'PCI_EXP_DEVCTL2_OBFF_WAKE_EN', 'PCI_EXP_DEVCTL_AUX_PME',
1746
+ 'PCI_EXP_DEVCTL_BCR_FLR', 'PCI_EXP_DEVCTL_CERE',
1747
+ 'PCI_EXP_DEVCTL_EXT_TAG', 'PCI_EXP_DEVCTL_FERE',
1748
+ 'PCI_EXP_DEVCTL_NFERE', 'PCI_EXP_DEVCTL_NOSNOOP_EN',
1749
+ 'PCI_EXP_DEVCTL_PAYLOAD', 'PCI_EXP_DEVCTL_PAYLOAD_1024B',
1750
+ 'PCI_EXP_DEVCTL_PAYLOAD_128B', 'PCI_EXP_DEVCTL_PAYLOAD_2048B',
1751
+ 'PCI_EXP_DEVCTL_PAYLOAD_256B', 'PCI_EXP_DEVCTL_PAYLOAD_4096B',
1752
+ 'PCI_EXP_DEVCTL_PAYLOAD_512B', 'PCI_EXP_DEVCTL_PHANTOM',
1753
+ 'PCI_EXP_DEVCTL_READRQ', 'PCI_EXP_DEVCTL_READRQ_1024B',
1754
+ 'PCI_EXP_DEVCTL_READRQ_128B', 'PCI_EXP_DEVCTL_READRQ_2048B',
1755
+ 'PCI_EXP_DEVCTL_READRQ_256B', 'PCI_EXP_DEVCTL_READRQ_4096B',
1756
+ 'PCI_EXP_DEVCTL_READRQ_512B', 'PCI_EXP_DEVCTL_RELAX_EN',
1757
+ 'PCI_EXP_DEVCTL_URRE', 'PCI_EXP_DEVSTA', 'PCI_EXP_DEVSTA2',
1758
+ 'PCI_EXP_DEVSTA_AUXPD', 'PCI_EXP_DEVSTA_CED',
1759
+ 'PCI_EXP_DEVSTA_FED', 'PCI_EXP_DEVSTA_NFED',
1760
+ 'PCI_EXP_DEVSTA_TRPND', 'PCI_EXP_DEVSTA_URD', 'PCI_EXP_DPC_CAP',
1761
+ 'PCI_EXP_DPC_CAP_DL_ACTIVE', 'PCI_EXP_DPC_CAP_POISONED_TLP',
1762
+ 'PCI_EXP_DPC_CAP_RP_EXT', 'PCI_EXP_DPC_CAP_SW_TRIGGER',
1763
+ 'PCI_EXP_DPC_CTL', 'PCI_EXP_DPC_CTL_EN_FATAL',
1764
+ 'PCI_EXP_DPC_CTL_EN_NONFATAL', 'PCI_EXP_DPC_CTL_INT_EN',
1765
+ 'PCI_EXP_DPC_IRQ', 'PCI_EXP_DPC_RP_BUSY',
1766
+ 'PCI_EXP_DPC_RP_PIO_EXCEPTION', 'PCI_EXP_DPC_RP_PIO_HEADER_LOG',
1767
+ 'PCI_EXP_DPC_RP_PIO_IMPSPEC_LOG', 'PCI_EXP_DPC_RP_PIO_LOG_SIZE',
1768
+ 'PCI_EXP_DPC_RP_PIO_MASK', 'PCI_EXP_DPC_RP_PIO_SEVERITY',
1769
+ 'PCI_EXP_DPC_RP_PIO_STATUS', 'PCI_EXP_DPC_RP_PIO_SYSERROR',
1770
+ 'PCI_EXP_DPC_RP_PIO_TLPPREFIX_LOG', 'PCI_EXP_DPC_SOURCE_ID',
1771
+ 'PCI_EXP_DPC_STATUS', 'PCI_EXP_DPC_STATUS_INTERRUPT',
1772
+ 'PCI_EXP_DPC_STATUS_TRIGGER', 'PCI_EXP_DPC_STATUS_TRIGGER_RSN',
1773
+ 'PCI_EXP_DPC_STATUS_TRIGGER_RSN_EXT', 'PCI_EXP_FLAGS',
1774
+ 'PCI_EXP_FLAGS_IRQ', 'PCI_EXP_FLAGS_SLOT', 'PCI_EXP_FLAGS_TYPE',
1775
+ 'PCI_EXP_FLAGS_VERS', 'PCI_EXP_LNKCAP', 'PCI_EXP_LNKCAP2',
1776
+ 'PCI_EXP_LNKCAP2_CROSSLINK', 'PCI_EXP_LNKCAP2_SLS_16_0GB',
1777
+ 'PCI_EXP_LNKCAP2_SLS_2_5GB', 'PCI_EXP_LNKCAP2_SLS_32_0GB',
1778
+ 'PCI_EXP_LNKCAP2_SLS_5_0GB', 'PCI_EXP_LNKCAP2_SLS_64_0GB',
1779
+ 'PCI_EXP_LNKCAP2_SLS_8_0GB', 'PCI_EXP_LNKCAP_ASPMS',
1780
+ 'PCI_EXP_LNKCAP_ASPM_L0S', 'PCI_EXP_LNKCAP_ASPM_L1',
1781
+ 'PCI_EXP_LNKCAP_CLKPM', 'PCI_EXP_LNKCAP_DLLLARC',
1782
+ 'PCI_EXP_LNKCAP_L0SEL', 'PCI_EXP_LNKCAP_L1EL',
1783
+ 'PCI_EXP_LNKCAP_LBNC', 'PCI_EXP_LNKCAP_MLW', 'PCI_EXP_LNKCAP_PN',
1784
+ 'PCI_EXP_LNKCAP_SDERC', 'PCI_EXP_LNKCAP_SLS',
1785
+ 'PCI_EXP_LNKCAP_SLS_16_0GB', 'PCI_EXP_LNKCAP_SLS_2_5GB',
1786
+ 'PCI_EXP_LNKCAP_SLS_32_0GB', 'PCI_EXP_LNKCAP_SLS_5_0GB',
1787
+ 'PCI_EXP_LNKCAP_SLS_64_0GB', 'PCI_EXP_LNKCAP_SLS_8_0GB',
1788
+ 'PCI_EXP_LNKCTL', 'PCI_EXP_LNKCTL2', 'PCI_EXP_LNKCTL2_ENTER_COMP',
1789
+ 'PCI_EXP_LNKCTL2_HASD', 'PCI_EXP_LNKCTL2_TLS',
1790
+ 'PCI_EXP_LNKCTL2_TLS_16_0GT', 'PCI_EXP_LNKCTL2_TLS_2_5GT',
1791
+ 'PCI_EXP_LNKCTL2_TLS_32_0GT', 'PCI_EXP_LNKCTL2_TLS_5_0GT',
1792
+ 'PCI_EXP_LNKCTL2_TLS_64_0GT', 'PCI_EXP_LNKCTL2_TLS_8_0GT',
1793
+ 'PCI_EXP_LNKCTL2_TX_MARGIN', 'PCI_EXP_LNKCTL_ASPMC',
1794
+ 'PCI_EXP_LNKCTL_ASPM_L0S', 'PCI_EXP_LNKCTL_ASPM_L1',
1795
+ 'PCI_EXP_LNKCTL_CCC', 'PCI_EXP_LNKCTL_CLKREQ_EN',
1796
+ 'PCI_EXP_LNKCTL_ES', 'PCI_EXP_LNKCTL_HAWD',
1797
+ 'PCI_EXP_LNKCTL_LABIE', 'PCI_EXP_LNKCTL_LBMIE',
1798
+ 'PCI_EXP_LNKCTL_LD', 'PCI_EXP_LNKCTL_RCB', 'PCI_EXP_LNKCTL_RL',
1799
+ 'PCI_EXP_LNKSTA', 'PCI_EXP_LNKSTA2', 'PCI_EXP_LNKSTA_CLS',
1800
+ 'PCI_EXP_LNKSTA_CLS_16_0GB', 'PCI_EXP_LNKSTA_CLS_2_5GB',
1801
+ 'PCI_EXP_LNKSTA_CLS_32_0GB', 'PCI_EXP_LNKSTA_CLS_5_0GB',
1802
+ 'PCI_EXP_LNKSTA_CLS_64_0GB', 'PCI_EXP_LNKSTA_CLS_8_0GB',
1803
+ 'PCI_EXP_LNKSTA_DLLLA', 'PCI_EXP_LNKSTA_LABS',
1804
+ 'PCI_EXP_LNKSTA_LBMS', 'PCI_EXP_LNKSTA_LT', 'PCI_EXP_LNKSTA_NLW',
1805
+ 'PCI_EXP_LNKSTA_NLW_SHIFT', 'PCI_EXP_LNKSTA_NLW_X1',
1806
+ 'PCI_EXP_LNKSTA_NLW_X2', 'PCI_EXP_LNKSTA_NLW_X4',
1807
+ 'PCI_EXP_LNKSTA_NLW_X8', 'PCI_EXP_LNKSTA_SLC', 'PCI_EXP_RTCAP',
1808
+ 'PCI_EXP_RTCAP_CRSVIS', 'PCI_EXP_RTCTL', 'PCI_EXP_RTCTL_CRSSVE',
1809
+ 'PCI_EXP_RTCTL_PMEIE', 'PCI_EXP_RTCTL_SECEE',
1810
+ 'PCI_EXP_RTCTL_SEFEE', 'PCI_EXP_RTCTL_SENFEE', 'PCI_EXP_RTSTA',
1811
+ 'PCI_EXP_RTSTA_PENDING', 'PCI_EXP_RTSTA_PME', 'PCI_EXP_SLTCAP',
1812
+ 'PCI_EXP_SLTCAP2', 'PCI_EXP_SLTCAP2_IBPD', 'PCI_EXP_SLTCAP_ABP',
1813
+ 'PCI_EXP_SLTCAP_AIP', 'PCI_EXP_SLTCAP_EIP', 'PCI_EXP_SLTCAP_HPC',
1814
+ 'PCI_EXP_SLTCAP_HPS', 'PCI_EXP_SLTCAP_MRLSP',
1815
+ 'PCI_EXP_SLTCAP_NCCS', 'PCI_EXP_SLTCAP_PCP', 'PCI_EXP_SLTCAP_PIP',
1816
+ 'PCI_EXP_SLTCAP_PSN', 'PCI_EXP_SLTCAP_SPLS',
1817
+ 'PCI_EXP_SLTCAP_SPLV', 'PCI_EXP_SLTCTL', 'PCI_EXP_SLTCTL2',
1818
+ 'PCI_EXP_SLTCTL_ABPE', 'PCI_EXP_SLTCTL_AIC',
1819
+ 'PCI_EXP_SLTCTL_ATTN_IND_BLINK', 'PCI_EXP_SLTCTL_ATTN_IND_OFF',
1820
+ 'PCI_EXP_SLTCTL_ATTN_IND_ON', 'PCI_EXP_SLTCTL_ATTN_IND_SHIFT',
1821
+ 'PCI_EXP_SLTCTL_CCIE', 'PCI_EXP_SLTCTL_DLLSCE',
1822
+ 'PCI_EXP_SLTCTL_EIC', 'PCI_EXP_SLTCTL_HPIE',
1823
+ 'PCI_EXP_SLTCTL_IBPD_DISABLE', 'PCI_EXP_SLTCTL_MRLSCE',
1824
+ 'PCI_EXP_SLTCTL_PCC', 'PCI_EXP_SLTCTL_PDCE',
1825
+ 'PCI_EXP_SLTCTL_PFDE', 'PCI_EXP_SLTCTL_PIC',
1826
+ 'PCI_EXP_SLTCTL_PWR_IND_BLINK', 'PCI_EXP_SLTCTL_PWR_IND_OFF',
1827
+ 'PCI_EXP_SLTCTL_PWR_IND_ON', 'PCI_EXP_SLTCTL_PWR_OFF',
1828
+ 'PCI_EXP_SLTCTL_PWR_ON', 'PCI_EXP_SLTSTA', 'PCI_EXP_SLTSTA2',
1829
+ 'PCI_EXP_SLTSTA_ABP', 'PCI_EXP_SLTSTA_CC', 'PCI_EXP_SLTSTA_DLLSC',
1830
+ 'PCI_EXP_SLTSTA_EIS', 'PCI_EXP_SLTSTA_MRLSC',
1831
+ 'PCI_EXP_SLTSTA_MRLSS', 'PCI_EXP_SLTSTA_PDC',
1832
+ 'PCI_EXP_SLTSTA_PDS', 'PCI_EXP_SLTSTA_PFD',
1833
+ 'PCI_EXP_TYPE_DOWNSTREAM', 'PCI_EXP_TYPE_ENDPOINT',
1834
+ 'PCI_EXP_TYPE_LEG_END', 'PCI_EXP_TYPE_PCIE_BRIDGE',
1835
+ 'PCI_EXP_TYPE_PCI_BRIDGE', 'PCI_EXP_TYPE_RC_EC',
1836
+ 'PCI_EXP_TYPE_RC_END', 'PCI_EXP_TYPE_ROOT_PORT',
1837
+ 'PCI_EXP_TYPE_UPSTREAM', 'PCI_EXT_CAP_ARI_SIZEOF',
1838
+ 'PCI_EXT_CAP_ATS_SIZEOF', 'PCI_EXT_CAP_DSN_SIZEOF',
1839
+ 'PCI_EXT_CAP_ID_ACS', 'PCI_EXT_CAP_ID_AMD_XXX',
1840
+ 'PCI_EXT_CAP_ID_ARI', 'PCI_EXT_CAP_ID_ATS', 'PCI_EXT_CAP_ID_CAC',
1841
+ 'PCI_EXT_CAP_ID_DLF', 'PCI_EXT_CAP_ID_DPA', 'PCI_EXT_CAP_ID_DPC',
1842
+ 'PCI_EXT_CAP_ID_DSN', 'PCI_EXT_CAP_ID_DVSEC',
1843
+ 'PCI_EXT_CAP_ID_ERR', 'PCI_EXT_CAP_ID_L1SS', 'PCI_EXT_CAP_ID_LTR',
1844
+ 'PCI_EXT_CAP_ID_MAX', 'PCI_EXT_CAP_ID_MCAST',
1845
+ 'PCI_EXT_CAP_ID_MFVC', 'PCI_EXT_CAP_ID_MRIOV',
1846
+ 'PCI_EXT_CAP_ID_PASID', 'PCI_EXT_CAP_ID_PL_16GT',
1847
+ 'PCI_EXT_CAP_ID_PMUX', 'PCI_EXT_CAP_ID_PRI', 'PCI_EXT_CAP_ID_PTM',
1848
+ 'PCI_EXT_CAP_ID_PWR', 'PCI_EXT_CAP_ID_RCEC',
1849
+ 'PCI_EXT_CAP_ID_RCILC', 'PCI_EXT_CAP_ID_RCLD',
1850
+ 'PCI_EXT_CAP_ID_RCRB', 'PCI_EXT_CAP_ID_REBAR',
1851
+ 'PCI_EXT_CAP_ID_SECPCI', 'PCI_EXT_CAP_ID_SRIOV',
1852
+ 'PCI_EXT_CAP_ID_TPH', 'PCI_EXT_CAP_ID_VC', 'PCI_EXT_CAP_ID_VC9',
1853
+ 'PCI_EXT_CAP_ID_VNDR', 'PCI_EXT_CAP_LTR_SIZEOF',
1854
+ 'PCI_EXT_CAP_MCAST_ENDPOINT_SIZEOF', 'PCI_EXT_CAP_PASID_SIZEOF',
1855
+ 'PCI_EXT_CAP_PRI_SIZEOF', 'PCI_EXT_CAP_PWR_SIZEOF',
1856
+ 'PCI_EXT_CAP_SRIOV_SIZEOF', 'PCI_HEADER_TYPE',
1857
+ 'PCI_HEADER_TYPE_BRIDGE', 'PCI_HEADER_TYPE_CARDBUS',
1858
+ 'PCI_HEADER_TYPE_MASK', 'PCI_HEADER_TYPE_NORMAL',
1859
+ 'PCI_INTERRUPT_LINE', 'PCI_INTERRUPT_PIN', 'PCI_IO_1K_RANGE_MASK',
1860
+ 'PCI_IO_BASE', 'PCI_IO_BASE_UPPER16', 'PCI_IO_LIMIT',
1861
+ 'PCI_IO_LIMIT_UPPER16', 'PCI_IO_RANGE_MASK',
1862
+ 'PCI_IO_RANGE_TYPE_16', 'PCI_IO_RANGE_TYPE_32',
1863
+ 'PCI_IO_RANGE_TYPE_MASK', 'PCI_L1SS_CAP',
1864
+ 'PCI_L1SS_CAP_ASPM_L1_1', 'PCI_L1SS_CAP_ASPM_L1_2',
1865
+ 'PCI_L1SS_CAP_CM_RESTORE_TIME', 'PCI_L1SS_CAP_L1_PM_SS',
1866
+ 'PCI_L1SS_CAP_PCIPM_L1_1', 'PCI_L1SS_CAP_PCIPM_L1_2',
1867
+ 'PCI_L1SS_CAP_P_PWR_ON_SCALE', 'PCI_L1SS_CAP_P_PWR_ON_VALUE',
1868
+ 'PCI_L1SS_CTL1', 'PCI_L1SS_CTL1_ASPM_L1_1',
1869
+ 'PCI_L1SS_CTL1_ASPM_L1_2', 'PCI_L1SS_CTL1_CM_RESTORE_TIME',
1870
+ 'PCI_L1SS_CTL1_L1SS_MASK', 'PCI_L1SS_CTL1_L1_2_MASK',
1871
+ 'PCI_L1SS_CTL1_LTR_L12_TH_SCALE',
1872
+ 'PCI_L1SS_CTL1_LTR_L12_TH_VALUE', 'PCI_L1SS_CTL1_PCIPM_L1_1',
1873
+ 'PCI_L1SS_CTL1_PCIPM_L1_2', 'PCI_L1SS_CTL2', 'PCI_LATENCY_TIMER',
1874
+ 'PCI_LTR_MAX_NOSNOOP_LAT', 'PCI_LTR_MAX_SNOOP_LAT',
1875
+ 'PCI_LTR_SCALE_MASK', 'PCI_LTR_SCALE_SHIFT', 'PCI_LTR_VALUE_MASK',
1876
+ 'PCI_MATCH_ANY', 'PCI_MAX_LAT', 'PCI_MEMORY_BASE',
1877
+ 'PCI_MEMORY_LIMIT', 'PCI_MEMORY_RANGE_MASK',
1878
+ 'PCI_MEMORY_RANGE_TYPE_MASK', 'PCI_MIN_GNT',
1879
+ 'PCI_MSIX_ENTRY_CTRL_MASKBIT', 'PCI_MSIX_ENTRY_DATA',
1880
+ 'PCI_MSIX_ENTRY_LOWER_ADDR', 'PCI_MSIX_ENTRY_SIZE',
1881
+ 'PCI_MSIX_ENTRY_UPPER_ADDR', 'PCI_MSIX_ENTRY_VECTOR_CTRL',
1882
+ 'PCI_MSIX_FLAGS', 'PCI_MSIX_FLAGS_BIRMASK',
1883
+ 'PCI_MSIX_FLAGS_ENABLE', 'PCI_MSIX_FLAGS_MASKALL',
1884
+ 'PCI_MSIX_FLAGS_QSIZE', 'PCI_MSIX_PBA', 'PCI_MSIX_PBA_BIR',
1885
+ 'PCI_MSIX_PBA_OFFSET', 'PCI_MSIX_TABLE', 'PCI_MSIX_TABLE_BIR',
1886
+ 'PCI_MSIX_TABLE_OFFSET', 'PCI_MSI_ADDRESS_HI',
1887
+ 'PCI_MSI_ADDRESS_LO', 'PCI_MSI_DATA_32', 'PCI_MSI_DATA_64',
1888
+ 'PCI_MSI_FLAGS', 'PCI_MSI_FLAGS_64BIT', 'PCI_MSI_FLAGS_ENABLE',
1889
+ 'PCI_MSI_FLAGS_MASKBIT', 'PCI_MSI_FLAGS_QMASK',
1890
+ 'PCI_MSI_FLAGS_QSIZE', 'PCI_MSI_MASK_32', 'PCI_MSI_MASK_64',
1891
+ 'PCI_MSI_PENDING_32', 'PCI_MSI_PENDING_64', 'PCI_MSI_RFU',
1892
+ 'PCI_PASID_CAP', 'PCI_PASID_CAP_EXEC', 'PCI_PASID_CAP_PRIV',
1893
+ 'PCI_PASID_CTRL', 'PCI_PASID_CTRL_ENABLE', 'PCI_PASID_CTRL_EXEC',
1894
+ 'PCI_PASID_CTRL_PRIV', 'PCI_PL_16GT_LE_CTRL',
1895
+ 'PCI_PL_16GT_LE_CTRL_DSP_TX_PRESET_MASK',
1896
+ 'PCI_PL_16GT_LE_CTRL_USP_TX_PRESET_MASK',
1897
+ 'PCI_PL_16GT_LE_CTRL_USP_TX_PRESET_SHIFT', 'PCI_PM_BPCC_ENABLE',
1898
+ 'PCI_PM_CAP_AUX_POWER', 'PCI_PM_CAP_D1', 'PCI_PM_CAP_D2',
1899
+ 'PCI_PM_CAP_DSI', 'PCI_PM_CAP_PME', 'PCI_PM_CAP_PME_CLOCK',
1900
+ 'PCI_PM_CAP_PME_D0', 'PCI_PM_CAP_PME_D1', 'PCI_PM_CAP_PME_D2',
1901
+ 'PCI_PM_CAP_PME_D3cold', 'PCI_PM_CAP_PME_D3hot',
1902
+ 'PCI_PM_CAP_PME_MASK', 'PCI_PM_CAP_PME_SHIFT',
1903
+ 'PCI_PM_CAP_RESERVED', 'PCI_PM_CAP_VER_MASK', 'PCI_PM_CTRL',
1904
+ 'PCI_PM_CTRL_DATA_SCALE_MASK', 'PCI_PM_CTRL_DATA_SEL_MASK',
1905
+ 'PCI_PM_CTRL_NO_SOFT_RESET', 'PCI_PM_CTRL_PME_ENABLE',
1906
+ 'PCI_PM_CTRL_PME_STATUS', 'PCI_PM_CTRL_STATE_MASK',
1907
+ 'PCI_PM_DATA_REGISTER', 'PCI_PM_PMC', 'PCI_PM_PPB_B2_B3',
1908
+ 'PCI_PM_PPB_EXTENSIONS', 'PCI_PM_SIZEOF', 'PCI_PREF_BASE_UPPER32',
1909
+ 'PCI_PREF_LIMIT_UPPER32', 'PCI_PREF_MEMORY_BASE',
1910
+ 'PCI_PREF_MEMORY_LIMIT', 'PCI_PREF_RANGE_MASK',
1911
+ 'PCI_PREF_RANGE_TYPE_32', 'PCI_PREF_RANGE_TYPE_64',
1912
+ 'PCI_PREF_RANGE_TYPE_MASK', 'PCI_PRIMARY_BUS',
1913
+ 'PCI_PRI_ALLOC_REQ', 'PCI_PRI_CTRL', 'PCI_PRI_CTRL_ENABLE',
1914
+ 'PCI_PRI_CTRL_RESET', 'PCI_PRI_MAX_REQ', 'PCI_PRI_STATUS',
1915
+ 'PCI_PRI_STATUS_PASID', 'PCI_PRI_STATUS_RF',
1916
+ 'PCI_PRI_STATUS_STOPPED', 'PCI_PRI_STATUS_UPRGI', 'PCI_PTM_CAP',
1917
+ 'PCI_PTM_CAP_REQ', 'PCI_PTM_CAP_ROOT', 'PCI_PTM_CTRL',
1918
+ 'PCI_PTM_CTRL_ENABLE', 'PCI_PTM_CTRL_ROOT',
1919
+ 'PCI_PTM_GRANULARITY_MASK', 'PCI_PWR_CAP', 'PCI_PWR_DATA',
1920
+ 'PCI_PWR_DSR', 'PCI_RCEC_BUSN', 'PCI_RCEC_BUSN_REG_VER',
1921
+ 'PCI_RCEC_RCIEP_BITMAP', 'PCI_REBAR_CAP', 'PCI_REBAR_CAP_SIZES',
1922
+ 'PCI_REBAR_CTRL', 'PCI_REBAR_CTRL_BAR_IDX',
1923
+ 'PCI_REBAR_CTRL_BAR_SHIFT', 'PCI_REBAR_CTRL_BAR_SIZE',
1924
+ 'PCI_REBAR_CTRL_NBAR_MASK', 'PCI_REBAR_CTRL_NBAR_SHIFT',
1925
+ 'PCI_REVISION_ID', 'PCI_ROM_ADDRESS', 'PCI_ROM_ADDRESS1',
1926
+ 'PCI_ROM_ADDRESS_ENABLE', 'PCI_ROM_ADDRESS_MASK', 'PCI_SATA_REGS',
1927
+ 'PCI_SATA_REGS_INLINE', 'PCI_SATA_REGS_MASK',
1928
+ 'PCI_SATA_SIZEOF_LONG', 'PCI_SATA_SIZEOF_SHORT',
1929
+ 'PCI_SECONDARY_BUS', 'PCI_SEC_LATENCY_TIMER', 'PCI_SEC_STATUS',
1930
+ 'PCI_SID_CHASSIS_NR', 'PCI_SID_ESR', 'PCI_SID_ESR_FIC',
1931
+ 'PCI_SID_ESR_NSLOTS', 'PCI_SRIOV_BAR', 'PCI_SRIOV_CAP',
1932
+ 'PCI_SRIOV_CAP_VFM', 'PCI_SRIOV_CTRL', 'PCI_SRIOV_CTRL_ARI',
1933
+ 'PCI_SRIOV_CTRL_INTR', 'PCI_SRIOV_CTRL_MSE', 'PCI_SRIOV_CTRL_VFE',
1934
+ 'PCI_SRIOV_CTRL_VFM', 'PCI_SRIOV_FUNC_LINK',
1935
+ 'PCI_SRIOV_INITIAL_VF', 'PCI_SRIOV_NUM_BARS', 'PCI_SRIOV_NUM_VF',
1936
+ 'PCI_SRIOV_STATUS', 'PCI_SRIOV_STATUS_VFM',
1937
+ 'PCI_SRIOV_SUP_PGSIZE', 'PCI_SRIOV_SYS_PGSIZE',
1938
+ 'PCI_SRIOV_TOTAL_VF', 'PCI_SRIOV_VFM', 'PCI_SRIOV_VFM_AV',
1939
+ 'PCI_SRIOV_VFM_MI', 'PCI_SRIOV_VFM_MO', 'PCI_SRIOV_VFM_UA',
1940
+ 'PCI_SRIOV_VF_DID', 'PCI_SRIOV_VF_OFFSET', 'PCI_SRIOV_VF_STRIDE',
1941
+ 'PCI_SSVID_DEVICE_ID', 'PCI_SSVID_VENDOR_ID', 'PCI_STATUS',
1942
+ 'PCI_STATUS_66MHZ', 'PCI_STATUS_CAP_LIST',
1943
+ 'PCI_STATUS_DETECTED_PARITY', 'PCI_STATUS_DEVSEL_FAST',
1944
+ 'PCI_STATUS_DEVSEL_MASK', 'PCI_STATUS_DEVSEL_MEDIUM',
1945
+ 'PCI_STATUS_DEVSEL_SLOW', 'PCI_STATUS_FAST_BACK',
1946
+ 'PCI_STATUS_IMM_READY', 'PCI_STATUS_INTERRUPT',
1947
+ 'PCI_STATUS_PARITY', 'PCI_STATUS_REC_MASTER_ABORT',
1948
+ 'PCI_STATUS_REC_TARGET_ABORT', 'PCI_STATUS_SIG_SYSTEM_ERROR',
1949
+ 'PCI_STATUS_SIG_TARGET_ABORT', 'PCI_STATUS_UDF',
1950
+ 'PCI_STD_HEADER_SIZEOF', 'PCI_STD_NUM_BARS',
1951
+ 'PCI_SUBORDINATE_BUS', 'PCI_SUBSYSTEM_ID',
1952
+ 'PCI_SUBSYSTEM_VENDOR_ID', 'PCI_TPH_BASE_SIZEOF', 'PCI_TPH_CAP',
1953
+ 'PCI_TPH_CAP_LOC_MASK', 'PCI_TPH_CAP_ST_MASK',
1954
+ 'PCI_TPH_CAP_ST_SHIFT', 'PCI_TPH_LOC_CAP', 'PCI_TPH_LOC_MSIX',
1955
+ 'PCI_TPH_LOC_NONE', 'PCI_VC_CAP1_ARB_SIZE', 'PCI_VC_CAP1_EVCC',
1956
+ 'PCI_VC_CAP1_LPEVCC', 'PCI_VC_CAP2_128_PHASE',
1957
+ 'PCI_VC_CAP2_32_PHASE', 'PCI_VC_CAP2_64_PHASE',
1958
+ 'PCI_VC_CAP2_ARB_OFF', 'PCI_VC_PORT_CAP1', 'PCI_VC_PORT_CAP2',
1959
+ 'PCI_VC_PORT_CTRL', 'PCI_VC_PORT_CTRL_LOAD_TABLE',
1960
+ 'PCI_VC_PORT_STATUS', 'PCI_VC_PORT_STATUS_TABLE',
1961
+ 'PCI_VC_RES_CAP', 'PCI_VC_RES_CAP_128_PHASE',
1962
+ 'PCI_VC_RES_CAP_128_PHASE_TB', 'PCI_VC_RES_CAP_256_PHASE',
1963
+ 'PCI_VC_RES_CAP_32_PHASE', 'PCI_VC_RES_CAP_64_PHASE',
1964
+ 'PCI_VC_RES_CAP_ARB_OFF', 'PCI_VC_RES_CTRL',
1965
+ 'PCI_VC_RES_CTRL_ARB_SELECT', 'PCI_VC_RES_CTRL_ENABLE',
1966
+ 'PCI_VC_RES_CTRL_ID', 'PCI_VC_RES_CTRL_LOAD_TABLE',
1967
+ 'PCI_VC_RES_STATUS', 'PCI_VC_RES_STATUS_NEGO',
1968
+ 'PCI_VC_RES_STATUS_TABLE', 'PCI_VENDOR_ID', 'PCI_VNDR_HEADER',
1969
+ 'PCI_VPD_ADDR', 'PCI_VPD_ADDR_F', 'PCI_VPD_ADDR_MASK',
1970
+ 'PCI_VPD_DATA', 'PCI_VSEC_HDR', 'PCI_VSEC_HDR_LEN_SHIFT',
1971
+ 'PCI_X_BRIDGE_SSTATUS', 'PCI_X_BRIDGE_STATUS', 'PCI_X_CMD',
1972
+ 'PCI_X_CMD_DPERR_E', 'PCI_X_CMD_ERO', 'PCI_X_CMD_MAX_READ',
1973
+ 'PCI_X_CMD_MAX_SPLIT', 'PCI_X_CMD_READ_1K', 'PCI_X_CMD_READ_2K',
1974
+ 'PCI_X_CMD_READ_4K', 'PCI_X_CMD_READ_512', 'PCI_X_CMD_SPLIT_1',
1975
+ 'PCI_X_CMD_SPLIT_12', 'PCI_X_CMD_SPLIT_16', 'PCI_X_CMD_SPLIT_2',
1976
+ 'PCI_X_CMD_SPLIT_3', 'PCI_X_CMD_SPLIT_32', 'PCI_X_CMD_SPLIT_4',
1977
+ 'PCI_X_CMD_SPLIT_8', 'PCI_X_ECC_CSR', 'PCI_X_SSTATUS_133MHZ',
1978
+ 'PCI_X_SSTATUS_266MHZ', 'PCI_X_SSTATUS_533MHZ',
1979
+ 'PCI_X_SSTATUS_64BIT', 'PCI_X_SSTATUS_FREQ', 'PCI_X_SSTATUS_V1',
1980
+ 'PCI_X_SSTATUS_V2', 'PCI_X_SSTATUS_VERS', 'PCI_X_STATUS',
1981
+ 'PCI_X_STATUS_133MHZ', 'PCI_X_STATUS_266MHZ',
1982
+ 'PCI_X_STATUS_533MHZ', 'PCI_X_STATUS_64BIT', 'PCI_X_STATUS_BUS',
1983
+ 'PCI_X_STATUS_COMPLEX', 'PCI_X_STATUS_DEVFN',
1984
+ 'PCI_X_STATUS_MAX_CUM', 'PCI_X_STATUS_MAX_READ',
1985
+ 'PCI_X_STATUS_MAX_SPLIT', 'PCI_X_STATUS_SPL_DISC',
1986
+ 'PCI_X_STATUS_SPL_ERR', 'PCI_X_STATUS_UNX_SPL',
1987
+ 'VGA_ARB_RSRC_LEGACY_IO', 'VGA_ARB_RSRC_LEGACY_MEM',
1988
+ 'VGA_ARB_RSRC_NONE', 'VGA_ARB_RSRC_NORMAL_IO',
1989
+ 'VGA_ARB_RSRC_NORMAL_MEM', 'pci_device_cfg_read',
1990
+ 'pci_device_cfg_read_u16', 'pci_device_cfg_read_u32',
1991
+ 'pci_device_cfg_read_u8', 'pci_device_cfg_write',
1992
+ 'pci_device_cfg_write_bits', 'pci_device_cfg_write_u16',
1993
+ 'pci_device_cfg_write_u32', 'pci_device_cfg_write_u8',
1994
+ 'pci_device_close_io', 'pci_device_enable',
1995
+ 'pci_device_find_by_slot', 'pci_device_get_agp_info',
1996
+ 'pci_device_get_bridge_buses', 'pci_device_get_bridge_info',
1997
+ 'pci_device_get_device_name', 'pci_device_get_parent_bridge',
1998
+ 'pci_device_get_pcmcia_bridge_info',
1999
+ 'pci_device_get_subdevice_name', 'pci_device_get_subvendor_name',
2000
+ 'pci_device_get_vendor_name', 'pci_device_has_kernel_driver',
2001
+ 'pci_device_is_boot_vga', 'pci_device_map_legacy',
2002
+ 'pci_device_map_memory_range', 'pci_device_map_range',
2003
+ 'pci_device_map_region', 'pci_device_next', 'pci_device_open_io',
2004
+ 'pci_device_probe', 'pci_device_read_rom',
2005
+ 'pci_device_unmap_legacy', 'pci_device_unmap_memory_range',
2006
+ 'pci_device_unmap_range', 'pci_device_unmap_region',
2007
+ 'pci_device_vgaarb_decodes', 'pci_device_vgaarb_fini',
2008
+ 'pci_device_vgaarb_get_info', 'pci_device_vgaarb_init',
2009
+ 'pci_device_vgaarb_lock', 'pci_device_vgaarb_set_target',
2010
+ 'pci_device_vgaarb_trylock', 'pci_device_vgaarb_unlock',
2011
+ 'pci_get_strings', 'pci_id_match_iterator_create',
2012
+ 'pci_io_read16', 'pci_io_read32', 'pci_io_read8',
2013
+ 'pci_io_write16', 'pci_io_write32', 'pci_io_write8',
2014
+ 'pci_iterator_destroy', 'pci_legacy_open_io',
2015
+ 'pci_slot_match_iterator_create', 'pci_system_cleanup',
2016
+ 'pci_system_init', 'pci_system_init_dev_mem', 'pciaddr_t',
2017
+ 'struct_pci_agp_info', 'struct_pci_bridge_info',
2018
+ 'struct_pci_device', 'struct_pci_device_iterator',
2019
+ 'struct_pci_id_match', 'struct_pci_io_handle',
2020
+ 'struct_pci_mem_region', 'struct_pci_pcmcia_bridge_info',
2021
+ 'struct_pci_pcmcia_bridge_info_0',
2022
+ 'struct_pci_pcmcia_bridge_info_1', 'struct_pci_slot_match',
2023
+ 'uint16_t', 'uint32_t', 'uint8_t']