[edk2,v2,edk2-platforms,0/3] Platform/ARM: fix DevicePath mishandling in BdsLib

Message ID 20181123084406.27192-1-ard.biesheuvel@linaro.org
Headers show
Series
  • Platform/ARM: fix DevicePath mishandling in BdsLib
Related show

Message

Ard Biesheuvel Nov. 23, 2018, 8:44 a.m.
The deprecated BdsLib library class in ArmPkg is still depended upon, but
only a single implementation exists, which now resides in edk2-platforms.

This implementation has some issues in how it deals with Device Paths,
so let's fix those, but first move over the library interface declaration
and get rid of the parts that are no longer used. This will permit dropping
it from ArmPkg in EDK2.

Changes since v1:
- add Laszlo's ack to #1
- update #2 to remove everything we no longer need from BdsLib
- drop #3 which was bogus
- update #4 to ensure that we only duplicate the device path when we
  are about to return EFI_SUCCESS

Ard Biesheuvel (3):
  Platform/ARM: import ARM platform specific BdsLib header
  Platform/ARM/BdsLib: drop unused functions
  Platform/ARM/BdsLib: maintain alignment for DevicePaths

 Platform/ARM/ARM.dec                          |   3 +
 .../Drivers/FdtPlatformDxe/FdtPlatformDxe.inf |   2 +-
 Platform/ARM/Include/Library/BdsLib.h         |  26 ++
 Platform/ARM/Library/BdsLib/BdsAppLoader.c    | 253 ----------------
 Platform/ARM/Library/BdsLib/BdsFilePath.c     |  95 +-----
 Platform/ARM/Library/BdsLib/BdsHelper.c       | 122 --------
 Platform/ARM/Library/BdsLib/BdsInternal.h     |  16 +-
 Platform/ARM/Library/BdsLib/BdsLib.inf        |   4 +-
 Platform/ARM/Library/BdsLib/BdsLoadOption.c   | 272 ------------------
 9 files changed, 52 insertions(+), 741 deletions(-)
 create mode 100644 Platform/ARM/Include/Library/BdsLib.h
 delete mode 100644 Platform/ARM/Library/BdsLib/BdsAppLoader.c
 delete mode 100644 Platform/ARM/Library/BdsLib/BdsLoadOption.c

-- 
2.17.1

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Comments

Thomas Abraham Nov. 23, 2018, 2:15 p.m. | #1
Hi Ard,
On Fri, Nov 23, 2018 at 2:16 PM Ard Biesheuvel
<ard.biesheuvel@linaro.org> wrote:
>

> The deprecated BdsLib library class in ArmPkg is still depended upon, but

> only a single implementation exists, which now resides in edk2-platforms.

>

> This implementation has some issues in how it deals with Device Paths,

> so let's fix those, but first move over the library interface declaration

> and get rid of the parts that are no longer used. This will permit dropping

> it from ArmPkg in EDK2.

>

> Changes since v1:

> - add Laszlo's ack to #1

> - update #2 to remove everything we no longer need from BdsLib

> - drop #3 which was bogus

> - update #4 to ensure that we only duplicate the device path when we

>   are about to return EFI_SUCCESS

>

> Ard Biesheuvel (3):

>   Platform/ARM: import ARM platform specific BdsLib header

>   Platform/ARM/BdsLib: drop unused functions

>   Platform/ARM/BdsLib: maintain alignment for DevicePaths

>

>  Platform/ARM/ARM.dec                          |   3 +

>  .../Drivers/FdtPlatformDxe/FdtPlatformDxe.inf |   2 +-

>  Platform/ARM/Include/Library/BdsLib.h         |  26 ++

>  Platform/ARM/Library/BdsLib/BdsAppLoader.c    | 253 ----------------

>  Platform/ARM/Library/BdsLib/BdsFilePath.c     |  95 +-----

>  Platform/ARM/Library/BdsLib/BdsHelper.c       | 122 --------

>  Platform/ARM/Library/BdsLib/BdsInternal.h     |  16 +-

>  Platform/ARM/Library/BdsLib/BdsLib.inf        |   4 +-

>  Platform/ARM/Library/BdsLib/BdsLoadOption.c   | 272 ------------------

>  9 files changed, 52 insertions(+), 741 deletions(-)

