]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Library/BaseLib/BaseLib.inf
MdePkg/BaseLib: add PatchInstructionX86()
[mirror_edk2.git] / MdePkg / Library / BaseLib / BaseLib.inf
index e05a50c6beccec18196417cf8dad0877c1de78c7..5fbbd02a94b62e74ffe155c78a48bb2925e6c420 100644 (file)
@@ -1,13 +1,14 @@
 ## @file\r
 #  Base Library implementation.\r
 #\r
-#  Copyright (c) 2007 - 2010, Intel Corporation.<BR>\r
-#  Portions copyright (c) 2008-2009 Apple Inc. All rights reserved.<BR>\r
+#  Copyright (c) 2007 - 2016, Intel Corporation. All rights reserved.<BR>\r
+#  Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>\r
+#  Portions copyright (c) 2011 - 2013, ARM Ltd. All rights reserved.<BR>\r
 #\r
-#  All rights reserved. This program and the accompanying materials\r
+#  This program and the accompanying materials\r
 #  are licensed and made available under the terms and conditions of the BSD License\r
 #  which accompanies this distribution. The full text of the license may be found at\r
-#  http://opensource.org/licenses/bsd-license.php\r
+#  http://opensource.org/licenses/bsd-license.php.\r
 #  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
 #  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
 #\r
 [Defines]\r
   INF_VERSION                    = 0x00010005\r
   BASE_NAME                      = BaseLib\r
+  MODULE_UNI_FILE                = BaseLib.uni\r
   FILE_GUID                      = 27d67720-ea68-48ae-93da-a3a074c90e30\r
   MODULE_TYPE                    = BASE\r
-  VERSION_STRING                 = 1.0\r
+  VERSION_STRING                 = 1.1\r
   LIBRARY_CLASS                  = BaseLib \r
 \r
 #\r
-#  VALID_ARCHITECTURES           = IA32 X64 IPF EBC ARM\r
+#  VALID_ARCHITECTURES           = IA32 X64 IPF EBC ARM AARCH64\r
 #\r
 \r
 [Sources]\r
   CpuDeadLoop.c\r
   Cpu.c\r
   LinkedList.c\r
+  SafeString.c\r
   String.c\r
+  FilePaths.c\r
   BaseLibInternals.h\r
 \r
 [Sources.Ia32]\r
+  Ia32/WriteTr.nasm\r
+\r
   Ia32/Wbinvd.c | MSFT \r
   Ia32/WriteMm7.c | MSFT \r
   Ia32/WriteMm6.c | MSFT \r
   Ia32/EnablePaging32.c | MSFT \r
   Ia32/EnableInterrupts.c | MSFT \r
   Ia32/EnableDisableInterrupts.c | MSFT \r
+  Ia32/DivU64x64Remainder.nasm| MSFT\r
   Ia32/DivU64x64Remainder.asm | MSFT \r
   Ia32/DivU64x32Remainder.c | MSFT \r
   Ia32/DivU64x32.c | MSFT \r
   Ia32/CpuId.c | MSFT \r
   Ia32/CpuBreakpoint.c | MSFT \r
   Ia32/ARShiftU64.c | MSFT \r
+  Ia32/Thunk16.nasm | MSFT\r
   Ia32/Thunk16.asm | MSFT\r
+  Ia32/EnablePaging64.nasm| MSFT\r
   Ia32/EnablePaging64.asm | MSFT\r
   Ia32/EnableCache.c | MSFT\r
   Ia32/DisableCache.c | MSFT\r
+  Ia32/RdRand.nasm| MSFT\r
+  Ia32/RdRand.asm | MSFT\r
 \r
+  Ia32/Wbinvd.nasm| INTEL\r
   Ia32/Wbinvd.asm | INTEL \r
+  Ia32/WriteMm7.nasm| INTEL\r
   Ia32/WriteMm7.asm | INTEL \r
+  Ia32/WriteMm6.nasm| INTEL\r
   Ia32/WriteMm6.asm | INTEL \r
+  Ia32/WriteMm5.nasm| INTEL\r
   Ia32/WriteMm5.asm | INTEL \r
+  Ia32/WriteMm4.nasm| INTEL\r
   Ia32/WriteMm4.asm | INTEL \r
+  Ia32/WriteMm3.nasm| INTEL\r
   Ia32/WriteMm3.asm | INTEL \r
+  Ia32/WriteMm2.nasm| INTEL\r
   Ia32/WriteMm2.asm | INTEL \r
+  Ia32/WriteMm1.nasm| INTEL\r
   Ia32/WriteMm1.asm | INTEL \r
+  Ia32/WriteMm0.nasm| INTEL\r
   Ia32/WriteMm0.asm | INTEL \r
+  Ia32/WriteLdtr.nasm| INTEL\r
   Ia32/WriteLdtr.asm | INTEL \r
+  Ia32/WriteIdtr.nasm| INTEL\r
   Ia32/WriteIdtr.asm | INTEL \r
+  Ia32/WriteGdtr.nasm| INTEL\r
   Ia32/WriteGdtr.asm | INTEL \r
+  Ia32/WriteDr7.nasm| INTEL\r
   Ia32/WriteDr7.asm | INTEL \r
+  Ia32/WriteDr6.nasm| INTEL\r
   Ia32/WriteDr6.asm | INTEL \r
+  Ia32/WriteDr5.nasm| INTEL\r
   Ia32/WriteDr5.asm | INTEL \r
+  Ia32/WriteDr4.nasm| INTEL\r
   Ia32/WriteDr4.asm | INTEL \r
+  Ia32/WriteDr3.nasm| INTEL\r
   Ia32/WriteDr3.asm | INTEL \r
+  Ia32/WriteDr2.nasm| INTEL\r
   Ia32/WriteDr2.asm | INTEL \r
+  Ia32/WriteDr1.nasm| INTEL\r
   Ia32/WriteDr1.asm | INTEL \r
+  Ia32/WriteDr0.nasm| INTEL\r
   Ia32/WriteDr0.asm | INTEL \r
+  Ia32/WriteCr4.nasm| INTEL\r
   Ia32/WriteCr4.asm | INTEL \r
+  Ia32/WriteCr3.nasm| INTEL\r
   Ia32/WriteCr3.asm | INTEL \r
+  Ia32/WriteCr2.nasm| INTEL\r
   Ia32/WriteCr2.asm | INTEL \r
+  Ia32/WriteCr0.nasm| INTEL\r
   Ia32/WriteCr0.asm | INTEL \r
