[edk2,1/3] MdePkg/Misc: Move ARM* BaseMemoryLibStm to MdePkg

Message ID 20160902142912.17297-2-leif.lindholm@linaro.org
State New
Headers show

Commit Message

Leif Lindholm Sept. 2, 2016, 2:29 p.m.
Recent changes to the BaseMemoryLib implementations in MdePkg,
and other changes dependent on these, left all ARM* platforms
unbuildable. To avoid this sort of thing in the future, move
the ARM* BaseMemoryLib implementations to the same locations
as the other ones.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org>

---
 ArmPkg/ArmPkg.dsc                                                | 1 -
 ArmVirtPkg/ArmVirt.dsc.inc                                       | 2 +-
 BeagleBoardPkg/BeagleBoardPkg.dsc                                | 2 +-
 {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/AArch64/CopyMem.c    | 0
 {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/AArch64/SetMem.c     | 0
 {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/Arm/CopyMem.S        | 0
 {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/Arm/CopyMem.asm      | 0
 {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/Arm/SetMem.S         | 0
 {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/Arm/SetMem.asm       | 0
 {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/BaseMemoryLibStm.inf | 0
 {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/CompareMemWrapper.c  | 0
 {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/CopyMem.c            | 0
 {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/CopyMemWrapper.c     | 0
 {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/MemLibGeneric.c      | 0
 {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/MemLibGuid.c         | 0
 {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/MemLibInternals.h    | 0
 {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/ScanMem16Wrapper.c   | 0
 {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/ScanMem32Wrapper.c   | 0
 {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/ScanMem64Wrapper.c   | 0
 {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/ScanMem8Wrapper.c    | 0
 {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/SetMem.c             | 0
 {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/SetMem16Wrapper.c    | 0
 {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/SetMem32Wrapper.c    | 0
 {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/SetMem64Wrapper.c    | 0
 {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/SetMemWrapper.c      | 0
 {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/ZeroMemWrapper.c     | 0
 MdePkg/MdePkg.dsc                                                | 1 +
 27 files changed, 3 insertions(+), 3 deletions(-)
 rename {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/AArch64/CopyMem.c (100%)
 rename {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/AArch64/SetMem.c (100%)
 rename {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/Arm/CopyMem.S (100%)
 rename {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/Arm/CopyMem.asm (100%)
 rename {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/Arm/SetMem.S (100%)
 rename {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/Arm/SetMem.asm (100%)
 rename {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/BaseMemoryLibStm.inf (100%)
 rename {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/CompareMemWrapper.c (100%)
 rename {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/CopyMem.c (100%)
 rename {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/CopyMemWrapper.c (100%)
 rename {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/MemLibGeneric.c (100%)
 rename {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/MemLibGuid.c (100%)
 rename {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/MemLibInternals.h (100%)
 rename {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/ScanMem16Wrapper.c (100%)
 rename {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/ScanMem32Wrapper.c (100%)
 rename {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/ScanMem64Wrapper.c (100%)
 rename {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/ScanMem8Wrapper.c (100%)
 rename {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/SetMem.c (100%)
 rename {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/SetMem16Wrapper.c (100%)
 rename {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/SetMem32Wrapper.c (100%)
 rename {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/SetMem64Wrapper.c (100%)
 rename {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/SetMemWrapper.c (100%)
 rename {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/ZeroMemWrapper.c (100%)

-- 
2.9.3

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

Comments

Ard Biesheuvel Sept. 2, 2016, 3:02 p.m. | #1
> On 2 sep. 2016, at 15:29, Leif Lindholm <leif.lindholm@linaro.org> wrote:

> 

> Recent changes to the BaseMemoryLib implementations in MdePkg,

> and other changes dependent on these, left all ARM* platforms

> unbuildable. To avoid this sort of thing in the future, move

> the ARM* BaseMemoryLib implementations to the same locations

> as the other ones.

> 


Can't we just get rid of the stm version, and move everything to the generic version? Copying all this crap into MdePkg does not seem like an improvement to me at all.

The AArch64 optdxe changes i proposed are arguably as harmless, since they don't affect any other arch either. And the stm aarch64 versions are plain c to begin with

> Contributed-under: TianoCore Contribution Agreement 1.0

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

> ---

> ArmPkg/ArmPkg.dsc                                                | 1 -

> ArmVirtPkg/ArmVirt.dsc.inc                                       | 2 +-

> BeagleBoardPkg/BeagleBoardPkg.dsc                                | 2 +-

> {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/AArch64/CopyMem.c    | 0

> {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/AArch64/SetMem.c     | 0

> {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/Arm/CopyMem.S        | 0

> {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/Arm/CopyMem.asm      | 0

> {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/Arm/SetMem.S         | 0

> {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/Arm/SetMem.asm       | 0

> {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/BaseMemoryLibStm.inf | 0

> {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/CompareMemWrapper.c  | 0

> {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/CopyMem.c            | 0

> {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/CopyMemWrapper.c     | 0

> {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/MemLibGeneric.c      | 0

> {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/MemLibGuid.c         | 0

> {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/MemLibInternals.h    | 0

> {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/ScanMem16Wrapper.c   | 0

> {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/ScanMem32Wrapper.c   | 0

> {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/ScanMem64Wrapper.c   | 0

> {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/ScanMem8Wrapper.c    | 0

> {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/SetMem.c             | 0

> {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/SetMem16Wrapper.c    | 0

> {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/SetMem32Wrapper.c    | 0

> {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/SetMem64Wrapper.c    | 0

> {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/SetMemWrapper.c      | 0

> {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/ZeroMemWrapper.c     | 0

> MdePkg/MdePkg.dsc                                                | 1 +

> 27 files changed, 3 insertions(+), 3 deletions(-)

> rename {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/AArch64/CopyMem.c (100%)

> rename {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/AArch64/SetMem.c (100%)

> rename {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/Arm/CopyMem.S (100%)

> rename {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/Arm/CopyMem.asm (100%)

> rename {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/Arm/SetMem.S (100%)

> rename {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/Arm/SetMem.asm (100%)

> rename {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/BaseMemoryLibStm.inf (100%)

> rename {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/CompareMemWrapper.c (100%)

> rename {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/CopyMem.c (100%)

> rename {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/CopyMemWrapper.c (100%)

> rename {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/MemLibGeneric.c (100%)

> rename {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/MemLibGuid.c (100%)

> rename {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/MemLibInternals.h (100%)

> rename {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/ScanMem16Wrapper.c (100%)

> rename {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/ScanMem32Wrapper.c (100%)

> rename {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/ScanMem64Wrapper.c (100%)

> rename {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/ScanMem8Wrapper.c (100%)

> rename {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/SetMem.c (100%)

> rename {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/SetMem16Wrapper.c (100%)

> rename {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/SetMem32Wrapper.c (100%)

> rename {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/SetMem64Wrapper.c (100%)

> rename {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/SetMemWrapper.c (100%)

> rename {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/ZeroMemWrapper.c (100%)

> 

> diff --git a/ArmPkg/ArmPkg.dsc b/ArmPkg/ArmPkg.dsc

> index 6f9fc66..09cbb85 100644

> --- a/ArmPkg/ArmPkg.dsc

> +++ b/ArmPkg/ArmPkg.dsc

> @@ -112,7 +112,6 @@ [Components.common]

>   ArmPkg/Library/ArmDisassemblerLib/ArmDisassemblerLib.inf

>   ArmPkg/Library/ArmDmaLib/ArmDmaLib.inf

>   ArmPkg/Library/ArmLib/Null/NullArmLib.inf

> -  ArmPkg/Library/BaseMemoryLibStm/BaseMemoryLibStm.inf

>   ArmPkg/Library/BdsLib/BdsLib.inf

>   ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf

>   ArmPkg/Library/DebugAgentSymbolsBaseLib/DebugAgentSymbolsBaseLib.inf

> diff --git a/ArmVirtPkg/ArmVirt.dsc.inc b/ArmVirtPkg/ArmVirt.dsc.inc

> index 6c6a52b..338c22c 100644

> --- a/ArmVirtPkg/ArmVirt.dsc.inc

> +++ b/ArmVirtPkg/ArmVirt.dsc.inc

> @@ -69,7 +69,7 @@ [LibraryClasses.common]

> 

>   # 1/123 faster than Stm or Vstm version

>   #BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf

> -  BaseMemoryLib|ArmPkg/Library/BaseMemoryLibStm/BaseMemoryLibStm.inf

> +  BaseMemoryLib|MdePkg/Library/BaseMemoryLibStm/BaseMemoryLibStm.inf

> 

>   # Networking Requirements

>   NetLib|MdeModulePkg/Library/DxeNetLib/DxeNetLib.inf

> diff --git a/BeagleBoardPkg/BeagleBoardPkg.dsc b/BeagleBoardPkg/BeagleBoardPkg.dsc

> index b4a645b..7bf7d52 100644

> --- a/BeagleBoardPkg/BeagleBoardPkg.dsc

> +++ b/BeagleBoardPkg/BeagleBoardPkg.dsc

> @@ -55,7 +55,7 @@ [LibraryClasses.common]

>   MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf

> 

>   BaseLib|MdePkg/Library/BaseLib/BaseLib.inf

> -  BaseMemoryLib|ArmPkg/Library/BaseMemoryLibStm/BaseMemoryLibStm.inf

> +  BaseMemoryLib|MdePkg/Library/BaseMemoryLibStm/BaseMemoryLibStm.inf

> 

>   EfiResetSystemLib|BeagleBoardPkg/Library/ResetSystemLib/ResetSystemLib.inf

> 

> diff --git a/ArmPkg/Library/BaseMemoryLibStm/AArch64/CopyMem.c b/MdePkg/Library/BaseMemoryLibStm/AArch64/CopyMem.c

> similarity index 100%

> rename from ArmPkg/Library/BaseMemoryLibStm/AArch64/CopyMem.c

> rename to MdePkg/Library/BaseMemoryLibStm/AArch64/CopyMem.c

> diff --git a/ArmPkg/Library/BaseMemoryLibStm/AArch64/SetMem.c b/MdePkg/Library/BaseMemoryLibStm/AArch64/SetMem.c

> similarity index 100%

> rename from ArmPkg/Library/BaseMemoryLibStm/AArch64/SetMem.c

> rename to MdePkg/Library/BaseMemoryLibStm/AArch64/SetMem.c

> diff --git a/ArmPkg/Library/BaseMemoryLibStm/Arm/CopyMem.S b/MdePkg/Library/BaseMemoryLibStm/Arm/CopyMem.S

> similarity index 100%

> rename from ArmPkg/Library/BaseMemoryLibStm/Arm/CopyMem.S

> rename to MdePkg/Library/BaseMemoryLibStm/Arm/CopyMem.S

> diff --git a/ArmPkg/Library/BaseMemoryLibStm/Arm/CopyMem.asm b/MdePkg/Library/BaseMemoryLibStm/Arm/CopyMem.asm

> similarity index 100%

> rename from ArmPkg/Library/BaseMemoryLibStm/Arm/CopyMem.asm

> rename to MdePkg/Library/BaseMemoryLibStm/Arm/CopyMem.asm

> diff --git a/ArmPkg/Library/BaseMemoryLibStm/Arm/SetMem.S b/MdePkg/Library/BaseMemoryLibStm/Arm/SetMem.S

> similarity index 100%

> rename from ArmPkg/Library/BaseMemoryLibStm/Arm/SetMem.S

> rename to MdePkg/Library/BaseMemoryLibStm/Arm/SetMem.S

> diff --git a/ArmPkg/Library/BaseMemoryLibStm/Arm/SetMem.asm b/MdePkg/Library/BaseMemoryLibStm/Arm/SetMem.asm

> similarity index 100%

> rename from ArmPkg/Library/BaseMemoryLibStm/Arm/SetMem.asm

> rename to MdePkg/Library/BaseMemoryLibStm/Arm/SetMem.asm

> diff --git a/ArmPkg/Library/BaseMemoryLibStm/BaseMemoryLibStm.inf b/MdePkg/Library/BaseMemoryLibStm/BaseMemoryLibStm.inf

> similarity index 100%

> rename from ArmPkg/Library/BaseMemoryLibStm/BaseMemoryLibStm.inf

> rename to MdePkg/Library/BaseMemoryLibStm/BaseMemoryLibStm.inf

> diff --git a/ArmPkg/Library/BaseMemoryLibStm/CompareMemWrapper.c b/MdePkg/Library/BaseMemoryLibStm/CompareMemWrapper.c

> similarity index 100%

> rename from ArmPkg/Library/BaseMemoryLibStm/CompareMemWrapper.c

> rename to MdePkg/Library/BaseMemoryLibStm/CompareMemWrapper.c

> diff --git a/ArmPkg/Library/BaseMemoryLibStm/CopyMem.c b/MdePkg/Library/BaseMemoryLibStm/CopyMem.c

> similarity index 100%

> rename from ArmPkg/Library/BaseMemoryLibStm/CopyMem.c

> rename to MdePkg/Library/BaseMemoryLibStm/CopyMem.c

> diff --git a/ArmPkg/Library/BaseMemoryLibStm/CopyMemWrapper.c b/MdePkg/Library/BaseMemoryLibStm/CopyMemWrapper.c

> similarity index 100%

> rename from ArmPkg/Library/BaseMemoryLibStm/CopyMemWrapper.c

> rename to MdePkg/Library/BaseMemoryLibStm/CopyMemWrapper.c

> diff --git a/ArmPkg/Library/BaseMemoryLibStm/MemLibGeneric.c b/MdePkg/Library/BaseMemoryLibStm/MemLibGeneric.c

> similarity index 100%

> rename from ArmPkg/Library/BaseMemoryLibStm/MemLibGeneric.c

> rename to MdePkg/Library/BaseMemoryLibStm/MemLibGeneric.c

> diff --git a/ArmPkg/Library/BaseMemoryLibStm/MemLibGuid.c b/MdePkg/Library/BaseMemoryLibStm/MemLibGuid.c

> similarity index 100%

> rename from ArmPkg/Library/BaseMemoryLibStm/MemLibGuid.c

> rename to MdePkg/Library/BaseMemoryLibStm/MemLibGuid.c

> diff --git a/ArmPkg/Library/BaseMemoryLibStm/MemLibInternals.h b/MdePkg/Library/BaseMemoryLibStm/MemLibInternals.h

> similarity index 100%

> rename from ArmPkg/Library/BaseMemoryLibStm/MemLibInternals.h

> rename to MdePkg/Library/BaseMemoryLibStm/MemLibInternals.h

> diff --git a/ArmPkg/Library/BaseMemoryLibStm/ScanMem16Wrapper.c b/MdePkg/Library/BaseMemoryLibStm/ScanMem16Wrapper.c

> similarity index 100%

> rename from ArmPkg/Library/BaseMemoryLibStm/ScanMem16Wrapper.c

> rename to MdePkg/Library/BaseMemoryLibStm/ScanMem16Wrapper.c

> diff --git a/ArmPkg/Library/BaseMemoryLibStm/ScanMem32Wrapper.c b/MdePkg/Library/BaseMemoryLibStm/ScanMem32Wrapper.c

> similarity index 100%

> rename from ArmPkg/Library/BaseMemoryLibStm/ScanMem32Wrapper.c

> rename to MdePkg/Library/BaseMemoryLibStm/ScanMem32Wrapper.c

> diff --git a/ArmPkg/Library/BaseMemoryLibStm/ScanMem64Wrapper.c b/MdePkg/Library/BaseMemoryLibStm/ScanMem64Wrapper.c

> similarity index 100%

> rename from ArmPkg/Library/BaseMemoryLibStm/ScanMem64Wrapper.c

> rename to MdePkg/Library/BaseMemoryLibStm/ScanMem64Wrapper.c

> diff --git a/ArmPkg/Library/BaseMemoryLibStm/ScanMem8Wrapper.c b/MdePkg/Library/BaseMemoryLibStm/ScanMem8Wrapper.c

> similarity index 100%

> rename from ArmPkg/Library/BaseMemoryLibStm/ScanMem8Wrapper.c

> rename to MdePkg/Library/BaseMemoryLibStm/ScanMem8Wrapper.c

> diff --git a/ArmPkg/Library/BaseMemoryLibStm/SetMem.c b/MdePkg/Library/BaseMemoryLibStm/SetMem.c

> similarity index 100%

> rename from ArmPkg/Library/BaseMemoryLibStm/SetMem.c

> rename to MdePkg/Library/BaseMemoryLibStm/SetMem.c

> diff --git a/ArmPkg/Library/BaseMemoryLibStm/SetMem16Wrapper.c b/MdePkg/Library/BaseMemoryLibStm/SetMem16Wrapper.c

> similarity index 100%

> rename from ArmPkg/Library/BaseMemoryLibStm/SetMem16Wrapper.c

> rename to MdePkg/Library/BaseMemoryLibStm/SetMem16Wrapper.c

> diff --git a/ArmPkg/Library/BaseMemoryLibStm/SetMem32Wrapper.c b/MdePkg/Library/BaseMemoryLibStm/SetMem32Wrapper.c

> similarity index 100%

> rename from ArmPkg/Library/BaseMemoryLibStm/SetMem32Wrapper.c

> rename to MdePkg/Library/BaseMemoryLibStm/SetMem32Wrapper.c

> diff --git a/ArmPkg/Library/BaseMemoryLibStm/SetMem64Wrapper.c b/MdePkg/Library/BaseMemoryLibStm/SetMem64Wrapper.c

> similarity index 100%

> rename from ArmPkg/Library/BaseMemoryLibStm/SetMem64Wrapper.c

> rename to MdePkg/Library/BaseMemoryLibStm/SetMem64Wrapper.c

> diff --git a/ArmPkg/Library/BaseMemoryLibStm/SetMemWrapper.c b/MdePkg/Library/BaseMemoryLibStm/SetMemWrapper.c

> similarity index 100%

> rename from ArmPkg/Library/BaseMemoryLibStm/SetMemWrapper.c

> rename to MdePkg/Library/BaseMemoryLibStm/SetMemWrapper.c

> diff --git a/ArmPkg/Library/BaseMemoryLibStm/ZeroMemWrapper.c b/MdePkg/Library/BaseMemoryLibStm/ZeroMemWrapper.c

> similarity index 100%

> rename from ArmPkg/Library/BaseMemoryLibStm/ZeroMemWrapper.c

> rename to MdePkg/Library/BaseMemoryLibStm/ZeroMemWrapper.c

> diff --git a/MdePkg/MdePkg.dsc b/MdePkg/MdePkg.dsc

> index ab57689..75a8f1a 100644

> --- a/MdePkg/MdePkg.dsc

> +++ b/MdePkg/MdePkg.dsc

> @@ -177,6 +177,7 @@ [Components.EBC]

>   MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf

> 

> [Components.ARM, Components.AARCH64]

> +  MdePkg/Library/BaseMemoryLibStm/BaseMemoryLibStm.inf

>   MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf

> 

> [BuildOptions]

> -- 

> 2.9.3

> 

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Leif Lindholm Sept. 2, 2016, 3:23 p.m. | #2
On Fri, Sep 02, 2016 at 04:02:44PM +0100, Ard Biesheuvel wrote:
> > On 2 sep. 2016, at 15:29, Leif Lindholm <leif.lindholm@linaro.org> wrote:

> > 

> > Recent changes to the BaseMemoryLib implementations in MdePkg,

> > and other changes dependent on these, left all ARM* platforms

> > unbuildable. To avoid this sort of thing in the future, move

> > the ARM* BaseMemoryLib implementations to the same locations

> > as the other ones.

> 

> Can't we just get rid of the stm version, and move everything to the

> generic version? Copying all this crap into MdePkg does not seem

> like an improvement to me at all.


This isn't a proposed alternative to your patchset, this is an
alternative to reverting all of the other BaseMemoryLib changes.
I'm happy to throw it away next week if we can get something better in
by then.

> The AArch64 optdxe changes i proposed are arguably as harmless,


Yes, but that leaves ARM broken.

> since they don't affect any other arch either. And the stm aarch64

> versions are plain c to begin with


And I want to discuss that next week. Against the backdrop of a
working master branch.

/
    Leif

> > Contributed-under: TianoCore Contribution Agreement 1.0

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

> > ---

> > ArmPkg/ArmPkg.dsc                                                | 1 -

> > ArmVirtPkg/ArmVirt.dsc.inc                                       | 2 +-

> > BeagleBoardPkg/BeagleBoardPkg.dsc                                | 2 +-

> > {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/AArch64/CopyMem.c    | 0

> > {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/AArch64/SetMem.c     | 0

> > {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/Arm/CopyMem.S        | 0

> > {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/Arm/CopyMem.asm      | 0

> > {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/Arm/SetMem.S         | 0

> > {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/Arm/SetMem.asm       | 0

> > {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/BaseMemoryLibStm.inf | 0

> > {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/CompareMemWrapper.c  | 0

> > {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/CopyMem.c            | 0

> > {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/CopyMemWrapper.c     | 0

> > {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/MemLibGeneric.c      | 0

> > {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/MemLibGuid.c         | 0

> > {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/MemLibInternals.h    | 0

> > {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/ScanMem16Wrapper.c   | 0

> > {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/ScanMem32Wrapper.c   | 0

> > {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/ScanMem64Wrapper.c   | 0

> > {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/ScanMem8Wrapper.c    | 0

> > {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/SetMem.c             | 0

> > {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/SetMem16Wrapper.c    | 0

> > {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/SetMem32Wrapper.c    | 0

> > {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/SetMem64Wrapper.c    | 0

> > {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/SetMemWrapper.c      | 0

> > {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/ZeroMemWrapper.c     | 0

> > MdePkg/MdePkg.dsc                                                | 1 +

> > 27 files changed, 3 insertions(+), 3 deletions(-)

> > rename {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/AArch64/CopyMem.c (100%)

> > rename {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/AArch64/SetMem.c (100%)

> > rename {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/Arm/CopyMem.S (100%)

> > rename {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/Arm/CopyMem.asm (100%)

> > rename {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/Arm/SetMem.S (100%)

> > rename {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/Arm/SetMem.asm (100%)

> > rename {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/BaseMemoryLibStm.inf (100%)

> > rename {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/CompareMemWrapper.c (100%)

> > rename {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/CopyMem.c (100%)

> > rename {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/CopyMemWrapper.c (100%)

> > rename {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/MemLibGeneric.c (100%)

> > rename {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/MemLibGuid.c (100%)

> > rename {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/MemLibInternals.h (100%)

> > rename {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/ScanMem16Wrapper.c (100%)

> > rename {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/ScanMem32Wrapper.c (100%)

> > rename {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/ScanMem64Wrapper.c (100%)

> > rename {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/ScanMem8Wrapper.c (100%)

> > rename {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/SetMem.c (100%)

> > rename {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/SetMem16Wrapper.c (100%)

> > rename {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/SetMem32Wrapper.c (100%)

> > rename {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/SetMem64Wrapper.c (100%)

> > rename {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/SetMemWrapper.c (100%)

> > rename {ArmPkg => MdePkg}/Library/BaseMemoryLibStm/ZeroMemWrapper.c (100%)

> > 

> > diff --git a/ArmPkg/ArmPkg.dsc b/ArmPkg/ArmPkg.dsc

> > index 6f9fc66..09cbb85 100644

> > --- a/ArmPkg/ArmPkg.dsc

> > +++ b/ArmPkg/ArmPkg.dsc

> > @@ -112,7 +112,6 @@ [Components.common]

> >   ArmPkg/Library/ArmDisassemblerLib/ArmDisassemblerLib.inf

> >   ArmPkg/Library/ArmDmaLib/ArmDmaLib.inf

> >   ArmPkg/Library/ArmLib/Null/NullArmLib.inf

> > -  ArmPkg/Library/BaseMemoryLibStm/BaseMemoryLibStm.inf

> >   ArmPkg/Library/BdsLib/BdsLib.inf

> >   ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf

> >   ArmPkg/Library/DebugAgentSymbolsBaseLib/DebugAgentSymbolsBaseLib.inf

> > diff --git a/ArmVirtPkg/ArmVirt.dsc.inc b/ArmVirtPkg/ArmVirt.dsc.inc

> > index 6c6a52b..338c22c 100644

> > --- a/ArmVirtPkg/ArmVirt.dsc.inc

> > +++ b/ArmVirtPkg/ArmVirt.dsc.inc

> > @@ -69,7 +69,7 @@ [LibraryClasses.common]

> > 

> >   # 1/123 faster than Stm or Vstm version

> >   #BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf

> > -  BaseMemoryLib|ArmPkg/Library/BaseMemoryLibStm/BaseMemoryLibStm.inf

> > +  BaseMemoryLib|MdePkg/Library/BaseMemoryLibStm/BaseMemoryLibStm.inf

> > 

> >   # Networking Requirements

> >   NetLib|MdeModulePkg/Library/DxeNetLib/DxeNetLib.inf

> > diff --git a/BeagleBoardPkg/BeagleBoardPkg.dsc b/BeagleBoardPkg/BeagleBoardPkg.dsc

> > index b4a645b..7bf7d52 100644

> > --- a/BeagleBoardPkg/BeagleBoardPkg.dsc

> > +++ b/BeagleBoardPkg/BeagleBoardPkg.dsc

> > @@ -55,7 +55,7 @@ [LibraryClasses.common]

> >   MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf

> > 

> >   BaseLib|MdePkg/Library/BaseLib/BaseLib.inf

> > -  BaseMemoryLib|ArmPkg/Library/BaseMemoryLibStm/BaseMemoryLibStm.inf

> > +  BaseMemoryLib|MdePkg/Library/BaseMemoryLibStm/BaseMemoryLibStm.inf

> > 

> >   EfiResetSystemLib|BeagleBoardPkg/Library/ResetSystemLib/ResetSystemLib.inf

> > 

> > diff --git a/ArmPkg/Library/BaseMemoryLibStm/AArch64/CopyMem.c b/MdePkg/Library/BaseMemoryLibStm/AArch64/CopyMem.c

> > similarity index 100%

> > rename from ArmPkg/Library/BaseMemoryLibStm/AArch64/CopyMem.c

> > rename to MdePkg/Library/BaseMemoryLibStm/AArch64/CopyMem.c

> > diff --git a/ArmPkg/Library/BaseMemoryLibStm/AArch64/SetMem.c b/MdePkg/Library/BaseMemoryLibStm/AArch64/SetMem.c

> > similarity index 100%

> > rename from ArmPkg/Library/BaseMemoryLibStm/AArch64/SetMem.c

> > rename to MdePkg/Library/BaseMemoryLibStm/AArch64/SetMem.c

> > diff --git a/ArmPkg/Library/BaseMemoryLibStm/Arm/CopyMem.S b/MdePkg/Library/BaseMemoryLibStm/Arm/CopyMem.S

> > similarity index 100%

> > rename from ArmPkg/Library/BaseMemoryLibStm/Arm/CopyMem.S

> > rename to MdePkg/Library/BaseMemoryLibStm/Arm/CopyMem.S

> > diff --git a/ArmPkg/Library/BaseMemoryLibStm/Arm/CopyMem.asm b/MdePkg/Library/BaseMemoryLibStm/Arm/CopyMem.asm

> > similarity index 100%

> > rename from ArmPkg/Library/BaseMemoryLibStm/Arm/CopyMem.asm

> > rename to MdePkg/Library/BaseMemoryLibStm/Arm/CopyMem.asm

> > diff --git a/ArmPkg/Library/BaseMemoryLibStm/Arm/SetMem.S b/MdePkg/Library/BaseMemoryLibStm/Arm/SetMem.S

> > similarity index 100%

> > rename from ArmPkg/Library/BaseMemoryLibStm/Arm/SetMem.S

> > rename to MdePkg/Library/BaseMemoryLibStm/Arm/SetMem.S

> > diff --git a/ArmPkg/Library/BaseMemoryLibStm/Arm/SetMem.asm b/MdePkg/Library/BaseMemoryLibStm/Arm/SetMem.asm

> > similarity index 100%

> > rename from ArmPkg/Library/BaseMemoryLibStm/Arm/SetMem.asm

> > rename to MdePkg/Library/BaseMemoryLibStm/Arm/SetMem.asm

> > diff --git a/ArmPkg/Library/BaseMemoryLibStm/BaseMemoryLibStm.inf b/MdePkg/Library/BaseMemoryLibStm/BaseMemoryLibStm.inf

> > similarity index 100%

> > rename from ArmPkg/Library/BaseMemoryLibStm/BaseMemoryLibStm.inf

> > rename to MdePkg/Library/BaseMemoryLibStm/BaseMemoryLibStm.inf

> > diff --git a/ArmPkg/Library/BaseMemoryLibStm/CompareMemWrapper.c b/MdePkg/Library/BaseMemoryLibStm/CompareMemWrapper.c

> > similarity index 100%

> > rename from ArmPkg/Library/BaseMemoryLibStm/CompareMemWrapper.c

> > rename to MdePkg/Library/BaseMemoryLibStm/CompareMemWrapper.c

> > diff --git a/ArmPkg/Library/BaseMemoryLibStm/CopyMem.c b/MdePkg/Library/BaseMemoryLibStm/CopyMem.c

> > similarity index 100%

> > rename from ArmPkg/Library/BaseMemoryLibStm/CopyMem.c

> > rename to MdePkg/Library/BaseMemoryLibStm/CopyMem.c

> > diff --git a/ArmPkg/Library/BaseMemoryLibStm/CopyMemWrapper.c b/MdePkg/Library/BaseMemoryLibStm/CopyMemWrapper.c

> > similarity index 100%

> > rename from ArmPkg/Library/BaseMemoryLibStm/CopyMemWrapper.c

> > rename to MdePkg/Library/BaseMemoryLibStm/CopyMemWrapper.c

> > diff --git a/ArmPkg/Library/BaseMemoryLibStm/MemLibGeneric.c b/MdePkg/Library/BaseMemoryLibStm/MemLibGeneric.c

> > similarity index 100%

> > rename from ArmPkg/Library/BaseMemoryLibStm/MemLibGeneric.c

> > rename to MdePkg/Library/BaseMemoryLibStm/MemLibGeneric.c

> > diff --git a/ArmPkg/Library/BaseMemoryLibStm/MemLibGuid.c b/MdePkg/Library/BaseMemoryLibStm/MemLibGuid.c

> > similarity index 100%

> > rename from ArmPkg/Library/BaseMemoryLibStm/MemLibGuid.c

> > rename to MdePkg/Library/BaseMemoryLibStm/MemLibGuid.c

> > diff --git a/ArmPkg/Library/BaseMemoryLibStm/MemLibInternals.h b/MdePkg/Library/BaseMemoryLibStm/MemLibInternals.h

> > similarity index 100%

> > rename from ArmPkg/Library/BaseMemoryLibStm/MemLibInternals.h

> > rename to MdePkg/Library/BaseMemoryLibStm/MemLibInternals.h

> > diff --git a/ArmPkg/Library/BaseMemoryLibStm/ScanMem16Wrapper.c b/MdePkg/Library/BaseMemoryLibStm/ScanMem16Wrapper.c

> > similarity index 100%

> > rename from ArmPkg/Library/BaseMemoryLibStm/ScanMem16Wrapper.c

> > rename to MdePkg/Library/BaseMemoryLibStm/ScanMem16Wrapper.c

> > diff --git a/ArmPkg/Library/BaseMemoryLibStm/ScanMem32Wrapper.c b/MdePkg/Library/BaseMemoryLibStm/ScanMem32Wrapper.c

> > similarity index 100%

> > rename from ArmPkg/Library/BaseMemoryLibStm/ScanMem32Wrapper.c

> > rename to MdePkg/Library/BaseMemoryLibStm/ScanMem32Wrapper.c

> > diff --git a/ArmPkg/Library/BaseMemoryLibStm/ScanMem64Wrapper.c b/MdePkg/Library/BaseMemoryLibStm/ScanMem64Wrapper.c

> > similarity index 100%

> > rename from ArmPkg/Library/BaseMemoryLibStm/ScanMem64Wrapper.c

> > rename to MdePkg/Library/BaseMemoryLibStm/ScanMem64Wrapper.c

> > diff --git a/ArmPkg/Library/BaseMemoryLibStm/ScanMem8Wrapper.c b/MdePkg/Library/BaseMemoryLibStm/ScanMem8Wrapper.c

> > similarity index 100%

> > rename from ArmPkg/Library/BaseMemoryLibStm/ScanMem8Wrapper.c

> > rename to MdePkg/Library/BaseMemoryLibStm/ScanMem8Wrapper.c

> > diff --git a/ArmPkg/Library/BaseMemoryLibStm/SetMem.c b/MdePkg/Library/BaseMemoryLibStm/SetMem.c

> > similarity index 100%

> > rename from ArmPkg/Library/BaseMemoryLibStm/SetMem.c

> > rename to MdePkg/Library/BaseMemoryLibStm/SetMem.c

> > diff --git a/ArmPkg/Library/BaseMemoryLibStm/SetMem16Wrapper.c b/MdePkg/Library/BaseMemoryLibStm/SetMem16Wrapper.c

> > similarity index 100%

> > rename from ArmPkg/Library/BaseMemoryLibStm/SetMem16Wrapper.c

> > rename to MdePkg/Library/BaseMemoryLibStm/SetMem16Wrapper.c

> > diff --git a/ArmPkg/Library/BaseMemoryLibStm/SetMem32Wrapper.c b/MdePkg/Library/BaseMemoryLibStm/SetMem32Wrapper.c

> > similarity index 100%

> > rename from ArmPkg/Library/BaseMemoryLibStm/SetMem32Wrapper.c

> > rename to MdePkg/Library/BaseMemoryLibStm/SetMem32Wrapper.c

> > diff --git a/ArmPkg/Library/BaseMemoryLibStm/SetMem64Wrapper.c b/MdePkg/Library/BaseMemoryLibStm/SetMem64Wrapper.c

> > similarity index 100%

> > rename from ArmPkg/Library/BaseMemoryLibStm/SetMem64Wrapper.c

> > rename to MdePkg/Library/BaseMemoryLibStm/SetMem64Wrapper.c

> > diff --git a/ArmPkg/Library/BaseMemoryLibStm/SetMemWrapper.c b/MdePkg/Library/BaseMemoryLibStm/SetMemWrapper.c

> > similarity index 100%

> > rename from ArmPkg/Library/BaseMemoryLibStm/SetMemWrapper.c

> > rename to MdePkg/Library/BaseMemoryLibStm/SetMemWrapper.c

> > diff --git a/ArmPkg/Library/BaseMemoryLibStm/ZeroMemWrapper.c b/MdePkg/Library/BaseMemoryLibStm/ZeroMemWrapper.c

> > similarity index 100%

> > rename from ArmPkg/Library/BaseMemoryLibStm/ZeroMemWrapper.c

> > rename to MdePkg/Library/BaseMemoryLibStm/ZeroMemWrapper.c

> > diff --git a/MdePkg/MdePkg.dsc b/MdePkg/MdePkg.dsc

> > index ab57689..75a8f1a 100644

> > --- a/MdePkg/MdePkg.dsc

> > +++ b/MdePkg/MdePkg.dsc

> > @@ -177,6 +177,7 @@ [Components.EBC]

> >   MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf

> > 

> > [Components.ARM, Components.AARCH64]

> > +  MdePkg/Library/BaseMemoryLibStm/BaseMemoryLibStm.inf

> >   MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf

> > 

> > [BuildOptions]

> > -- 

> > 2.9.3

> > 

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Ard Biesheuvel Sept. 2, 2016, 4:07 p.m. | #3
On 2 September 2016 at 16:23, Leif Lindholm <leif.lindholm@linaro.org> wrote:
> On Fri, Sep 02, 2016 at 04:02:44PM +0100, Ard Biesheuvel wrote:

>> > On 2 sep. 2016, at 15:29, Leif Lindholm <leif.lindholm@linaro.org> wrote:

>> >

>> > Recent changes to the BaseMemoryLib implementations in MdePkg,

>> > and other changes dependent on these, left all ARM* platforms

>> > unbuildable. To avoid this sort of thing in the future, move

>> > the ARM* BaseMemoryLib implementations to the same locations

>> > as the other ones.

>>

>> Can't we just get rid of the stm version, and move everything to the

>> generic version? Copying all this crap into MdePkg does not seem

>> like an improvement to me at all.

>

> This isn't a proposed alternative to your patchset, this is an

> alternative to reverting all of the other BaseMemoryLib changes.

> I'm happy to throw it away next week if we can get something better in

> by then.

>

>> The AArch64 optdxe changes i proposed are arguably as harmless,

>

> Yes, but that leaves ARM broken.

>


Not necessarily. ARM can use the generic BaseMemoryLib in MdePkg

>> since they don't affect any other arch either. And the stm aarch64

>> versions are plain c to begin with

>

> And I want to discuss that next week. Against the backdrop of a

> working master branch.

>


My concern is that having an 'ARM' flavor of BaseMemoryLib in MdePkg/
will make it more difficult rather than easier to simply add ARM
support to the existing non-sse/mmx ones

Added the fact that the Stm is not in great shape, I would really
prefer to get rid of it rather than 'promote' it to the standard ARM
implementation. Note that we will need another round of updates to the
platform .DSCs when we remove the Stm version again.
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Leif Lindholm Sept. 2, 2016, 6:05 p.m. | #4
On Fri, Sep 02, 2016 at 05:07:48PM +0100, Ard Biesheuvel wrote:
> > This isn't a proposed alternative to your patchset, this is an

> > alternative to reverting all of the other BaseMemoryLib changes.

> > I'm happy to throw it away next week if we can get something better in

> > by then.

> >

> >> The AArch64 optdxe changes i proposed are arguably as harmless,

> >

> > Yes, but that leaves ARM broken.

> 

> Not necessarily. ARM can use the generic BaseMemoryLib in MdePkg


OK, but that's still yet another change.

> >> since they don't affect any other arch either. And the stm aarch64

> >> versions are plain c to begin with

> >

> > And I want to discuss that next week. Against the backdrop of a

> > working master branch.

> 

> My concern is that having an 'ARM' flavor of BaseMemoryLib in MdePkg/

> will make it more difficult rather than easier to simply add ARM

> support to the existing non-sse/mmx ones


I don't share that concern. I am entirely serious about nuking it next
week if we come to an agreement on a better solution.
And I'm happy to take on the drudgery of fixing up all the platforms.

(As a side note, this is an excellent example of why we need to
create reusable config fragments - fixing all ARM platforms to use the
correct library should be at most a two-liner in one place in edk2.)

> Added the fact that the Stm is not in great shape, I would really

> prefer to get rid of it rather than 'promote' it to the standard ARM

> implementation. Note that we will need another round of updates to the

> platform .DSCs when we remove the Stm version again.


My main concern is leaving the master branch unusable for ARM during
the Labor Day weekend. If we don't resolve this tonight, with the best
will in the world we won't be back to a functioning master before
Tuesday evening.

/
    Leif
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Ard Biesheuvel Sept. 2, 2016, 6:11 p.m. | #5
On 2 September 2016 at 19:05, Leif Lindholm <leif.lindholm@linaro.org> wrote:
> On Fri, Sep 02, 2016 at 05:07:48PM +0100, Ard Biesheuvel wrote:

>> > This isn't a proposed alternative to your patchset, this is an

>> > alternative to reverting all of the other BaseMemoryLib changes.

>> > I'm happy to throw it away next week if we can get something better in

>> > by then.

>> >

>> >> The AArch64 optdxe changes i proposed are arguably as harmless,

>> >

>> > Yes, but that leaves ARM broken.

>>

>> Not necessarily. ARM can use the generic BaseMemoryLib in MdePkg

>

> OK, but that's still yet another change.

>

>> >> since they don't affect any other arch either. And the stm aarch64

>> >> versions are plain c to begin with

>> >

>> > And I want to discuss that next week. Against the backdrop of a

>> > working master branch.

>>

>> My concern is that having an 'ARM' flavor of BaseMemoryLib in MdePkg/

>> will make it more difficult rather than easier to simply add ARM

>> support to the existing non-sse/mmx ones

>

> I don't share that concern. I am entirely serious about nuking it next

> week if we come to an agreement on a better solution.

> And I'm happy to take on the drudgery of fixing up all the platforms.

>

> (As a side note, this is an excellent example of why we need to

> create reusable config fragments - fixing all ARM platforms to use the

> correct library should be at most a two-liner in one place in edk2.)

>

>> Added the fact that the Stm is not in great shape, I would really

>> prefer to get rid of it rather than 'promote' it to the standard ARM

>> implementation. Note that we will need another round of updates to the

>> platform .DSCs when we remove the Stm version again.

>

> My main concern is leaving the master branch unusable for ARM during

> the Labor Day weekend. If we don't resolve this tonight, with the best

> will in the world we won't be back to a functioning master before

> Tuesday evening.

>


I agree that fixing the branch now would be nice. I just don't
understand why fixing BaseMemoryLibStm in place is not a better
solution, especially if we are nuking it anyway next week. That way,
we have to change all the platforms only a single time.
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Leif Lindholm Sept. 2, 2016, 6:32 p.m. | #6
On Fri, Sep 02, 2016 at 07:11:02PM +0100, Ard Biesheuvel wrote:
> >> Added the fact that the Stm is not in great shape, I would really

> >> prefer to get rid of it rather than 'promote' it to the standard ARM

> >> implementation. Note that we will need another round of updates to the

> >> platform .DSCs when we remove the Stm version again.

> >

> > My main concern is leaving the master branch unusable for ARM during

> > the Labor Day weekend. If we don't resolve this tonight, with the best

> > will in the world we won't be back to a functioning master before

> > Tuesday evening.

> 

> I agree that fixing the branch now would be nice. I just don't

> understand why fixing BaseMemoryLibStm in place is not a better

> solution, especially if we are nuking it anyway next week. That way,

> we have to change all the platforms only a single time.


Mainly because we don't _know_ that it will be resolved next week and
I'm currently having some trust issues regarding these libraries.

If that's what it takes to get consensus, sure, I'll go along with
that. I'm fully aware I'm being slightly irrational here.

So where to now? Just push 2-3 from Wednesday?

/
    Leif
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Ard Biesheuvel Sept. 2, 2016, 6:45 p.m. | #7
> On 2 sep. 2016, at 19:32, Leif Lindholm <leif.lindholm@linaro.org> wrote:

> 

> On Fri, Sep 02, 2016 at 07:11:02PM +0100, Ard Biesheuvel wrote:

>>>> Added the fact that the Stm is not in great shape, I would really

>>>> prefer to get rid of it rather than 'promote' it to the standard ARM

>>>> implementation. Note that we will need another round of updates to the

>>>> platform .DSCs when we remove the Stm version again.

>>> 

>>> My main concern is leaving the master branch unusable for ARM during

>>> the Labor Day weekend. If we don't resolve this tonight, with the best

>>> will in the world we won't be back to a functioning master before

>>> Tuesday evening.

>> 

>> I agree that fixing the branch now would be nice. I just don't

>> understand why fixing BaseMemoryLibStm in place is not a better

>> solution, especially if we are nuking it anyway next week. That way,

>> we have to change all the platforms only a single time.

> 

> Mainly because we don't _know_ that it will be resolved next week and

> I'm currently having some trust issues regarding these libraries.

> 

> If that's what it takes to get consensus, sure, I'll go along with

> that. I'm fully aware I'm being slightly irrational here.

> 

> So where to now? Just push 2-3 from Wednesday?

> 


Yes, please. On Monday, I will look into adding Arm support to the optdxe flavor, and once that is in, we can move all platforms over and deprecate/remove the stm version.

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Leif Lindholm Sept. 2, 2016, 7:18 p.m. | #8
On Fri, Sep 02, 2016 at 07:45:26PM +0100, Ard Biesheuvel wrote:
> >> 

> >> I agree that fixing the branch now would be nice. I just don't

> >> understand why fixing BaseMemoryLibStm in place is not a better

> >> solution, especially if we are nuking it anyway next week. That way,

> >> we have to change all the platforms only a single time.

> > 

> > Mainly because we don't _know_ that it will be resolved next week and

> > I'm currently having some trust issues regarding these libraries.

> > 

> > If that's what it takes to get consensus, sure, I'll go along with

> > that. I'm fully aware I'm being slightly irrational here.

> > 

> > So where to now? Just push 2-3 from Wednesday?

> 

> Yes, please. On Monday, I will look into adding Arm support to the

> optdxe flavor, and once that is in, we can move all platforms over

> and deprecate/remove the stm version.


Allright - now pushed.

Mike, Andrew, apologies for the noise, and thank you for very quick
feedback.

/
    Leif

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Laszlo Ersek Sept. 2, 2016, 7:24 p.m. | #9
On 09/02/16 21:18, Leif Lindholm wrote:
> On Fri, Sep 02, 2016 at 07:45:26PM +0100, Ard Biesheuvel wrote:

>>>>

>>>> I agree that fixing the branch now would be nice. I just don't

>>>> understand why fixing BaseMemoryLibStm in place is not a better

>>>> solution, especially if we are nuking it anyway next week. That way,

>>>> we have to change all the platforms only a single time.

>>>

>>> Mainly because we don't _know_ that it will be resolved next week and

>>> I'm currently having some trust issues regarding these libraries.

>>>

>>> If that's what it takes to get consensus, sure, I'll go along with

>>> that. I'm fully aware I'm being slightly irrational here.

>>>

>>> So where to now? Just push 2-3 from Wednesday?

>>

>> Yes, please. On Monday, I will look into adding Arm support to the

>> optdxe flavor, and once that is in, we can move all platforms over

>> and deprecate/remove the stm version.

> 

> Allright - now pushed.

> 

> Mike, Andrew, apologies for the noise, and thank you for very quick

> feedback.


Thanks everyone!

Laszlo

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

Patch

diff --git a/ArmPkg/ArmPkg.dsc b/ArmPkg/ArmPkg.dsc
index 6f9fc66..09cbb85 100644
--- a/ArmPkg/ArmPkg.dsc
+++ b/ArmPkg/ArmPkg.dsc
@@ -112,7 +112,6 @@  [Components.common]
   ArmPkg/Library/ArmDisassemblerLib/ArmDisassemblerLib.inf
   ArmPkg/Library/ArmDmaLib/ArmDmaLib.inf
   ArmPkg/Library/ArmLib/Null/NullArmLib.inf
-  ArmPkg/Library/BaseMemoryLibStm/BaseMemoryLibStm.inf
   ArmPkg/Library/BdsLib/BdsLib.inf
   ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
   ArmPkg/Library/DebugAgentSymbolsBaseLib/DebugAgentSymbolsBaseLib.inf
diff --git a/ArmVirtPkg/ArmVirt.dsc.inc b/ArmVirtPkg/ArmVirt.dsc.inc
index 6c6a52b..338c22c 100644
--- a/ArmVirtPkg/ArmVirt.dsc.inc
+++ b/ArmVirtPkg/ArmVirt.dsc.inc
@@ -69,7 +69,7 @@  [LibraryClasses.common]
 
   # 1/123 faster than Stm or Vstm version
   #BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
-  BaseMemoryLib|ArmPkg/Library/BaseMemoryLibStm/BaseMemoryLibStm.inf
+  BaseMemoryLib|MdePkg/Library/BaseMemoryLibStm/BaseMemoryLibStm.inf
 
   # Networking Requirements
   NetLib|MdeModulePkg/Library/DxeNetLib/DxeNetLib.inf
diff --git a/BeagleBoardPkg/BeagleBoardPkg.dsc b/BeagleBoardPkg/BeagleBoardPkg.dsc
index b4a645b..7bf7d52 100644
--- a/BeagleBoardPkg/BeagleBoardPkg.dsc
+++ b/BeagleBoardPkg/BeagleBoardPkg.dsc
@@ -55,7 +55,7 @@  [LibraryClasses.common]
   MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
 
   BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
-  BaseMemoryLib|ArmPkg/Library/BaseMemoryLibStm/BaseMemoryLibStm.inf
+  BaseMemoryLib|MdePkg/Library/BaseMemoryLibStm/BaseMemoryLibStm.inf
 
   EfiResetSystemLib|BeagleBoardPkg/Library/ResetSystemLib/ResetSystemLib.inf
 
diff --git a/ArmPkg/Library/BaseMemoryLibStm/AArch64/CopyMem.c b/MdePkg/Library/BaseMemoryLibStm/AArch64/CopyMem.c
similarity index 100%
rename from ArmPkg/Library/BaseMemoryLibStm/AArch64/CopyMem.c
rename to MdePkg/Library/BaseMemoryLibStm/AArch64/CopyMem.c
diff --git a/ArmPkg/Library/BaseMemoryLibStm/AArch64/SetMem.c b/MdePkg/Library/BaseMemoryLibStm/AArch64/SetMem.c
similarity index 100%
rename from ArmPkg/Library/BaseMemoryLibStm/AArch64/SetMem.c
rename to MdePkg/Library/BaseMemoryLibStm/AArch64/SetMem.c
diff --git a/ArmPkg/Library/BaseMemoryLibStm/Arm/CopyMem.S b/MdePkg/Library/BaseMemoryLibStm/Arm/CopyMem.S
similarity index 100%
rename from ArmPkg/Library/BaseMemoryLibStm/Arm/CopyMem.S
rename to MdePkg/Library/BaseMemoryLibStm/Arm/CopyMem.S
diff --git a/ArmPkg/Library/BaseMemoryLibStm/Arm/CopyMem.asm b/MdePkg/Library/BaseMemoryLibStm/Arm/CopyMem.asm
similarity index 100%
rename from ArmPkg/Library/BaseMemoryLibStm/Arm/CopyMem.asm
rename to MdePkg/Library/BaseMemoryLibStm/Arm/CopyMem.asm
diff --git a/ArmPkg/Library/BaseMemoryLibStm/Arm/SetMem.S b/MdePkg/Library/BaseMemoryLibStm/Arm/SetMem.S
similarity index 100%
rename from ArmPkg/Library/BaseMemoryLibStm/Arm/SetMem.S
rename to MdePkg/Library/BaseMemoryLibStm/Arm/SetMem.S
diff --git a/ArmPkg/Library/BaseMemoryLibStm/Arm/SetMem.asm b/MdePkg/Library/BaseMemoryLibStm/Arm/SetMem.asm
similarity index 100%
rename from ArmPkg/Library/BaseMemoryLibStm/Arm/SetMem.asm
rename to MdePkg/Library/BaseMemoryLibStm/Arm/SetMem.asm
diff --git a/ArmPkg/Library/BaseMemoryLibStm/BaseMemoryLibStm.inf b/MdePkg/Library/BaseMemoryLibStm/BaseMemoryLibStm.inf
similarity index 100%
rename from ArmPkg/Library/BaseMemoryLibStm/BaseMemoryLibStm.inf
rename to MdePkg/Library/BaseMemoryLibStm/BaseMemoryLibStm.inf
diff --git a/ArmPkg/Library/BaseMemoryLibStm/CompareMemWrapper.c b/MdePkg/Library/BaseMemoryLibStm/CompareMemWrapper.c
similarity index 100%
rename from ArmPkg/Library/BaseMemoryLibStm/CompareMemWrapper.c
rename to MdePkg/Library/BaseMemoryLibStm/CompareMemWrapper.c
diff --git a/ArmPkg/Library/BaseMemoryLibStm/CopyMem.c b/MdePkg/Library/BaseMemoryLibStm/CopyMem.c
similarity index 100%
rename from ArmPkg/Library/BaseMemoryLibStm/CopyMem.c
rename to MdePkg/Library/BaseMemoryLibStm/CopyMem.c
diff --git a/ArmPkg/Library/BaseMemoryLibStm/CopyMemWrapper.c b/MdePkg/Library/BaseMemoryLibStm/CopyMemWrapper.c
similarity index 100%
rename from ArmPkg/Library/BaseMemoryLibStm/CopyMemWrapper.c
rename to MdePkg/Library/BaseMemoryLibStm/CopyMemWrapper.c
diff --git a/ArmPkg/Library/BaseMemoryLibStm/MemLibGeneric.c b/MdePkg/Library/BaseMemoryLibStm/MemLibGeneric.c
similarity index 100%
rename from ArmPkg/Library/BaseMemoryLibStm/MemLibGeneric.c
rename to MdePkg/Library/BaseMemoryLibStm/MemLibGeneric.c
diff --git a/ArmPkg/Library/BaseMemoryLibStm/MemLibGuid.c b/MdePkg/Library/BaseMemoryLibStm/MemLibGuid.c
similarity index 100%
rename from ArmPkg/Library/BaseMemoryLibStm/MemLibGuid.c
rename to MdePkg/Library/BaseMemoryLibStm/MemLibGuid.c
diff --git a/ArmPkg/Library/BaseMemoryLibStm/MemLibInternals.h b/MdePkg/Library/BaseMemoryLibStm/MemLibInternals.h
similarity index 100%
rename from ArmPkg/Library/BaseMemoryLibStm/MemLibInternals.h
rename to MdePkg/Library/BaseMemoryLibStm/MemLibInternals.h
diff --git a/ArmPkg/Library/BaseMemoryLibStm/ScanMem16Wrapper.c b/MdePkg/Library/BaseMemoryLibStm/ScanMem16Wrapper.c
similarity index 100%
rename from ArmPkg/Library/BaseMemoryLibStm/ScanMem16Wrapper.c
rename to MdePkg/Library/BaseMemoryLibStm/ScanMem16Wrapper.c
diff --git a/ArmPkg/Library/BaseMemoryLibStm/ScanMem32Wrapper.c b/MdePkg/Library/BaseMemoryLibStm/ScanMem32Wrapper.c
similarity index 100%
rename from ArmPkg/Library/BaseMemoryLibStm/ScanMem32Wrapper.c
rename to MdePkg/Library/BaseMemoryLibStm/ScanMem32Wrapper.c
diff --git a/ArmPkg/Library/BaseMemoryLibStm/ScanMem64Wrapper.c b/MdePkg/Library/BaseMemoryLibStm/ScanMem64Wrapper.c
similarity index 100%
rename from ArmPkg/Library/BaseMemoryLibStm/ScanMem64Wrapper.c
rename to MdePkg/Library/BaseMemoryLibStm/ScanMem64Wrapper.c
diff --git a/ArmPkg/Library/BaseMemoryLibStm/ScanMem8Wrapper.c b/MdePkg/Library/BaseMemoryLibStm/ScanMem8Wrapper.c
similarity index 100%
rename from ArmPkg/Library/BaseMemoryLibStm/ScanMem8Wrapper.c
rename to MdePkg/Library/BaseMemoryLibStm/ScanMem8Wrapper.c
diff --git a/ArmPkg/Library/BaseMemoryLibStm/SetMem.c b/MdePkg/Library/BaseMemoryLibStm/SetMem.c
similarity index 100%
rename from ArmPkg/Library/BaseMemoryLibStm/SetMem.c
rename to MdePkg/Library/BaseMemoryLibStm/SetMem.c
diff --git a/ArmPkg/Library/BaseMemoryLibStm/SetMem16Wrapper.c b/MdePkg/Library/BaseMemoryLibStm/SetMem16Wrapper.c
similarity index 100%
rename from ArmPkg/Library/BaseMemoryLibStm/SetMem16Wrapper.c
rename to MdePkg/Library/BaseMemoryLibStm/SetMem16Wrapper.c
diff --git a/ArmPkg/Library/BaseMemoryLibStm/SetMem32Wrapper.c b/MdePkg/Library/BaseMemoryLibStm/SetMem32Wrapper.c
similarity index 100%
rename from ArmPkg/Library/BaseMemoryLibStm/SetMem32Wrapper.c
rename to MdePkg/Library/BaseMemoryLibStm/SetMem32Wrapper.c
diff --git a/ArmPkg/Library/BaseMemoryLibStm/SetMem64Wrapper.c b/MdePkg/Library/BaseMemoryLibStm/SetMem64Wrapper.c
similarity index 100%
rename from ArmPkg/Library/BaseMemoryLibStm/SetMem64Wrapper.c
rename to MdePkg/Library/BaseMemoryLibStm/SetMem64Wrapper.c
diff --git a/ArmPkg/Library/BaseMemoryLibStm/SetMemWrapper.c b/MdePkg/Library/BaseMemoryLibStm/SetMemWrapper.c
similarity index 100%
rename from ArmPkg/Library/BaseMemoryLibStm/SetMemWrapper.c
rename to MdePkg/Library/BaseMemoryLibStm/SetMemWrapper.c
diff --git a/ArmPkg/Library/BaseMemoryLibStm/ZeroMemWrapper.c b/MdePkg/Library/BaseMemoryLibStm/ZeroMemWrapper.c
similarity index 100%
rename from ArmPkg/Library/BaseMemoryLibStm/ZeroMemWrapper.c
rename to MdePkg/Library/BaseMemoryLibStm/ZeroMemWrapper.c
diff --git a/MdePkg/MdePkg.dsc b/MdePkg/MdePkg.dsc
index ab57689..75a8f1a 100644
--- a/MdePkg/MdePkg.dsc
+++ b/MdePkg/MdePkg.dsc
@@ -177,6 +177,7 @@  [Components.EBC]
   MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
 
 [Components.ARM, Components.AARCH64]
+  MdePkg/Library/BaseMemoryLibStm/BaseMemoryLibStm.inf
   MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf
 
 [BuildOptions]