[U-Boot] [RFC 0/3] dm, efi: integrate efi_disk into DM

Heinrich Schuchardt xypron.glpk at gmx.de
Tue Jan 29 22:48:37 UTC 2019


On 1/29/19 5:20 PM, Alexander Graf wrote:
> On 01/29/2019 03:59 AM, AKASHI Takahiro wrote:
>> This patch set came from the past discussion[1] on my "removable device
>> support" patch and is intended to be an attempt to integrate efi_disk
>> (more precisely, EFI_BLOCK_IO_PROTOCOL-capable efi object) into u-boot's
>> Driver Model as much seamlessly as possible
>>
>> [1] https://lists.denx.de/pipermail/u-boot/2019-January/354010.html
>>
>> Basic idea is
>> * create UCLASS_PARTITION
>> * enumerate all the partitions when a block device is probed
>> * hook up a creation of UCLASS_BLK or UCLASS_PARTITION device
>>    to efi handler for efi_disk attributes to be properly set up
>>
>> Since this patch is a prototype (or POC, proof-of-concept), the aim here
>> is to discuss further about how in a better shape we will be able to
>> merge the two worlds.
> 
> I like the approach. It seems pretty clean and gives us a smooth
> transition from the split world to a unified all-dm world. Eventually
> the efi object list will just naturally disappear and we can drop all
> calls to add efi object handles.
> 
> 
> Alex
> 
> 

Thanks Takahiro, it is good to have a reference to work on to bring the
worlds together.

I still have some issues:

The implementation lacks the driver binding protocol to handle block
devices that are not discovered by U-Boot but supplied by an EFI driver
or application. I would prefer if the block uclass would provide this
protocol.

In EFI a handle can always be deleted by first stopping all controllers
and then removing all protocols.

The current implementation of partitions tries to use a struct efi_obj
instead of a handle. This is incompatible to the rest of the EFI subsystem.

Best regards

Heinrich




More information about the U-Boot mailing list