+  Ia32/WriteMsr64.nasm| INTEL\r
   Ia32/WriteMsr64.asm | INTEL \r
+  Ia32/SwapBytes64.nasm| INTEL\r
   Ia32/SwapBytes64.asm | INTEL \r
+  Ia32/SetJump.nasm| INTEL\r
   Ia32/SetJump.asm | INTEL \r
+  Ia32/RRotU64.nasm| INTEL\r
   Ia32/RRotU64.asm | INTEL \r
+  Ia32/RShiftU64.nasm| INTEL\r
   Ia32/RShiftU64.asm | INTEL \r
+  Ia32/ReadPmc.nasm| INTEL\r
   Ia32/ReadPmc.asm | INTEL \r
+  Ia32/ReadTsc.nasm| INTEL\r
   Ia32/ReadTsc.asm | INTEL \r
+  Ia32/ReadLdtr.nasm| INTEL\r
   Ia32/ReadLdtr.asm | INTEL \r
+  Ia32/ReadIdtr.nasm| INTEL\r
   Ia32/ReadIdtr.asm | INTEL \r
+  Ia32/ReadGdtr.nasm| INTEL\r
   Ia32/ReadGdtr.asm | INTEL \r
+  Ia32/ReadTr.nasm| INTEL\r
   Ia32/ReadTr.asm | INTEL \r
+  Ia32/ReadSs.nasm| INTEL\r
   Ia32/ReadSs.asm | INTEL \r
+  Ia32/ReadGs.nasm| INTEL\r
   Ia32/ReadGs.asm | INTEL \r
+  Ia32/ReadFs.nasm| INTEL\r
   Ia32/ReadFs.asm | INTEL \r
+  Ia32/ReadEs.nasm| INTEL\r
   Ia32/ReadEs.asm | INTEL \r
+  Ia32/ReadDs.nasm| INTEL\r
   Ia32/ReadDs.asm | INTEL \r
+  Ia32/ReadCs.nasm| INTEL\r
   Ia32/ReadCs.asm | INTEL \r
+  Ia32/ReadMsr64.nasm| INTEL\r
   Ia32/ReadMsr64.asm | INTEL \r
+  Ia32/ReadMm7.nasm| INTEL\r
   Ia32/ReadMm7.asm | INTEL \r
+  Ia32/ReadMm6.nasm| INTEL\r
   Ia32/ReadMm6.asm | INTEL \r
+  Ia32/ReadMm5.nasm| INTEL\r
   Ia32/ReadMm5.asm | INTEL \r
+  Ia32/ReadMm4.nasm| INTEL\r
   Ia32/ReadMm4.asm | INTEL \r
+  Ia32/ReadMm3.nasm| INTEL\r
   Ia32/ReadMm3.asm | INTEL \r
+  Ia32/ReadMm2.nasm| INTEL\r
   Ia32/ReadMm2.asm | INTEL \r
+  Ia32/ReadMm1.nasm| INTEL\r
   Ia32/ReadMm1.asm | INTEL \r
+  Ia32/ReadMm0.nasm| INTEL\r
   Ia32/ReadMm0.asm | INTEL \r
+  Ia32/ReadEflags.nasm| INTEL\r
   Ia32/ReadEflags.asm | INTEL \r
+  Ia32/ReadDr7.nasm| INTEL\r
   Ia32/ReadDr7.asm | INTEL \r
+  Ia32/ReadDr6.nasm| INTEL\r
   Ia32/ReadDr6.asm | INTEL \r
+  Ia32/ReadDr5.nasm| INTEL\r
   Ia32/ReadDr5.asm | INTEL \r
+  Ia32/ReadDr4.nasm| INTEL\r
   Ia32/ReadDr4.asm | INTEL \r
+  Ia32/ReadDr3.nasm| INTEL\r
   Ia32/ReadDr3.asm | INTEL \r
+  Ia32/ReadDr2.nasm| INTEL\r
   Ia32/ReadDr2.asm | INTEL \r
+  Ia32/ReadDr1.nasm| INTEL\r
   Ia32/ReadDr1.asm | INTEL \r
+  Ia32/ReadDr0.nasm| INTEL\r
   Ia32/ReadDr0.asm | INTEL \r
+  Ia32/ReadCr4.nasm| INTEL\r
   Ia32/ReadCr4.asm | INTEL \r
+  Ia32/ReadCr3.nasm| INTEL\r
   Ia32/ReadCr3.asm | INTEL \r
+  Ia32/ReadCr2.nasm| INTEL\r
   Ia32/ReadCr2.asm | INTEL \r
+  Ia32/ReadCr0.nasm| INTEL\r
   Ia32/ReadCr0.asm | INTEL \r
+  Ia32/Mwait.nasm| INTEL\r
   Ia32/Mwait.asm | INTEL \r
+  Ia32/Monitor.nasm| INTEL\r
   Ia32/Monitor.asm | INTEL \r
+  Ia32/ModU64x32.nasm| INTEL\r
   Ia32/ModU64x32.asm | INTEL \r
+  Ia32/MultU64x64.nasm| INTEL\r
   Ia32/MultU64x64.asm | INTEL \r
+  Ia32/MultU64x32.nasm| INTEL\r
   Ia32/MultU64x32.asm | INTEL \r
+  Ia32/LShiftU64.nasm| INTEL\r
   Ia32/LShiftU64.asm | INTEL \r
+  Ia32/LRotU64.nasm| INTEL\r
   Ia32/LRotU64.asm | INTEL \r
+  Ia32/LongJump.nasm| INTEL\r
   Ia32/LongJump.asm | INTEL \r
+  Ia32/Invd.nasm| INTEL\r
   Ia32/Invd.asm | INTEL \r
+  Ia32/FxRestore.nasm| INTEL\r
   Ia32/FxRestore.asm | INTEL \r
+  Ia32/FxSave.nasm| INTEL\r
   Ia32/FxSave.asm | INTEL \r
+  Ia32/FlushCacheLine.nasm| INTEL\r
   Ia32/FlushCacheLine.asm | INTEL \r
+  Ia32/EnablePaging32.nasm| INTEL\r
   Ia32/EnablePaging32.asm | INTEL \r
+  Ia32/EnableInterrupts.nasm| INTEL\r
   Ia32/EnableInterrupts.asm | INTEL \r
+  Ia32/EnableDisableInterrupts.nasm| INTEL\r
   Ia32/EnableDisableInterrupts.asm | INTEL \r
