What's new in DriverKit
June 7, 2021
Discover the latest updates to DriverKit, which helps you build safer, more secure device drivers in userspace.
Support block storage devices
Develop userspace drivers for block storage devices with the new BlockStorageDeviceDriverKit. You can request the required entitlement on developer.apple.com.
Build simpler drivers for audio devices
Discover how to use the AudioDriverKit API to consolidate your Audio Server plug-in and DriverKit extension into a single package.
Create audio drivers with DriverKit
Watch nowExplore reentrant dispatch queues
To make porting existing drivers to DriverKit easier, you can now take advantage of reentrant dispatch queues. Tasks can sleep with an optional timeout while waiting for an event, and they can be woken up by other tasks.
Place guard pages
Improve security and protect against unintentional memory corruption by placing guard pages around IOMemoryDescriptor mappings. If driver code tries to access a guard page, then it will crash with an EXC_BAD_ACCESS
error instead of corrupting surrounding memory.
Learn about notifications
Drivers can communicate with each other and the rest of the system through notifications. Learn how you can register for notifications and publish notifications with IOServiceStateNotificationDispatchSource and the State Notification APIs in IOService.iig.
IOServiceStateNotificationDispatchSource