>  create mode 100644 Platform/ARM/Include/Library/BdsLib.h

>  delete mode 100644 Platform/ARM/Library/BdsLib/BdsAppLoader.c

>  delete mode 100644 Platform/ARM/Library/BdsLib/BdsLoadOption.c


Tested this patch series with the following two patch series applied
on the Juno board.
 - [PATCH v2 0/5] ArmPlatformPkg, ArmVirtPkg: discover NOR flash banks from DTB
 - [PATCH edk2-platforms 0/3] drop GUIDs from NOR flash bank descriptors

Boot on Juno board works fine.

For this and the other two patch series
Tested-by: Thomas Abraham <thomas.abraham@arm.com>


>

> --

> 2.17.1

>

> _______________________________________________

> edk2-devel mailing list

> edk2-devel@lists.01.org

> https://lists.01.org/mailman/listinfo/edk2-devel

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Ard Biesheuvel Nov. 23, 2018, 3:17 p.m. | #2
On Fri, 23 Nov 2018 at 15:16, Thomas Abraham <thomas.abraham@arm.com> wrote:
>

> Hi Ard,

> On Fri, Nov 23, 2018 at 2:16 PM Ard Biesheuvel

> <ard.biesheuvel@linaro.org> wrote:

> >

> > The deprecated BdsLib library class in ArmPkg is still depended upon, but

> > only a single implementation exists, which now resides in edk2-platforms.

> >

> > This implementation has some issues in how it deals with Device Paths,

> > so let's fix those, but first move over the library interface declaration

> > and get rid of the parts that are no longer used. This will permit dropping

> > it from ArmPkg in EDK2.

> >

> > Changes since v1:

> > - add Laszlo's ack to #1

> > - update #2 to remove everything we no longer need from BdsLib

> > - drop #3 which was bogus

> > - update #4 to ensure that we only duplicate the device path when we

> >   are about to return EFI_SUCCESS

> >

> > Ard Biesheuvel (3):

> >   Platform/ARM: import ARM platform specific BdsLib header

> >   Platform/ARM/BdsLib: drop unused functions

> >   Platform/ARM/BdsLib: maintain alignment for DevicePaths

> >

> >  Platform/ARM/ARM.dec                          |   3 +

> >  .../Drivers/FdtPlatformDxe/FdtPlatformDxe.inf |   2 +-

> >  Platform/ARM/Include/Library/BdsLib.h         |  26 ++

> >  Platform/ARM/Library/BdsLib/BdsAppLoader.c    | 253 ----------------

> >  Platform/ARM/Library/BdsLib/BdsFilePath.c     |  95 +-----

> >  Platform/ARM/Library/BdsLib/BdsHelper.c       | 122 --------

> >  Platform/ARM/Library/BdsLib/BdsInternal.h     |  16 +-

> >  Platform/ARM/Library/BdsLib/BdsLib.inf        |   4 +-

> >  Platform/ARM/Library/BdsLib/BdsLoadOption.c   | 272 ------------------

> >  9 files changed, 52 insertions(+), 741 deletions(-)

> >  create mode 100644 Platform/ARM/Include/Library/BdsLib.h

> >  delete mode 100644 Platform/ARM/Library/BdsLib/BdsAppLoader.c

> >  delete mode 100644 Platform/ARM/Library/BdsLib/BdsLoadOption.c

>

> Tested this patch series with the following two patch series applied

> on the Juno board.

>  - [PATCH v2 0/5] ArmPlatformPkg, ArmVirtPkg: discover NOR flash banks from DTB

>  - [PATCH edk2-platforms 0/3] drop GUIDs from NOR flash bank descriptors

>

> Boot on Juno board works fine.

>

> For this and the other two patch series

> Tested-by: Thomas Abraham <thomas.abraham@arm.com>

>


Thanks Thomas!
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Leif Lindholm Nov. 26, 2018, 3:06 p.m. | #3
On Fri, Nov 23, 2018 at 09:44:03AM +0100, Ard Biesheuvel wrote:
> The deprecated BdsLib library class in ArmPkg is still depended upon, but

> only a single implementation exists, which now resides in edk2-platforms.

> 

> This implementation has some issues in how it deals with Device Paths,

> so let's fix those, but first move over the library interface declaration

> and get rid of the parts that are no longer used. This will permit dropping

> it from ArmPkg in EDK2.