+  Ia32/DivU64x64Remainder.nasm| INTEL\r
   Ia32/DivU64x64Remainder.asm | INTEL \r
+  Ia32/DivU64x32Remainder.nasm| INTEL\r
   Ia32/DivU64x32Remainder.asm | INTEL \r
+  Ia32/DivU64x32.nasm| INTEL\r
   Ia32/DivU64x32.asm | INTEL \r
-  Ia32/DisablePaging32.asm | INTEL \r
+  Ia32/DisablePaging32.nasm| INTEL\r
+  Ia32/DisablePaging32.asm | INTEL\r
+  Ia32/DisableInterrupts.nasm| INTEL\r
   Ia32/DisableInterrupts.asm | INTEL \r
+  Ia32/CpuPause.nasm| INTEL\r
   Ia32/CpuPause.asm | INTEL \r
+  Ia32/CpuIdEx.nasm| INTEL\r
   Ia32/CpuIdEx.asm | INTEL \r
+  Ia32/CpuId.nasm| INTEL\r
   Ia32/CpuId.asm | INTEL \r
+  Ia32/CpuBreakpoint.nasm| INTEL\r
   Ia32/CpuBreakpoint.asm | INTEL \r
+  Ia32/ARShiftU64.nasm| INTEL\r
   Ia32/ARShiftU64.asm | INTEL \r
+  Ia32/Thunk16.nasm | INTEL\r
   Ia32/Thunk16.asm | INTEL\r
+  Ia32/EnablePaging64.nasm| INTEL\r
   Ia32/EnablePaging64.asm | INTEL\r
+  Ia32/EnableCache.nasm| INTEL\r
   Ia32/EnableCache.asm | INTEL\r
+  Ia32/DisableCache.nasm| INTEL\r
   Ia32/DisableCache.asm | INTEL\r
+  Ia32/RdRand.nasm| INTEL\r
+  Ia32/RdRand.asm | INTEL\r
 \r
-  Ia32/Thunk16.S | GCC \r
-  Ia32/CpuBreakpoint.S | GCC \r
-  Ia32/CpuPause.S | GCC \r
+  Ia32/GccInline.c | GCC\r
+  Ia32/Thunk16.nasm | GCC \r
+  Ia32/Thunk16.S | XCODE \r
+  Ia32/EnableDisableInterrupts.nasm| GCC\r
   Ia32/EnableDisableInterrupts.S | GCC \r
-  Ia32/DisableInterrupts.S | GCC \r
-  Ia32/EnableInterrupts.S | GCC \r
-  Ia32/FlushCacheLine.S | GCC \r
-  Ia32/Invd.S | GCC \r
-  Ia32/Wbinvd.S | GCC \r
+  Ia32/EnablePaging64.nasm| GCC\r
   Ia32/EnablePaging64.S | GCC \r
+  Ia32/DisablePaging32.nasm| GCC\r
   Ia32/DisablePaging32.S | GCC \r
+  Ia32/EnablePaging32.nasm| GCC\r
   Ia32/EnablePaging32.S | GCC \r
+  Ia32/Mwait.nasm| GCC\r
   Ia32/Mwait.S | GCC \r
+  Ia32/Monitor.nasm| GCC\r
   Ia32/Monitor.S | GCC \r
-  Ia32/ReadPmc.S | GCC \r
-  Ia32/ReadTsc.S | GCC \r
-  Ia32/WriteMm7.S | GCC \r
-  Ia32/WriteMm6.S | GCC \r
-  Ia32/WriteMm5.S | GCC \r
-  Ia32/WriteMm4.S | GCC \r
-  Ia32/WriteMm3.S | GCC \r
-  Ia32/WriteMm2.S | GCC \r
-  Ia32/WriteMm1.S | GCC \r
-  Ia32/WriteMm0.S | GCC \r
-  Ia32/ReadMm7.S | GCC \r
-  Ia32/ReadMm6.S | GCC \r
-  Ia32/ReadMm5.S | GCC \r
-  Ia32/ReadMm4.S | GCC \r
-  Ia32/ReadMm3.S | GCC \r
-  Ia32/ReadMm2.S | GCC \r
-  Ia32/ReadMm1.S | GCC \r
-  Ia32/ReadMm0.S | GCC \r
-  Ia32/FxRestore.S | GCC \r
-  Ia32/FxSave.S | GCC \r
-  Ia32/WriteLdtr.S | GCC \r
-  Ia32/ReadLdtr.S | GCC \r
-  Ia32/WriteIdtr.S | GCC \r
-  Ia32/ReadIdtr.S | GCC \r
-  Ia32/WriteGdtr.S | GCC \r
-  Ia32/ReadGdtr.S | GCC \r
-  Ia32/ReadTr.S | GCC \r
-  Ia32/ReadSs.S | GCC \r
-  Ia32/ReadGs.S | GCC \r
-  Ia32/ReadFs.S | GCC \r
-  Ia32/ReadEs.S | GCC \r
-  Ia32/ReadDs.S | GCC \r
-  Ia32/ReadCs.S | GCC \r
-  Ia32/WriteDr7.S | GCC \r
-  Ia32/WriteDr6.S | GCC \r
-  Ia32/WriteDr5.S | GCC \r
-  Ia32/WriteDr4.S | GCC \r
-  Ia32/WriteDr3.S | GCC \r
-  Ia32/WriteDr2.S | GCC \r
-  Ia32/WriteDr1.S | GCC \r
-  Ia32/WriteDr0.S | GCC \r
-  Ia32/ReadDr7.S | GCC \r
-  Ia32/ReadDr6.S | GCC \r
-  Ia32/ReadDr5.S | GCC \r
-  Ia32/ReadDr4.S | GCC \r
-  Ia32/ReadDr3.S | GCC \r
-  Ia32/ReadDr2.S | GCC \r
-  Ia32/ReadDr1.S | GCC \r
-  Ia32/ReadDr0.S | GCC \r
-  Ia32/WriteCr4.S | GCC \r
-  Ia32/WriteCr3.S | GCC \r
-  Ia32/WriteCr2.S | GCC \r
-  Ia32/WriteCr0.S | GCC \r
-  Ia32/ReadCr4.S | GCC \r
-  Ia32/ReadCr3.S | GCC \r
-  Ia32/ReadCr2.S | GCC \r
-  Ia32/ReadCr0.S | GCC \r
-  Ia32/WriteMsr64.S | GCC \r
-  Ia32/ReadMsr64.S | GCC \r
-  Ia32/ReadEflags.S | GCC \r
+  Ia32/CpuIdEx.nasm| GCC\r
   Ia32/CpuIdEx.S | GCC \r
