On 04/07/14 20:17, Laszlo Ersek wrote: > On 04/07/14 19:32, Sergey Isakov wrote: >> >> On 07 апр. 2014 г., at 20:45, Laszlo Ersek <[email protected] >> <mailto:[email protected]>> wrote: >> >>> >>> I think that your DXE driver should >>> - register a protocol notification callback for SimpleFileSystem (with >>> gBS->RegisterProtocolNotify(), TPL_CALLBACK level), >>> - in the callback function, locate the handles with the new >>> SimpleFileSystem interfaces (gBS->LocateHandleBuffer() with >>> ByRegisterNotify, in a loop), >>> - for each handle, check the device path belonging to the handle >>> (gBS->HandleProtocol(), or gBS->OpenProtocol() with GET_PROTOCOL), in >>> order to see if (part of) the device path matches what you want, >>> - if so, open the SimpleFileSystem interface of the handle, and use it. >>> >>> Laszlo >> >> It is not enough. There should be Fat32 file system driver and >> PartitionDxe driver. DiskIoDxe as well. > > I wrote that the Uhci / Ehci / UsbBus / UsbMassStorage drivers produce > the chain up to (and including) BlockIo. I also wrote that BlockIo -> > DiskIo -> SimpleFileSystem are installed automatically. Admittedly, I > didn't name the partition driver, but that happens automatically too (in > OVMF). > > SimpleFileSystem is produced by the FAT driver. > > https://github.com/tianocore/edk2-FatPkg/blob/master/EnhancedFatDxe/Init.c#L98 > > If the callback is registered for SimpleFileSystem, that's already the > filesystem level (where the device path leading up to it can be checked, > node by node, eg. for MESSAGING_DEVICE_PATH/MSG_USB_DP, and where the > root directory can be opened). > > So what exactly is not enough?
Ah, nevermind. I understand. I didn't list the driver modules that produced these protocols. I considered them ubiquitous. Thanks Laszlo ------------------------------------------------------------------------------ Put Bad Developers to Shame Dominate Development with Jenkins Continuous Integration Continuously Automate Build, Test & Deployment Start a new project now. Try Jenkins in the cloud. http://p.sf.net/sfu/13600_Cloudbees _______________________________________________ edk2-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/edk2-devel
