PCIDriverKit
Develop device drivers for Peripheral Component Interconnect (PCI) accessories.
Mentioned in
Overview
Use the PCIDriverKit framework to develop drivers that manage custom features on your Peripheral Component Interconnect (PCI) and PCI-Express hardware. When the system loads your custom PCI driver, it passes an IOPCIDevice object as the provider to your driver. Use that object to read and write the configuration and memory of your PCI hardware.
On macOS, use the System Extensions framework to install and upgrade your driver. On iPadOS, the system automatically discovers and upgrades drivers along with their host apps.
Topics
Entitlements
Samples
Device Interface
Reference
Macros
kIOPCIACSCapabilitiesKeykIOPCIAERCapabilitiesKeykIOPCIExpressDeviceCapabilities2KeykIOPCIExpressDeviceCapabilitiesKeykIOPCIExpressLinkCapabilities2KeykIOPCIExpressRootCapabilitiesKeykIOPCIExpressSlotCapabilities2KeykIOPCIFPBCapabilitiesKeykIOPCIL1PMCapabilitiesKeykIOPCIMSIMessageControlKeykIOPCIMSIXMessageControlKeykIOPCIPTMCapabilitiesKeykIOPCIPowerManagementCapabilitiesKey
Enumeration Cases
kIOPCICapabilityIDAFkIOPCICapabilityIDEnhancedAllocationkIOPCICapabilityIDSATAConfigurationkIOPCIExpressCapabilityIDAMDkIOPCIExpressCapabilityIDATSkIOPCIExpressCapabilityIDAlternateProtocolkIOPCIExpressCapabilityIDCACkIOPCIExpressCapabilityIDDPAkIOPCIExpressCapabilityIDDPCkIOPCIExpressCapabilityIDDVSECkIOPCIExpressCapabilityIDDataLinkFeaturekIOPCIExpressCapabilityIDFRSQueueingkIOPCIExpressCapabilityIDHierarchyIDkIOPCIExpressCapabilityIDLNRkIOPCIExpressCapabilityIDLaneMarginingRxkIOPCIExpressCapabilityIDMFVCkIOPCIExpressCapabilityIDMPCIekIOPCIExpressCapabilityIDMRIOVkIOPCIExpressCapabilityIDMulticastkIOPCIExpressCapabilityIDNPEMkIOPCIExpressCapabilityIDPASIDkIOPCIExpressCapabilityIDPL16GTskIOPCIExpressCapabilityIDPL32GTskIOPCIExpressCapabilityIDPMUXkIOPCIExpressCapabilityIDPRIkIOPCIExpressCapabilityIDRCECEndpointAssociationkIOPCIExpressCapabilityIDRCInternalLinkCtrlkIOPCIExpressCapabilityIDRCLinkDeclarationkIOPCIExpressCapabilityIDReadinessTimeReportingkIOPCIExpressCapabilityIDResizableBARkIOPCIExpressCapabilityIDRootComplexRegBlockkIOPCIExpressCapabilityIDSFIkIOPCIExpressCapabilityIDSPCIekIOPCIExpressCapabilityIDSRIOVkIOPCIExpressCapabilityIDTPHRequesterkIOPCIExpressCapabilityIDVC_MFVCPresentkIOPCIExpressCapabilityIDVFResizableBARkIOPCIExpressCapabilityIDVSECkIOPCISlotStatusAttentionButtonPressedkIOPCISlotStatusCommandCompletedkIOPCISlotStatusDataLinkLayerStateChangedkIOPCISlotStatusElectromechanicalInterlockStatekIOPCISlotStatusMRLSensorChangedkIOPCISlotStatusMRLSensorStatekIOPCISlotStatusPowerFaultDetectedkIOPCISlotStatusPresenceDetectChangedkIOPCISlotStatusPresenceDetectState