+  Ia32/CpuId.nasm| GCC\r
   Ia32/CpuId.S | GCC \r
+  Ia32/LongJump.nasm| GCC\r
   Ia32/LongJump.S | GCC \r
+  Ia32/SetJump.nasm| GCC\r
   Ia32/SetJump.S | GCC \r
+  Ia32/SwapBytes64.nasm| GCC\r
   Ia32/SwapBytes64.S | GCC \r
+  Ia32/DivU64x64Remainder.nasm| GCC\r
   Ia32/DivU64x64Remainder.S | GCC \r
+  Ia32/DivU64x32Remainder.nasm| GCC\r
   Ia32/DivU64x32Remainder.S | GCC \r
+  Ia32/ModU64x32.nasm| GCC\r
   Ia32/ModU64x32.S | GCC \r
+  Ia32/DivU64x32.nasm| GCC\r
   Ia32/DivU64x32.S | GCC \r
+  Ia32/MultU64x64.nasm| GCC\r
   Ia32/MultU64x64.S | GCC \r
+  Ia32/MultU64x32.nasm| GCC\r
   Ia32/MultU64x32.S | GCC \r
+  Ia32/RRotU64.nasm| GCC\r
   Ia32/RRotU64.S | GCC \r
+  Ia32/LRotU64.nasm| GCC\r
   Ia32/LRotU64.S | GCC \r
+  Ia32/ARShiftU64.nasm| GCC\r
   Ia32/ARShiftU64.S | GCC \r
+  Ia32/RShiftU64.nasm| GCC\r
   Ia32/RShiftU64.S | GCC \r
+  Ia32/LShiftU64.nasm| GCC\r
   Ia32/LShiftU64.S | GCC \r
+  Ia32/EnableCache.nasm| GCC\r
   Ia32/EnableCache.S | GCC\r
+  Ia32/DisableCache.nasm| GCC\r
   Ia32/DisableCache.S | GCC\r
+  Ia32/RdRand.nasm| GCC\r
+  Ia32/RdRand.S | GCC\r
 \r
   Ia32/DivS64x64Remainder.c\r
-  Ia32/InternalSwitchStack.c\r
+  Ia32/InternalSwitchStack.c | MSFT\r
+  Ia32/InternalSwitchStack.c | INTEL\r
+  Ia32/InternalSwitchStack.S | GCC\r
+  Ia32/InternalSwitchStack.nasm | GCC\r
   Ia32/Non-existing.c\r
   Unaligned.c\r
   X86WriteIdtr.c\r
   X86ReadIdtr.c\r
   X86ReadGdtr.c\r
   X86Msr.c\r
-  X86MemoryFence.c\r
+  X86MemoryFence.c | MSFT\r
+  X86MemoryFence.c | INTEL\r
   X86GetInterruptState.c\r
   X86FxSave.c\r
   X86FxRestore.c\r
   X86EnablePaging32.c\r
   X86DisablePaging64.c\r
   X86DisablePaging32.c\r
+  X86RdRand.c\r
+  X86PatchInstruction.c\r
 \r
 [Sources.X64]\r
+  X64/Thunk16.nasm\r
   X64/Thunk16.asm\r
-  X64/CpuPause.asm\r
-  X64/EnableDisableInterrupts.asm\r
-  X64/DisableInterrupts.asm\r
-  X64/EnableInterrupts.asm\r
-  X64/FlushCacheLine.asm\r
-  X64/Invd.asm\r
-  X64/Wbinvd.asm\r
-  X64/DisablePaging64.asm\r
-  X64/Mwait.asm\r
-  X64/Monitor.asm\r
-  X64/ReadPmc.asm\r
-  X64/ReadTsc.asm\r
-  X64/WriteMm7.asm\r
-  X64/WriteMm6.asm\r
-  X64/WriteMm5.asm\r
-  X64/WriteMm4.asm\r
-  X64/WriteMm3.asm\r
-  X64/WriteMm2.asm\r
-  X64/WriteMm1.asm\r
-  X64/WriteMm0.asm\r
-  X64/ReadMm7.asm\r
-  X64/ReadMm6.asm\r
-  X64/ReadMm5.asm\r
-  X64/ReadMm4.asm\r
-  X64/ReadMm3.asm\r
-  X64/ReadMm2.asm\r
-  X64/ReadMm1.asm\r
-  X64/ReadMm0.asm\r
-  X64/FxRestore.asm\r
-  X64/FxSave.asm\r
-  X64/WriteLdtr.asm\r
-  X64/ReadLdtr.asm\r
-  X64/WriteIdtr.asm\r
-  X64/ReadIdtr.asm\r
-  X64/WriteGdtr.asm\r
-  X64/ReadGdtr.asm\r
-  X64/ReadTr.asm\r
-  X64/ReadSs.asm\r
-  X64/ReadGs.asm\r
-  X64/ReadFs.asm\r
-  X64/ReadEs.asm\r
-  X64/ReadDs.asm\r
-  X64/ReadCs.asm\r
-  X64/WriteDr7.asm\r
-  X64/WriteDr6.asm\r
-  X64/WriteDr5.asm\r
-  X64/WriteDr4.asm\r
-  X64/WriteDr3.asm\r
-  X64/WriteDr2.asm\r
-  X64/WriteDr1.asm\r
-  X64/WriteDr0.asm\r
-  X64/ReadDr7.asm\r
-  X64/ReadDr6.asm\r
-  X64/ReadDr5.asm\r
-  X64/ReadDr4.asm\r
-  X64/ReadDr3.asm\r
-  X64/ReadDr2.asm\r
-  X64/ReadDr1.asm\r
-  X64/ReadDr0.asm\r
-  X64/WriteCr4.asm\r
-  X64/WriteCr3.asm\r
-  X64/WriteCr2.asm\r
-  X64/WriteCr0.asm\r
-  X64/ReadCr4.asm\r
-  X64/ReadCr3.asm\r
-  X64/ReadCr2.asm\r
-  X64/ReadCr0.asm\r
-  X64/ReadEflags.asm\r
+  X64/CpuIdEx.nasm\r
   X64/CpuIdEx.asm\r
+  X64/CpuId.nasm\r
   X64/CpuId.asm\r
+  X64/LongJump.nasm\r
   X64/LongJump.asm\r
