tree be6f0f26fbf68c264aa973d0a356e314dce87485
parent 29db4c51a335afdec9435b75c102b385341e58f8
author Heinrich Schuchardt <xypron.glpk@gmx.de> 1575795757 +0100
committer Heinrich Schuchardt <xypron.glpk@gmx.de> 1578416900 +0100

efi_loader: adjust file system info

When the GetInfo() method of the EFI_FILE_PROTOCOL is called to retrieve
the file system info we claim that the volume is read only and has no free
space. This leads to failures in programs that check this information
before writing to the volume like SCT's InstallSct.efi.

Currently there is no function to determine these parameters in U-Boot. So
let's return optimistic values:

Return that the volume is writable.

Return the volume size as free space.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
