| // Copyright 2021 The Fuchsia Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| library fuchsia.hardware.syscalls.pci; |
| |
| using zx; |
| |
| // Defines and structures related to zx_pci_*() |
| // Info returned to dev manager for PCIe devices when probing. |
| type PcieDeviceInfo = struct { |
| vendor_id uint16; |
| device_id uint16; |
| |
| base_class uint8; |
| sub_class uint8; |
| program_interface uint8; |
| revision_id uint8; |
| |
| bus_id uint8; |
| dev_id uint8; |
| func_id uint8; |
| |
| padding1 uint8; |
| }; |
| |
| type PciIrqMode = strict enum : uint8 { |
| DISABLED = 0; |
| LEGACY = 1; |
| LEGACY_NOACK = 2; |
| MSI = 3; |
| MSI_X = 4; |
| }; |
| |
| type PciBar = resource struct { |
| id uint32; |
| type uint32; |
| size uint64; |
| address uint64; |
| handle zx.handle:VMO; |
| }; |