+  X64/SetJump.nasm\r
   X64/SetJump.asm\r
+  X64/SwitchStack.nasm\r
   X64/SwitchStack.asm\r
+  X64/EnableCache.nasm\r
   X64/EnableCache.asm\r
+  X64/DisableCache.nasm\r
   X64/DisableCache.asm\r
+  X64/WriteTr.nasm\r
 \r
   X64/CpuBreakpoint.c | MSFT \r
   X64/WriteMsr64.c | MSFT \r
   X64/ReadMsr64.c | MSFT \r
+  X64/RdRand.nasm| MSFT\r
+  X64/RdRand.asm | MSFT\r
+  X64/CpuPause.nasm| MSFT\r
+  X64/CpuPause.asm | MSFT\r
+  X64/EnableDisableInterrupts.nasm| MSFT\r
+  X64/EnableDisableInterrupts.asm | MSFT\r
+  X64/DisableInterrupts.nasm| MSFT\r
+  X64/DisableInterrupts.asm | MSFT\r
+  X64/EnableInterrupts.nasm| MSFT\r
+  X64/EnableInterrupts.asm | MSFT\r
+  X64/FlushCacheLine.nasm| MSFT\r
+  X64/FlushCacheLine.asm | MSFT\r
+  X64/Invd.nasm| MSFT\r
+  X64/Invd.asm | MSFT\r
+  X64/Wbinvd.nasm| MSFT\r
+  X64/Wbinvd.asm | MSFT\r
+  X64/DisablePaging64.nasm| MSFT\r
+  X64/DisablePaging64.asm | MSFT\r
+  X64/Mwait.nasm| MSFT\r
+  X64/Mwait.asm | MSFT\r
+  X64/Monitor.nasm| MSFT\r
+  X64/Monitor.asm | MSFT\r
+  X64/ReadPmc.nasm| MSFT\r
+  X64/ReadPmc.asm | MSFT\r
+  X64/ReadTsc.nasm| MSFT\r
+  X64/ReadTsc.asm | MSFT\r
+  X64/WriteMm7.nasm| MSFT\r
+  X64/WriteMm7.asm | MSFT\r
+  X64/WriteMm6.nasm| MSFT\r
+  X64/WriteMm6.asm | MSFT\r
+  X64/WriteMm5.nasm| MSFT\r
+  X64/WriteMm5.asm | MSFT\r
+  X64/WriteMm4.nasm| MSFT\r
+  X64/WriteMm4.asm | MSFT\r
+  X64/WriteMm3.nasm| MSFT\r
+  X64/WriteMm3.asm | MSFT\r
+  X64/WriteMm2.nasm| MSFT\r
+  X64/WriteMm2.asm | MSFT\r
+  X64/WriteMm1.nasm| MSFT\r
+  X64/WriteMm1.asm | MSFT\r
+  X64/WriteMm0.nasm| MSFT\r
+  X64/WriteMm0.asm | MSFT\r
+  X64/ReadMm7.nasm| MSFT\r
+  X64/ReadMm7.asm | MSFT\r
+  X64/ReadMm6.nasm| MSFT\r
+  X64/ReadMm6.asm | MSFT\r
+  X64/ReadMm5.nasm| MSFT\r
+  X64/ReadMm5.asm | MSFT\r
+  X64/ReadMm4.nasm| MSFT\r
+  X64/ReadMm4.asm | MSFT\r
+  X64/ReadMm3.nasm| MSFT\r
+  X64/ReadMm3.asm | MSFT\r
+  X64/ReadMm2.nasm| MSFT\r
+  X64/ReadMm2.asm | MSFT\r
+  X64/ReadMm1.nasm| MSFT\r
+  X64/ReadMm1.asm | MSFT\r
+  X64/ReadMm0.nasm| MSFT\r
+  X64/ReadMm0.asm | MSFT\r
+  X64/FxRestore.nasm| MSFT\r
+  X64/FxRestore.asm | MSFT\r
+  X64/FxSave.nasm| MSFT\r
+  X64/FxSave.asm | MSFT\r
+  X64/WriteLdtr.nasm| MSFT\r
+  X64/WriteLdtr.asm | MSFT\r
+  X64/ReadLdtr.nasm| MSFT\r
+  X64/ReadLdtr.asm | MSFT\r
+  X64/WriteIdtr.nasm| MSFT\r
+  X64/WriteIdtr.asm | MSFT\r
+  X64/ReadIdtr.nasm| MSFT\r
+  X64/ReadIdtr.asm | MSFT\r
+  X64/WriteGdtr.nasm| MSFT\r
+  X64/WriteGdtr.asm | MSFT\r
+  X64/ReadGdtr.nasm| MSFT\r
+  X64/ReadGdtr.asm | MSFT\r
+  X64/ReadTr.nasm| MSFT\r
+  X64/ReadTr.asm | MSFT\r
+  X64/ReadSs.nasm| MSFT\r
+  X64/ReadSs.asm | MSFT\r
+  X64/ReadGs.nasm| MSFT\r
+  X64/ReadGs.asm | MSFT\r
+  X64/ReadFs.nasm| MSFT\r
+  X64/ReadFs.asm | MSFT\r
+  X64/ReadEs.nasm| MSFT\r
+  X64/ReadEs.asm | MSFT\r
+  X64/ReadDs.nasm| MSFT\r
+  X64/ReadDs.asm | MSFT\r
+  X64/ReadCs.nasm| MSFT\r
+  X64/ReadCs.asm | MSFT\r
+  X64/WriteDr7.nasm| MSFT\r
+  X64/WriteDr7.asm | MSFT\r
+  X64/WriteDr6.nasm| MSFT\r
+  X64/WriteDr6.asm | MSFT\r
+  X64/WriteDr5.nasm| MSFT\r
+  X64/WriteDr5.asm | MSFT\r
+  X64/WriteDr4.nasm| MSFT\r
+  X64/WriteDr4.asm | MSFT\r
+  X64/WriteDr3.nasm| MSFT\r
+  X64/WriteDr3.asm | MSFT\r
+  X64/WriteDr2.nasm| MSFT\r
+  X64/WriteDr2.asm | MSFT\r
+  X64/WriteDr1.nasm| MSFT\r
+  X64/WriteDr1.asm | MSFT\r
+  X64/WriteDr0.nasm| MSFT\r
+  X64/WriteDr0.asm | MSFT\r
+  X64/ReadDr7.nasm| MSFT\r
+  X64/ReadDr7.asm | MSFT\r
+  X64/ReadDr6.nasm| MSFT\r
+  X64/ReadDr6.asm | MSFT\r
+  X64/ReadDr5.nasm| MSFT\r
+  X64/ReadDr5.asm | MSFT\r
+  X64/ReadDr4.nasm| MSFT\r
+  X64/ReadDr4.asm | MSFT\r
+  X64/ReadDr3.nasm| MSFT\r
+  X64/ReadDr3.asm | MSFT\r
+  X64/ReadDr2.nasm| MSFT\r
+  X64/ReadDr2.asm | MSFT\r
+  X64/ReadDr1.nasm| MSFT\r
+  X64/ReadDr1.asm | MSFT\r
+  X64/ReadDr0.nasm| MSFT\r
+  X64/ReadDr0.asm | MSFT\r
+  X64/WriteCr4.nasm| MSFT\r
+  X64/WriteCr4.asm | MSFT\r
+  X64/WriteCr3.nasm| MSFT\r
+  X64/WriteCr3.asm | MSFT\r
+  X64/WriteCr2.nasm| MSFT\r
+  X64/WriteCr2.asm | MSFT\r
+  X64/WriteCr0.nasm| MSFT\r
+  X64/WriteCr0.asm | MSFT\r
+  X64/ReadCr4.nasm| MSFT\r
+  X64/ReadCr4.asm | MSFT\r
+  X64/ReadCr3.nasm| MSFT\r
+  X64/ReadCr3.asm | MSFT\r
+  X64/ReadCr2.nasm| MSFT\r
+  X64/ReadCr2.asm | MSFT\r
+  X64/ReadCr0.nasm| MSFT\r
+  X64/ReadCr0.asm | MSFT\r
+  X64/ReadEflags.nasm| MSFT\r
+  X64/ReadEflags.asm | MSFT\r
 \r
