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?

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

Reply via email to