blob: e6b502367df77356bc5b047cbb8f54efd4a75d8f [file] [log] [blame]
// 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.
struct PcieDeviceInfo {
uint16 vendor_id;
uint16 device_id;
uint8 base_class;
uint8 sub_class;
uint8 program_interface;
uint8 revision_id;
uint8 bus_id;
uint8 dev_id;
uint8 func_id;
uint8 padding1;
};
enum PciIrqMode : uint8 {
DISABLED = 0;
LEGACY = 1;
LEGACY_NOACK = 2;
MSI = 3;
MSI_X = 4;
};
resource union PciField {
1: uint64 addr;
2: zx.handle:VMO handle;
};
resource struct PciBar {
uint32 id;
uint32 type;
uint64 size;
PciField u;
};