+  X64/CpuBreakpoint.nasm| INTEL\r
   X64/CpuBreakpoint.asm | INTEL \r
+  X64/WriteMsr64.nasm| INTEL\r
   X64/WriteMsr64.asm | INTEL \r
+  X64/ReadMsr64.nasm| INTEL\r
   X64/ReadMsr64.asm | INTEL \r
+  X64/RdRand.nasm| INTEL\r
+  X64/RdRand.asm | INTEL\r
+  X64/CpuPause.nasm| INTEL\r
+  X64/CpuPause.asm | INTEL\r
+  X64/EnableDisableInterrupts.nasm| INTEL\r
+  X64/EnableDisableInterrupts.asm | INTEL\r
+  X64/DisableInterrupts.nasm| INTEL\r
+  X64/DisableInterrupts.asm | INTEL\r
+  X64/EnableInterrupts.nasm| INTEL\r
+  X64/EnableInterrupts.asm | INTEL\r
+  X64/FlushCacheLine.nasm| INTEL\r
+  X64/FlushCacheLine.asm | INTEL\r
+  X64/Invd.nasm| INTEL\r
+  X64/Invd.asm | INTEL\r
+  X64/Wbinvd.nasm| INTEL\r
+  X64/Wbinvd.asm | INTEL\r
+  X64/DisablePaging64.nasm| INTEL\r
+  X64/DisablePaging64.asm | INTEL\r
+  X64/Mwait.nasm| INTEL\r
+  X64/Mwait.asm | INTEL\r
+  X64/Monitor.nasm| INTEL\r
+  X64/Monitor.asm | INTEL\r
+  X64/ReadPmc.nasm| INTEL\r
+  X64/ReadPmc.asm | INTEL\r
+  X64/ReadTsc.nasm| INTEL\r
+  X64/ReadTsc.asm | INTEL\r
+  X64/WriteMm7.nasm| INTEL\r
+  X64/WriteMm7.asm | INTEL\r
+  X64/WriteMm6.nasm| INTEL\r
+  X64/WriteMm6.asm | INTEL\r
+  X64/WriteMm5.nasm| INTEL\r
+  X64/WriteMm5.asm | INTEL\r
+  X64/WriteMm4.nasm| INTEL\r
+  X64/WriteMm4.asm | INTEL\r
+  X64/WriteMm3.nasm| INTEL\r
+  X64/WriteMm3.asm | INTEL\r
+  X64/WriteMm2.nasm| INTEL\r
+  X64/WriteMm2.asm | INTEL\r
+  X64/WriteMm1.nasm| INTEL\r
+  X64/WriteMm1.asm | INTEL\r
+  X64/WriteMm0.nasm| INTEL\r
+  X64/WriteMm0.asm | INTEL\r
+  X64/ReadMm7.nasm| INTEL\r
+  X64/ReadMm7.asm | INTEL\r
+  X64/ReadMm6.nasm| INTEL\r
+  X64/ReadMm6.asm | INTEL\r
+  X64/ReadMm5.nasm| INTEL\r
+  X64/ReadMm5.asm | INTEL\r
+  X64/ReadMm4.nasm| INTEL\r
+  X64/ReadMm4.asm | INTEL\r
+  X64/ReadMm3.nasm| INTEL\r
+  X64/ReadMm3.asm | INTEL\r
+  X64/ReadMm2.nasm| INTEL\r
+  X64/ReadMm2.asm | INTEL\r
+  X64/ReadMm1.nasm| INTEL\r
+  X64/ReadMm1.asm | INTEL\r
+  X64/ReadMm0.nasm| INTEL\r
+  X64/ReadMm0.asm | INTEL\r
+  X64/FxRestore.nasm| INTEL\r
+  X64/FxRestore.asm | INTEL\r
+  X64/FxSave.nasm| INTEL\r
+  X64/FxSave.asm | INTEL\r
+  X64/WriteLdtr.nasm| INTEL\r
+  X64/WriteLdtr.asm | INTEL\r
+  X64/ReadLdtr.nasm| INTEL\r
+  X64/ReadLdtr.asm | INTEL\r
+  X64/WriteIdtr.nasm| INTEL\r
+  X64/WriteIdtr.asm | INTEL\r
+  X64/ReadIdtr.nasm| INTEL\r
+  X64/ReadIdtr.asm | INTEL\r
+  X64/WriteGdtr.nasm| INTEL\r
+  X64/WriteGdtr.asm | INTEL\r
+  X64/ReadGdtr.nasm| INTEL\r
+  X64/ReadGdtr.asm | INTEL\r
+  X64/ReadTr.nasm| INTEL\r
+  X64/ReadTr.asm | INTEL\r
+  X64/ReadSs.nasm| INTEL\r
+  X64/ReadSs.asm | INTEL\r
+  X64/ReadGs.nasm| INTEL\r
+  X64/ReadGs.asm | INTEL\r
+  X64/ReadFs.nasm| INTEL\r
+  X64/ReadFs.asm | INTEL\r
+  X64/ReadEs.nasm| INTEL\r
+  X64/ReadEs.asm | INTEL\r
+  X64/ReadDs.nasm| INTEL\r
+  X64/ReadDs.asm | INTEL\r
+  X64/ReadCs.nasm| INTEL\r
+  X64/ReadCs.asm | INTEL\r
+  X64/WriteDr7.nasm| INTEL\r
+  X64/WriteDr7.asm | INTEL\r
+  X64/WriteDr6.nasm| INTEL\r
+  X64/WriteDr6.asm | INTEL\r
+  X64/WriteDr5.nasm| INTEL\r
+  X64/WriteDr5.asm | INTEL\r
+  X64/WriteDr4.nasm| INTEL\r
+  X64/WriteDr4.asm | INTEL\r
+  X64/WriteDr3.nasm| INTEL\r
+  X64/WriteDr3.asm | INTEL\r
+  X64/WriteDr2.nasm| INTEL\r
+  X64/WriteDr2.asm | INTEL\r
+  X64/WriteDr1.nasm| INTEL\r
+  X64/WriteDr1.asm | INTEL\r
+  X64/WriteDr0.nasm| INTEL\r
+  X64/WriteDr0.asm | INTEL\r
+  X64/ReadDr7.nasm| INTEL\r
+  X64/ReadDr7.asm | INTEL\r
+  X64/ReadDr6.nasm| INTEL\r
+  X64/ReadDr6.asm | INTEL\r
+  X64/ReadDr5.nasm| INTEL\r
+  X64/ReadDr5.asm | INTEL\r
+  X64/ReadDr4.nasm| INTEL\r
+  X64/ReadDr4.asm | INTEL\r
+  X64/ReadDr3.nasm| INTEL\r
+  X64/ReadDr3.asm | INTEL\r
+  X64/ReadDr2.nasm| INTEL\r
+  X64/ReadDr2.asm | INTEL\r
+  X64/ReadDr1.nasm| INTEL\r
+  X64/ReadDr1.asm | INTEL\r
+  X64/ReadDr0.nasm| INTEL\r
+  X64/ReadDr0.asm | INTEL\r
+  X64/WriteCr4.nasm| INTEL\r
+  X64/WriteCr4.asm | INTEL\r
+  X64/WriteCr3.nasm| INTEL\r
+  X64/WriteCr3.asm | INTEL\r
+  X64/WriteCr2.nasm| INTEL\r
+  X64/WriteCr2.asm | INTEL\r
+  X64/WriteCr0.nasm| INTEL\r
+  X64/WriteCr0.asm | INTEL\r
+  X64/ReadCr4.nasm| INTEL\r
+  X64/ReadCr4.asm | INTEL\r
+  X64/ReadCr3.nasm| INTEL\r
+  X64/ReadCr3.asm | INTEL\r
+  X64/ReadCr2.nasm| INTEL\r
+  X64/ReadCr2.asm | INTEL\r
+  X64/ReadCr0.nasm| INTEL\r
+  X64/ReadCr0.asm | INTEL\r
+  X64/ReadEflags.nasm| INTEL\r
+  X64/ReadEflags.asm | INTEL\r
 \r
   X64/Non-existing.c\r
   Math64.c\r
   X86ReadIdtr.c\r
   X86ReadGdtr.c\r
   X86Msr.c\r
