EmbeddedPkg/AndroidFastbootApp: remove dependency on deprecated BdsLib
One of the last remaining modules with a dependency on the deprecated BdsLib implementation from ArmPkg is the Android fastboot application. Its only dependency on BdsLib is BdsStartEfiApplication(), which is used in the most peculiar way: the fastboot app loads the kernel image into memory, and creates a MemoryMapped() device path for it. It then proceeds and calls BdsStartEfiApplication(), which explicitly loads the contents of the devicepath into memory, creating a second in-memory copy of the kernel image, after which it invokes gBS->LoadImage() with a buffer address and size (while it is perfectly capable of loading from a devicepath directly) Since we know the device path is fully qualified and connected, and does not require any of the additional processing that BdsStartEfiApplication() does when dereferencing a device path, we should be able to pass this devicepath into LoadImage() directly. So create a simplified local clone of BdsStartEfiApplication(), and drop the dependency on BdsLib. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
This commit is contained in:
@ -30,7 +30,6 @@
|
||||
[LibraryClasses]
|
||||
BaseLib
|
||||
BaseMemoryLib
|
||||
BdsLib
|
||||
DebugLib
|
||||
DevicePathLib
|
||||
DxeServicesTableLib
|
||||
@ -45,6 +44,7 @@
|
||||
[Protocols]
|
||||
gAndroidFastbootTransportProtocolGuid
|
||||
gAndroidFastbootPlatformProtocolGuid
|
||||
gEfiLoadedImageProtocolGuid
|
||||
gEfiSimpleTextOutProtocolGuid
|
||||
gEfiSimpleTextInProtocolGuid
|
||||
|
||||
|
Reference in New Issue
Block a user