]> git.proxmox.com Git - mirror_edk2.git/commitdiff
ArmPkg/ArmLib: remove all ArmLib flavors except ArmBaseLib
authorArd Biesheuvel <ard.biesheuvel@linaro.org>
Mon, 5 Sep 2016 10:53:57 +0000 (11:53 +0100)
committerArd Biesheuvel <ard.biesheuvel@linaro.org>
Thu, 8 Sep 2016 09:02:45 +0000 (10:02 +0100)
This removes the following ArmLib implementation, which were, apart from
the fact that they targeted either ARM or AARCH64, fully identical:

  ArmPkg/Library/ArmLib/AArch64/AArch64Lib.inf
  ArmPkg/Library/ArmLib/AArch64/AArch64LibPei.inf
  ArmPkg/Library/ArmLib/AArch64/AArch64LibPrePi.inf
  ArmPkg/Library/ArmLib/AArch64/AArch64LibSec.inf
  ArmPkg/Library/ArmLib/ArmV7/ArmV7Lib.inf
  ArmPkg/Library/ArmLib/ArmV7/ArmV7LibPrePi.inf
  ArmPkg/Library/ArmLib/ArmV7/ArmV7LibSec.inf

Only ArmBaseLib remains, which can fulfil the dependencies upon each of
the listed flavors.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
ArmPkg/ArmPkg.dsc
ArmPkg/Library/ArmLib/AArch64/AArch64Lib.inf [deleted file]
ArmPkg/Library/ArmLib/AArch64/AArch64LibPei.inf [deleted file]
ArmPkg/Library/ArmLib/AArch64/AArch64LibPrePi.inf [deleted file]
ArmPkg/Library/ArmLib/AArch64/AArch64LibSec.inf [deleted file]
ArmPkg/Library/ArmLib/AArch64/AArch64PeiLibConstructor.c [deleted file]
ArmPkg/Library/ArmLib/ArmV7/ArmV7Lib.inf [deleted file]
ArmPkg/Library/ArmLib/ArmV7/ArmV7LibPrePi.inf [deleted file]
ArmPkg/Library/ArmLib/ArmV7/ArmV7LibSec.inf [deleted file]

index 012c5c835f4e6d4981301d8b298ecb790f9c423e..6a8ff7e621d76a8474ad16832a382a805f7cdc13 100644 (file)
   ArmLib|ArmPkg/Library/ArmLib/ArmBaseLib.inf\r
   ArmMmuLib|ArmPkg/Library/ArmMmuLib/ArmMmuBaseLib.inf\r
 \r
   ArmLib|ArmPkg/Library/ArmLib/ArmBaseLib.inf\r
   ArmMmuLib|ArmPkg/Library/ArmMmuLib/ArmMmuBaseLib.inf\r
 \r
-[LibraryClasses.ARM]\r
-  ArmLib|ArmPkg/Library/ArmLib/ArmV7/ArmV7Lib.inf\r
-\r
-[LibraryClasses.AARCH64]\r
-  ArmLib|ArmPkg/Library/ArmLib/AArch64/AArch64Lib.inf\r
-\r
 [LibraryClasses.common.PEIM]\r
   HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf\r
   PeimEntryPoint|MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf\r
 [LibraryClasses.common.PEIM]\r
   HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf\r
   PeimEntryPoint|MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf\r
   ArmPkg/Drivers/ArmCpuLib/ArmCortexA9Lib/ArmCortexA9Lib.inf\r
   ArmPkg/Drivers/ArmCpuLib/ArmCortexA15Lib/ArmCortexA15Lib.inf\r
 \r
   ArmPkg/Drivers/ArmCpuLib/ArmCortexA9Lib/ArmCortexA9Lib.inf\r
   ArmPkg/Drivers/ArmCpuLib/ArmCortexA15Lib/ArmCortexA15Lib.inf\r
 \r