-  X86MemoryFence.c\r
+  X86MemoryFence.c | MSFT\r
+  X86MemoryFence.c | INTEL\r
   X86GetInterruptState.c\r
   X86FxSave.c\r
   X86FxRestore.c\r
   X86EnablePaging32.c\r
   X86DisablePaging64.c\r
   X86DisablePaging32.c\r
-  X64/WriteMsr64.S | GCC \r
-  X64/WriteMm7.S | GCC \r
-  X64/WriteMm6.S | GCC \r
-  X64/WriteMm5.S | GCC \r
-  X64/WriteMm4.S | GCC \r
-  X64/WriteMm3.S | GCC \r
-  X64/WriteMm2.S | GCC \r
-  X64/WriteMm1.S | GCC \r
-  X64/WriteMm0.S | GCC \r
-  X64/WriteLdtr.S | GCC \r
-  X64/WriteIdtr.S | GCC \r
-  X64/WriteGdtr.S | GCC \r
-  X64/WriteDr7.S | GCC \r
-  X64/WriteDr6.S | GCC \r
-  X64/WriteDr5.S | GCC \r
-  X64/WriteDr4.S | GCC \r
-  X64/WriteDr3.S | GCC \r
-  X64/WriteDr2.S | GCC \r
-  X64/WriteDr1.S | GCC \r
-  X64/WriteDr0.S | GCC \r
-  X64/WriteCr4.S | GCC \r
-  X64/WriteCr3.S | GCC \r
-  X64/WriteCr2.S | GCC \r
-  X64/WriteCr0.S | GCC \r
-  X64/Wbinvd.S | GCC \r
-  X64/Thunk16.S | GCC \r
+  X86RdRand.c\r
+  X86PatchInstruction.c\r
+  X64/GccInline.c | GCC\r
+  X64/Thunk16.S | XCODE \r
+  X64/SwitchStack.nasm| GCC\r
   X64/SwitchStack.S | GCC \r
+  X64/SetJump.nasm| GCC\r
   X64/SetJump.S | GCC \r
