Kevin, thank you again for your help (which both clarified this proper sequence here and in the other thread). The key for any others who may come to this thread later:
(1) the sequence for IOUserSCSIParallelInterfaceController is different than for other DriverKit drivers, because it implements a lot of functionality on top of what other device drivers (eg raw PCI) would implement
(2) the kernel uses Info.plist properties of the DEXT along with what's in the binary to decide what methods to call in what sequence - if these are not exactly right, you may get strange calls during the initialization sequence, and MacOS itself may get confused and panic or otherwise malfunction
Yes, we need to file the bug re: "the open-source release does not include IOUserSCSIParallelInterfaceController (and please, do file a bug asking for us to open source it), IOSCSIParallelInterfaceController is the base class for IOUserSCSIParallelInterfaceController" and have others ask for the same, as it would save a lot of time.
Topic:
App & System Services
SubTopic:
Drivers
Tags: