Still exploring PCIDriverKit for getting this solution.
Now after watching Modernize PCI and SCSI drivers with DriverKit I got points on how to proceed.
As per the presentation, device memory mapping is done by PCIDriverKit so Memory Space and Configuration Space should be accessible.
There is no issue with Configuration Read/Write and MemoryReadxx is also working fine for reading offsets in a specific memory index (say BAR0).
But MemoryWriteXX APIs are causing DEXT crash.
In kernel driver development we use getDeviceMemoryWithIndex to get Device Memory (BAR0 -> Controller Register) and then we map it using IODeviceMemory->map then we fetch virtual memory using IOMemoryMap->getVirtualAddress.
So again my question is how can I achieve functionality similar to KEXT in DEXT??
Topic:
App & System Services
SubTopic:
Drivers
Tags: