PCIDriverKit

RSS for tag

Develop device drivers for Peripheral Component Interconnect accessories.

PCIDriverKit Documentation

Posts under PCIDriverKit tag

8 Posts
Sort by:
Post not yet marked as solved
10 Replies
540 Views
We're invited to write PCI drivers for iPad, but there's no capability for PCI Driver Kit in Xcode and a com.apple.developer.driverkit.transport.pci key in your entitlements does not find its way into your embedded.provisionprofile with Automatically Manage Signing nor can you manually add it in the appID portal, because it's not there. Huh?
Posted Last updated
.
Post not yet marked as solved
0 Replies
91 Views
There is currently no way to "Bring your driver to iPad with DriverKit" because it's impossible to develop a driver because developers can neither deploy to the device nor run there because there is no way to procure development provisioning profiles with the required entitlements for actual hardware (USB, PCI). I bought an M1 iPad just to test this alleged new capability and the only thing it's good for so far is theoretically transferring files quickly or attaching some kind of ethernet dongle. My 1 month no-questions-asked returns window is going to close soon! FB10152280 FB10244398 FB10244627 FB10160665 FB10152361 FB10160793 FB10152210 FB10160567 FB10244046 FB10427776
Posted Last updated
.
Post not yet marked as solved
0 Replies
93 Views
Dear all we try to test a capture card in M1 and Intel Mac book . we find some different . insert thunderbolt device(pcie device). open OBS and open the video. Unplug the device without close the OBS(APP). re-plug the device . we find M1 can't find the Thunderbolt drive . thunderbolt port are block, we had to restart the pc and fix the problem . but intel Mac book have not the problem . if I close these app, and then Unplug the device , then we re-plug it , we find M1 And Intel MAC book can work. we summary it M1 have a thunderbolt block problem when app run to unplug the thunderbolt . Intel Mac have not the problem . I want to know how to fix the problem.
Posted
by liu258.
Last updated
.
Post not yet marked as solved
1 Replies
353 Views
I read the doc of installing system extensions https://developer.apple.com/documentation/systemextensions/installing_system_extensions_and_drivers?language=objc , but actually our product is a framework and installed by .pkg. I/O Kit kext is installed by script in .pkg. So I meet a problem :how to install DriverKit dext by script?
Posted Last updated
.
Post not yet marked as solved
0 Replies
171 Views
Was wondering if we are getting any closer to seeing some PCIDriverKit Example code. Thank you.
Posted
by TomReu.
Last updated
.
Post not yet marked as solved
0 Replies
305 Views
Hello, I am porting a PCI driver written with IOKit to the new PCIDriverKit framework. I am able to perform DMA with a contiguous buffer allocated inside the dext (with IOBufferMemoryDescriptor::Create). But I would also like to perform DMA to and from a buffer allocated by an application. What I exactly want to do is: Allocate an aligned buffer in the app (with e.g. posix_memalign) Send the pointer to this buffer to the dext In the dext, retrieve the list of pages descriptors to be able to perform DMA without copy into (or from) this buffer. In IOKit, we can use methods such IOMemoryDescriptor::withAddressRange and IODMACommand::gen64IOVMSegments to map and retrieve the scatter gather list but I cannot find any information on how to do this in a dext with the PCIDriverKit framework. Can anybody help me on how to do that?
Posted
by Benoit55.
Last updated
.
Post not yet marked as solved
1 Replies
616 Views
Looking for Driverkit examples, I see a reference to this page.. https://developer.apple.com/documentation/networkingdriverkit/connecting_a_network_driver. However the page is not found. Any idea when this example will be available?
Posted
by TomReu.
Last updated
.
Post marked as solved
1 Replies
623 Views
The basic question: How is a vendor of PCI devices supposed to make multiple DEXTs that control subsets of PCI device IDs? If one has a PCI vendor ID of 0xCDEF and two devices with device IDs of 0x1234 and 0x5678 that need two separate drivers, how are the DEXTs constructed to match accordingly? If each driver specifies an explicit IOPCIPrimaryMatch of 0x1234CDEF and 0x5678CDEF, then it seems the vendor would have to request special entitlements for each driver (and maintain them through Apple if additional models are added). Ugh. On the other hand, the dev portal now has some level of ability to build entitlements combinations during App ID creation via check boxes in the "Additional Capabilities" tab. Great, but selecting PCI Primary Match puts in a wildcard match of 0x0000CDEF&0x0000FFFF for the vendor ID. Thus the DEXT must be signed this way in order to load and will load against any of the vendor's devices. This would work if there was an IOService::Probe() method to filter out unwanted devices in each driver, but there isn't. How is this supposed to work?
Posted Last updated
.