kocoman Posted February 22, 2023 Share Posted February 22, 2023 how does appleahci.kext knows my marvell card without pci matching id to load it? thx Link to comment Share on other sites More sharing options...
1Revenger1 Posted February 23, 2023 Share Posted February 23, 2023 (edited) Do you mean AppleAHCIPort.kext? The IOPCIFamily has several different ways to match kexts to it. 1) All of the normal IOKit matching methods (IOName, IOPropertyMatch, etc) which will check the name or properties of the device in the IOService tree. 2) IOPCIClassMatch - Checks the class of the PCI device, which is defined in the registers of every PCI device. This defines what type of device it is, such as whether it is a GPU, AHCI controller, WIFI card, etc 3) IOPCIPrimaryMatch - Checks the vendor and device id of the PCI device Those three are the primary ways that AppleAHCIPort attempts to match against those controllers. You can see all of the IOKit personalities if you open up the Info.plist. There is a catch all entry which checks for the right PCI class (0x010601xx). It has a lower probe score compared to the other entries since it's a generic entry that is a "last resort" of sorts if none of the other personalities match. Edit: If you have any further questions, you'll want to peruse the documentation that Apple has. Here is a page specifically about IOKit matching:https://developer.apple.com/library/archive/documentation/DeviceDrivers/Conceptual/IOKitFundamentals/Matching/Matching.html Edited February 23, 2023 by 1Revenger1 2 Link to comment Share on other sites More sharing options...
Recommended Posts