-  X64/ReadTsc.S | GCC \r
-  X64/ReadTr.S | GCC \r
-  X64/ReadSs.S | GCC \r
-  X64/ReadPmc.S | GCC \r
-  X64/ReadMsr64.S | GCC \r
-  X64/ReadMm7.S | GCC \r
-  X64/ReadMm6.S | GCC \r
-  X64/ReadMm5.S | GCC \r
-  X64/ReadMm4.S | GCC \r
-  X64/ReadMm3.S | GCC \r
-  X64/ReadMm2.S | GCC \r
-  X64/ReadMm1.S | GCC \r
-  X64/ReadMm0.S | GCC \r
-  X64/ReadLdtr.S | GCC \r
-  X64/ReadIdtr.S | GCC \r
-  X64/ReadGs.S | GCC \r
-  X64/ReadGdtr.S | GCC \r
-  X64/ReadFs.S | GCC \r
-  X64/ReadEs.S | GCC \r
-  X64/ReadEflags.S | GCC \r
-  X64/ReadDs.S | GCC \r
-  X64/ReadDr7.S | GCC \r
-  X64/ReadDr6.S | GCC \r
-  X64/ReadDr5.S | GCC \r
-  X64/ReadDr4.S | GCC \r
-  X64/ReadDr3.S | GCC \r
-  X64/ReadDr2.S | GCC \r
-  X64/ReadDr1.S | GCC \r
-  X64/ReadDr0.S | GCC \r
-  X64/ReadCs.S | GCC \r
-  X64/ReadCr4.S | GCC \r
-  X64/ReadCr3.S | GCC \r
-  X64/ReadCr2.S | GCC \r
-  X64/ReadCr0.S | GCC \r
-  X64/Mwait.S | GCC \r
-  X64/Monitor.S | GCC \r
+  X64/LongJump.nasm| GCC\r
   X64/LongJump.S | GCC \r
-  X64/Invd.S | GCC \r
-  X64/FxSave.S | GCC \r
-  X64/FxRestore.S | GCC \r
-  X64/FlushCacheLine.S | GCC \r
-  X64/EnableInterrupts.S | GCC \r
+  X64/EnableDisableInterrupts.nasm| GCC\r
   X64/EnableDisableInterrupts.S | GCC \r
+  X64/DisablePaging64.nasm| GCC\r
   X64/DisablePaging64.S | GCC \r
-  X64/DisableInterrupts.S | GCC \r
-  X64/CpuPause.S | GCC \r
+  X64/CpuId.nasm| GCC\r
   X64/CpuId.S | GCC \r
+  X64/CpuIdEx.nasm| GCC\r
   X64/CpuIdEx.S | GCC \r
-  X64/CpuBreakpoint.S | GCC \r
+  X64/EnableCache.nasm| GCC\r
   X64/EnableCache.S | GCC\r
+  X64/DisableCache.nasm| GCC\r
   X64/DisableCache.S | GCC\r
+  X64/RdRand.nasm| GCC\r
+  X64/RdRand.S | GCC\r
   ChkStkGcc.c  | GCC \r
 \r
 [Sources.IPF]\r
 [Sources.ARM]\r
   Arm/InternalSwitchStack.c\r
   Arm/Unaligned.c\r
-  Math64.c \r
-    \r
+  Math64.c                   | RVCT\r
+  Math64.c                   | MSFT\r
+\r
   Arm/SwitchStack.asm        | RVCT\r
   Arm/SetJumpLongJump.asm    | RVCT\r
   Arm/DisableInterrupts.asm  | RVCT\r
   Arm/EnableInterrupts.asm   | RVCT\r
   Arm/GetInterruptsState.asm | RVCT\r
   Arm/CpuPause.asm           | RVCT\r
-  Arm/CpuBreakpoint.asm\r
\r
-  Arm/GccInline.c               | GCC\r
+  Arm/CpuBreakpoint.asm      | RVCT\r
+  Arm/MemoryFence.asm        | RVCT\r
+\r
+  Arm/SwitchStack.asm        | MSFT\r
+  Arm/SetJumpLongJump.asm    | MSFT\r
+  Arm/DisableInterrupts.asm  | MSFT\r
+  Arm/EnableInterrupts.asm   | MSFT\r
+  Arm/GetInterruptsState.asm | MSFT\r
+  Arm/CpuPause.asm           | MSFT\r
+  Arm/CpuBreakpoint.asm      | MSFT\r
+  Arm/MemoryFence.asm        | MSFT\r
+\r
+  Arm/Math64.S                  | GCC\r
+  Arm/SwitchStack.S             | GCC\r
   Arm/EnableInterrupts.S        | GCC\r
   Arm/DisableInterrupts.S       | GCC\r
   Arm/GetInterruptsState.S      | GCC\r
   Arm/SetJumpLongJump.S         | GCC\r
   Arm/CpuBreakpoint.S           | GCC\r
+  Arm/MemoryFence.S             | GCC\r
+\r
+[Sources.AARCH64]\r
+  Arm/InternalSwitchStack.c\r
+  Arm/Unaligned.c\r
+  Math64.c\r
+\r
+  AArch64/MemoryFence.S             | GCC\r
+  AArch64/SwitchStack.S             | GCC\r
+  AArch64/EnableInterrupts.S        | GCC\r
+  AArch64/DisableInterrupts.S       | GCC\r
+  AArch64/GetInterruptsState.S      | GCC\r
+  AArch64/SetJumpLongJump.S         | GCC\r
+  AArch64/CpuBreakpoint.S           | GCC\r
+\r
+  AArch64/MemoryFence.asm           | MSFT\r
+  AArch64/SwitchStack.asm           | MSFT\r
+  AArch64/EnableInterrupts.asm      | MSFT\r
+  AArch64/DisableInterrupts.asm     | MSFT\r
+  AArch64/GetInterruptsState.asm    | MSFT\r
+  AArch64/SetJumpLongJump.asm       | MSFT\r
+  AArch64/CpuBreakpoint.asm         | MSFT\r
 \r
 [Packages]\r
   MdePkg/MdePkg.dec\r
   BaseMemoryLib\r
 \r
 [Pcd]\r
-  gEfiMdePkgTokenSpaceGuid.PcdMaximumLinkedListLength\r
-  gEfiMdePkgTokenSpaceGuid.PcdMaximumAsciiStringLength\r
-  gEfiMdePkgTokenSpaceGuid.PcdMaximumUnicodeStringLength\r
-  gEfiMdePkgTokenSpaceGuid.PcdVerifyNodeInList\r
+  gEfiMdePkgTokenSpaceGuid.PcdMaximumLinkedListLength      ## SOMETIMES_CONSUMES\r
+  gEfiMdePkgTokenSpaceGuid.PcdMaximumAsciiStringLength     ## SOMETIMES_CONSUMES\r
+  gEfiMdePkgTokenSpaceGuid.PcdMaximumUnicodeStringLength   ## SOMETIMES_CONSUMES\r
+  gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask            ## SOMETIMES_CONSUMES\r
+\r
+[FeaturePcd]\r
+  gEfiMdePkgTokenSpaceGuid.PcdVerifyNodeInList  ## CONSUMES\r