-  ArmPkg/Library/ArmLib/ArmV7/ArmV7LibSec.inf\r
-  ArmPkg/Library/ArmLib/ArmV7/ArmV7LibPrePi.inf\r
-\r
 [Components.AARCH64]\r
   ArmPkg/Drivers/ArmCpuLib/ArmCortexAEMv8Lib/ArmCortexAEMv8Lib.inf\r
   ArmPkg/Drivers/ArmCpuLib/ArmCortexA5xLib/ArmCortexA5xLib.inf\r
 [Components.AARCH64]\r
   ArmPkg/Drivers/ArmCpuLib/ArmCortexAEMv8Lib/ArmCortexAEMv8Lib.inf\r
   ArmPkg/Drivers/ArmCpuLib/ArmCortexA5xLib/ArmCortexA5xLib.inf\r
-\r
-  ArmPkg/Library/ArmLib/AArch64/AArch64LibSec.inf\r
-  ArmPkg/Library/ArmLib/AArch64/AArch64LibPrePi.inf\r
diff --git a/ArmPkg/Library/ArmLib/AArch64/AArch64Lib.inf b/ArmPkg/Library/ArmLib/AArch64/AArch64Lib.inf
deleted file mode 100644 (file)
index f0de4aa..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-#/** @file\r
-#\r
-# Copyright (c) 2008 - 2010, Apple Inc. All rights reserved.<BR>\r
-# Portions copyright (c) 2011 - 2014, ARM Limited. All rights reserved.\r
-#\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
-#  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
-#\r
-#**/\r
-\r
-[Defines]\r
-  INF_VERSION                    = 0x00010005\r
-  BASE_NAME                      = AArch64Lib\r
-  FILE_GUID                      = ef20ddf5-b334-47b3-94cf-52ff44c29138\r
-  MODULE_TYPE                    = BASE\r
-  VERSION_STRING                 = 1.0\r
-  LIBRARY_CLASS                  = ArmLib\r
-\r
-[Sources.AARCH64]\r
-  AArch64Lib.c\r
-  AArch64ArchTimer.c\r
-  ArmLibSupportV8.S\r
-  AArch64Support.S\r
-  AArch64ArchTimerSupport.S\r
-\r
-  ../Common/AArch64/ArmLibSupport.S\r
-  ../Common/ArmLib.c\r
-\r
-[Packages]\r
-  ArmPkg/ArmPkg.dec\r
-  MdePkg/MdePkg.dec\r
-\r
-[LibraryClasses]\r
-  MemoryAllocationLib\r
-  CacheMaintenanceLib\r
-\r
-[Protocols]\r
-  gEfiCpuArchProtocolGuid\r
diff --git a/ArmPkg/Library/ArmLib/AArch64/AArch64LibPei.inf b/ArmPkg/Library/ArmLib/AArch64/AArch64LibPei.inf
deleted file mode 100644 (file)
index c8f0b97..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-#/** @file\r
-#\r
-# Copyright (c) 2008 - 2010, Apple Inc. All rights reserved.<BR>\r
-# Portions copyright (c) 2011 - 2014, ARM Limited. All rights reserved.\r
-#\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
-#  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
-#\r
-#**/\r
-\r
-[Defines]\r
-  INF_VERSION                    = 0x00010005\r
-  BASE_NAME                      = AArch64Lib\r
-  FILE_GUID                      = ef20ddf5-b334-47b3-94cf-52ff44c29138\r
-  MODULE_TYPE                    = PEIM\r
-  VERSION_STRING                 = 1.0\r
-  LIBRARY_CLASS                  = ArmLib|PEIM PEI_CORE\r
-  CONSTRUCTOR                    = AArch64LibConstructor\r
-\r
-[Sources.AARCH64]\r
-  AArch64Lib.c\r
-  AArch64Mmu.c\r
-  AArch64ArchTimer.c\r
-  ArmLibSupportV8.S\r
-  AArch64Support.S\r
-  AArch64ArchTimerSupport.S\r
-\r
-  ../Common/AArch64/ArmLibSupport.S\r
-  ../Common/ArmLib.c\r
-  AArch64PeiLibConstructor.c\r
-\r
-[Packages]\r
-  ArmPkg/ArmPkg.dec\r
-  MdePkg/MdePkg.dec\r
-\r
-[LibraryClasses]\r
-  MemoryAllocationLib\r
-  CacheMaintenanceLib\r
diff --git a/ArmPkg/Library/ArmLib/AArch64/AArch64LibPrePi.inf b/ArmPkg/Library/ArmLib/AArch64/AArch64LibPrePi.inf
deleted file mode 100644 (file)
index e41ef08..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-#/** @file\r
-#\r
-#  Copyright (c) 2008 - 2010, Apple Inc. All rights reserved.<BR>\r
-#  Portions copyright (c) 2011-2013, ARM Ltd. All rights reserved.<BR>\r
-#\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
-#  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
-#\r
-#**/\r
-\r
-[Defines]\r
-  INF_VERSION                    = 0x00010005\r
-  BASE_NAME                      = AArch64LibPrePi\r
-  FILE_GUID                      = fd72688d-dbd8-4cf2-91a3-15171dea7816\r
-  MODULE_TYPE                    = BASE\r
-  VERSION_STRING                 = 1.0\r
-  LIBRARY_CLASS                  = ArmLib\r
-\r
-[Sources.common]\r
-  ArmLibSupportV8.S\r
-  AArch64Support.S\r
-\r
-  ../Common/AArch64/ArmLibSupport.S\r
-  ../Common/ArmLib.c\r
-\r
-  AArch64Lib.c\r
-\r
-  AArch64ArchTimer.c\r
-  AArch64ArchTimerSupport.S\r
-\r
-[Packages]\r
-  ArmPkg/ArmPkg.dec\r
-  MdePkg/MdePkg.dec\r
-\r
-[LibraryClasses]\r
-  PrePiLib\r
-\r
-[Protocols]\r
-  gEfiCpuArchProtocolGuid\r
diff --git a/ArmPkg/Library/ArmLib/AArch64/AArch64LibSec.inf b/ArmPkg/Library/ArmLib/AArch64/AArch64LibSec.inf
deleted file mode 100644 (file)
index 302c09a..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-#/* @file\r
-#\r
-#  Copyright (c) 2011-2014, ARM Limited. All rights reserved.\r
-#\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
-#\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
-#*/\r
-\r
-[Defines]\r
-  INF_VERSION                    = 0x00010005\r
-  BASE_NAME                      = AArch64Lib\r
-  FILE_GUID                      = eb7441e4-3ddf-48b8-a009-14f428b19e49\r
-  MODULE_TYPE                    = BASE\r
-  VERSION_STRING                 = 1.0\r
-  LIBRARY_CLASS                  = ArmLib\r
-\r
-[Sources.common]\r
-  ArmLibSupportV8.S\r
-  AArch64Support.S\r
-\r
-  ../Common/AArch64/ArmLibSupport.S\r
-  ../Common/ArmLib.c\r
-\r
-  AArch64Lib.c\r
-\r
-  AArch64ArchTimer.c\r
-  AArch64ArchTimerSupport.S\r
-\r
-[Packages]\r
-  ArmPkg/ArmPkg.dec\r
-  MdePkg/MdePkg.dec\r
-\r
-[Protocols]\r
-  gEfiCpuArchProtocolGuid\r
diff --git a/ArmPkg/Library/ArmLib/AArch64/AArch64PeiLibConstructor.c b/ArmPkg/Library/ArmLib/AArch64/AArch64PeiLibConstructor.c
deleted file mode 100644 (file)
index 2de9c7c..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-#/* @file\r
-#\r
-#  Copyright (c) 2016, Linaro Limited. All rights reserved.\r
-#\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
-#\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
-#*/\r
-\r
-#include <Base.h>\r
-\r
-#include <Library/ArmLib.h>\r
-#include <Library/CacheMaintenanceLib.h>\r
-#include <Library/DebugLib.h>\r
-\r
-//\r
-// This is a hack. We define a weak symbol with external linkage, which may or\r
-// may not be overridden by a non-weak alternative that is defined with a non\r
-// zero value in the object that contains the MMU routines. Since static\r
-// libraries are pulled in on a per-object basis, and since the MMU object will\r
-// only be pulled in if any of its other symbols are referenced by the client\r
-// module, we can use the value below to figure out whether the MMU routines are\r
-// in use by this module, and decide whether cache maintenance of the function\r
-// ArmReplaceLiveTranslationEntry () is required.\r
-//\r
-INT32 __attribute__((weak)) HaveMmuRoutines;\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-AArch64LibConstructor (\r
-  IN       EFI_PEI_FILE_HANDLE       FileHandle,\r
-  IN CONST EFI_PEI_SERVICES          **PeiServices\r
-  )\r
-{\r
-  extern UINT32             ArmReplaceLiveTranslationEntrySize;\r
-\r
-  EFI_FV_FILE_INFO          FileInfo;\r
-  EFI_STATUS                Status;\r
-\r
-  if (HaveMmuRoutines == 0) {\r
-    return RETURN_SUCCESS;\r
-  }\r
-\r
-  ASSERT (FileHandle != NULL);\r
-\r
-  Status = (*PeiServices)->FfsGetFileInfo (FileHandle, &FileInfo);\r
-  ASSERT_EFI_ERROR (Status);\r
-\r
-  //\r
-  // Some platforms do not cope very well with cache maintenance being\r
-  // performed on regions backed by NOR flash. Since the cache maintenance\r
-  // is unnecessary to begin with in that case, perform it only when not\r
-  // executing in place.\r
-  //\r
-  if ((UINTN)FileInfo.Buffer <= (UINTN)ArmReplaceLiveTranslationEntry &&\r
-      ((UINTN)FileInfo.Buffer + FileInfo.BufferSize >=\r
-       (UINTN)ArmReplaceLiveTranslationEntry + ArmReplaceLiveTranslationEntrySize)) {\r
-    DEBUG ((EFI_D_INFO, "ArmLib: skipping cache maintence on XIP PEIM\n"));\r
-  } else {\r
-    DEBUG ((EFI_D_INFO, "ArmLib: performing cache maintence on shadowed PEIM\n"));\r
-    //\r
-    // The ArmReplaceLiveTranslationEntry () helper function may be invoked\r
-    // with the MMU off so we have to ensure that it gets cleaned to the PoC\r
-    //\r
-    WriteBackDataCacheRange (ArmReplaceLiveTranslationEntry,\r
-      ArmReplaceLiveTranslationEntrySize);\r
-  }\r
-\r
-  return RETURN_SUCCESS;\r
-}\r
diff --git a/ArmPkg/Library/ArmLib/ArmV7/ArmV7Lib.inf b/ArmPkg/Library/ArmLib/ArmV7/ArmV7Lib.inf
deleted file mode 100644 (file)
index 024784d..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-#/** @file\r
-#\r
-# Copyright (c) 2008 - 2010, Apple Inc. All rights reserved.<BR>\r
-# Copyright (c) 2011, ARM Limited. All rights reserved.\r
-#\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
-#  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
-#\r
-#**/\r
-\r
-[Defines]\r
-  INF_VERSION                    = 0x00010005\r
-  BASE_NAME                      = ArmV7Lib\r
-  FILE_GUID                      = 411cdfd8-f964-4b9d-a3e3-1719a9c15559\r
-  MODULE_TYPE                    = DXE_DRIVER\r
-  VERSION_STRING                 = 1.0\r
-  LIBRARY_CLASS                  = ArmLib\r
-\r
-[Sources.common]\r
-  ArmLibSupportV7.S    | GCC\r
-  ArmLibSupportV7.asm  | RVCT\r
-\r
-  ../Common/Arm/ArmLibSupport.S    | GCC\r
-  ../Common/Arm/ArmLibSupport.asm  | RVCT\r
-  ../Common/ArmLib.c\r
-\r
-  ArmV7Support.S    | GCC\r
-  ArmV7Support.asm  | RVCT\r
-\r
-  ArmV7Lib.c\r
-\r
-  ArmV7ArchTimer.c\r
-  ArmV7ArchTimerSupport.S    | GCC\r
-  ArmV7ArchTimerSupport.asm    | RVCT\r
-\r
-[Packages]\r
-  ArmPkg/ArmPkg.dec\r
-  MdePkg/MdePkg.dec\r
-\r
-[LibraryClasses]\r
-  MemoryAllocationLib\r
-\r
-[Protocols]\r
-  gEfiCpuArchProtocolGuid\r
-\r
-[FeaturePcd.ARM]\r
-  gArmTokenSpaceGuid.PcdNormalMemoryNonshareableOverride\r
diff --git a/ArmPkg/Library/ArmLib/ArmV7/ArmV7LibPrePi.inf b/ArmPkg/Library/ArmLib/ArmV7/ArmV7LibPrePi.inf
deleted file mode 100644 (file)
index 5710f50..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-#/** @file\r
-# Semihosting  serail port lib\r
-#\r
-# Copyright (c) 2008 - 2010, Apple Inc. All rights reserved.<BR>\r
-#\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
-#  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
-#\r
-#**/\r
-\r
-[Defines]\r
-  INF_VERSION                    = 0x00010005\r
-  BASE_NAME                      = ArmV7LibPrePi\r
-  FILE_GUID                      = A150FA0C-F4E8-4207-9BEB-CD6DFB430D73\r
-  MODULE_TYPE                    = BASE\r
-  VERSION_STRING                 = 1.0\r
-  LIBRARY_CLASS                  = ArmLib\r
-\r
-[Sources.common]\r
-  ArmLibSupportV7.S    | GCC\r
-  ArmLibSupportV7.asm  | RVCT\r
-\r
-  ../Common/Arm/ArmLibSupport.S    | GCC\r
-  ../Common/Arm/ArmLibSupport.asm  | RVCT\r
-  ../Common/ArmLib.c\r
-\r
-  ArmV7Support.S    | GCC\r
-  ArmV7Support.asm  | RVCT\r
-\r
-  ArmV7Lib.c\r
-\r
-  ArmV7ArchTimer.c\r
-  ArmV7ArchTimerSupport.S    | GCC\r
-  ArmV7ArchTimerSupport.asm  | RVCT\r
-\r
-[Packages]\r
-  ArmPkg/ArmPkg.dec\r
-  MdePkg/MdePkg.dec\r
-\r
-[LibraryClasses]\r
-  PrePiLib\r
-\r
-[Protocols]\r
-  gEfiCpuArchProtocolGuid\r
-\r
-[FeaturePcd.ARM]\r
-  gArmTokenSpaceGuid.PcdNormalMemoryNonshareableOverride\r
diff --git a/ArmPkg/Library/ArmLib/ArmV7/ArmV7LibSec.inf b/ArmPkg/Library/ArmLib/ArmV7/ArmV7LibSec.inf
deleted file mode 100644 (file)
index 5ed325d..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-#/* @file\r
-#  Copyright (c) 2011-2015, ARM Limited. All rights reserved.\r
-#\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
-#\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
-#*/\r
-\r
-[Defines]\r
-  INF_VERSION                    = 0x00010005\r
-  BASE_NAME                      = ArmV7LibSec\r
-  FILE_GUID                      = addd46ad-156a-4309-b134-46a1b14a61bf\r
-  MODULE_TYPE                    = BASE\r
-  VERSION_STRING                 = 1.0\r
-  LIBRARY_CLASS                  = ArmLib\r
-\r
-[Sources.common]\r
-  ArmLibSupportV7.S    | GCC\r
-  ArmLibSupportV7.asm  | RVCT\r
-\r
-  ../Common/Arm/ArmLibSupport.S    | GCC\r
-  ../Common/Arm/ArmLibSupport.asm  | RVCT\r
-  ../Common/ArmLib.c\r
-\r
-  ArmV7Support.S    | GCC\r
-  ArmV7Support.asm  | RVCT\r
-\r
-  ArmV7Lib.c\r
-\r
-  ArmV7ArchTimer.c\r
-  ArmV7ArchTimerSupport.S    | GCC\r
-  ArmV7ArchTimerSupport.asm    | RVCT\r
-\r
-[Packages]\r
-  ArmPkg/ArmPkg.dec\r
-  MdePkg/MdePkg.dec\r
-\r
-[Protocols]\r
-  gEfiCpuArchProtocolGuid\r