For the series:
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>


> Changes since v1:

> - add Laszlo's ack to #1

> - update #2 to remove everything we no longer need from BdsLib

> - drop #3 which was bogus

> - update #4 to ensure that we only duplicate the device path when we

>   are about to return EFI_SUCCESS

> 

> Ard Biesheuvel (3):

>   Platform/ARM: import ARM platform specific BdsLib header

>   Platform/ARM/BdsLib: drop unused functions

>   Platform/ARM/BdsLib: maintain alignment for DevicePaths

> 

>  Platform/ARM/ARM.dec                          |   3 +

>  .../Drivers/FdtPlatformDxe/FdtPlatformDxe.inf |   2 +-

>  Platform/ARM/Include/Library/BdsLib.h         |  26 ++

>  Platform/ARM/Library/BdsLib/BdsAppLoader.c    | 253 ----------------

>  Platform/ARM/Library/BdsLib/BdsFilePath.c     |  95 +-----

>  Platform/ARM/Library/BdsLib/BdsHelper.c       | 122 --------

>  Platform/ARM/Library/BdsLib/BdsInternal.h     |  16 +-

>  Platform/ARM/Library/BdsLib/BdsLib.inf        |   4 +-

>  Platform/ARM/Library/BdsLib/BdsLoadOption.c   | 272 ------------------

>  9 files changed, 52 insertions(+), 741 deletions(-)

>  create mode 100644 Platform/ARM/Include/Library/BdsLib.h

>  delete mode 100644 Platform/ARM/Library/BdsLib/BdsAppLoader.c

>  delete mode 100644 Platform/ARM/Library/BdsLib/BdsLoadOption.c

> 

> -- 

> 2.17.1

> 

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Ard Biesheuvel Nov. 26, 2018, 4:53 p.m. | #4
On Mon, 26 Nov 2018 at 16:06, Leif Lindholm <leif.lindholm@linaro.org> wrote:
>

> On Fri, Nov 23, 2018 at 09:44:03AM +0100, Ard Biesheuvel wrote:

> > The deprecated BdsLib library class in ArmPkg is still depended upon, but

> > only a single implementation exists, which now resides in edk2-platforms.

> >

> > This implementation has some issues in how it deals with Device Paths,

> > so let's fix those, but first move over the library interface declaration

> > and get rid of the parts that are no longer used. This will permit dropping

> > it from ArmPkg in EDK2.

>

> For the series:

> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>

>


Thanks. This series (and the Platform/Comcast patch) pushed as
397bbafdbff3..f98fb46d3a3d


> > Changes since v1:

> > - add Laszlo's ack to #1

> > - update #2 to remove everything we no longer need from BdsLib

> > - drop #3 which was bogus

> > - update #4 to ensure that we only duplicate the device path when we

> >   are about to return EFI_SUCCESS

> >

> > Ard Biesheuvel (3):

> >   Platform/ARM: import ARM platform specific BdsLib header

> >   Platform/ARM/BdsLib: drop unused functions

> >   Platform/ARM/BdsLib: maintain alignment for DevicePaths

> >

> >  Platform/ARM/ARM.dec                          |   3 +

> >  .../Drivers/FdtPlatformDxe/FdtPlatformDxe.inf |   2 +-

> >  Platform/ARM/Include/Library/BdsLib.h         |  26 ++

> >  Platform/ARM/Library/BdsLib/BdsAppLoader.c    | 253 ----------------

> >  Platform/ARM/Library/BdsLib/BdsFilePath.c     |  95 +-----

> >  Platform/ARM/Library/BdsLib/BdsHelper.c       | 122 --------

> >  Platform/ARM/Library/BdsLib/BdsInternal.h     |  16 +-

> >  Platform/ARM/Library/BdsLib/BdsLib.inf        |   4 +-

> >  Platform/ARM/Library/BdsLib/BdsLoadOption.c   | 272 ------------------

> >  9 files changed, 52 insertions(+), 741 deletions(-)

> >  create mode 100644 Platform/ARM/Include/Library/BdsLib.h

> >  delete mode 100644 Platform/ARM/Library/BdsLib/BdsAppLoader.c

> >  delete mode 100644 Platform/ARM/Library/BdsLib/BdsLoadOption.c

> >

> > --

> > 2.17.1

> >

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel