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]
