Branch: refs/heads/master
  Home:   https://github.com/tianocore/edk2
  Commit: fcf41edf2f5383f3caca257fdcbb7d3992ff7a48
      
https://github.com/tianocore/edk2/commit/fcf41edf2f5383f3caca257fdcbb7d3992ff7a48
  Author: Ard Biesheuvel <[email protected]>
  Date:   2017-04-19 (Wed, 19 Apr 2017)

  Changed paths:
    M EmbeddedPkg/Application/AndroidFastboot/AndroidFastbootApp.inf
    M EmbeddedPkg/Application/AndroidFastboot/Arm/BootAndroidBootImg.c

  Log Message:
  -----------
  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 <[email protected]>
Reviewed-by: Leif Lindholm <[email protected]>


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
edk2-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-commits

Reply via email to