]> git.proxmox.com Git - mirror_edk2.git/blobdiff - ArmPkg/Drivers/CpuDxe/CpuDxe.h
ArmPkg: Added Aarch64 support
[mirror_edk2.git] / ArmPkg / Drivers / CpuDxe / CpuDxe.h
index 8a71075c65bdf28f9ed684f1a5ab3bbd9898e8b7..075f2a18bf11471fc1e4e0dc1c5370d50230e382 100644 (file)
@@ -1,8 +1,9 @@
 /** @file\r
 \r
-  Copyright (c) 2008-2009 Apple Inc. All rights reserved.<BR>\r
+  Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>\r
+  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
@@ -27,6 +28,8 @@
 #include <Library/PeCoffGetEntryPointLib.h>\r
 #include <Library/UefiLib.h>\r
 #include <Library/CpuLib.h>\r
+#include <Library/DefaultExceptionHandlerLib.h>\r
+#include <Library/DebugLib.h>\r
 \r
 #include <Guid/DebugImageInfoTable.h>\r
 #include <Protocol/Cpu.h>\r
@@ -109,8 +112,8 @@ CpuSetMemoryAttributes (
 \r
 EFI_STATUS\r
 InitializeExceptions (\r
-       IN EFI_CPU_ARCH_PROTOCOL    *Cpu\r
-       );\r
+  IN EFI_CPU_ARCH_PROTOCOL    *Cpu\r
+  );\r
 \r
 EFI_STATUS\r
 SyncCacheConfig (\r
@@ -122,6 +125,44 @@ ConvertSectionToPages (
   IN EFI_PHYSICAL_ADDRESS  BaseAddress\r
   );\r
 \r
+/**\r
+ * Publish ARM Processor Data table in UEFI SYSTEM Table.\r
+ * @param  HobStart               Pointer to the beginning of the HOB List from PEI.\r
+ *\r
+ * Description : This function iterates through HOB list and finds ARM processor Table Entry HOB.\r
+ *               If  the ARM processor Table Entry HOB is found, the HOB data is copied to run-time memory\r
+ *               and a pointer is assigned to it in ARM processor table. Then the ARM processor table is\r
+ *               installed in EFI configuration table.\r
+**/\r
+VOID\r
+EFIAPI\r
+PublishArmProcessorTable(\r
+  VOID\r
+  );\r
+\r
+EFI_STATUS\r
+SetMemoryAttributes (\r
+  IN EFI_PHYSICAL_ADDRESS      BaseAddress,\r
+  IN UINT64                    Length,\r
+  IN UINT64                    Attributes,\r
+  IN EFI_PHYSICAL_ADDRESS      VirtualMask\r
+  );\r
+\r
+VOID\r
+GetRootTranslationTableInfo (\r
+  IN  UINTN    T0SZ,\r
+  OUT UINTN   *TableLevel,\r
+  OUT UINTN   *TableEntryCount\r
+  );\r
+\r
+EFI_STATUS\r
+SetGcdMemorySpaceAttributes (\r
+  IN EFI_GCD_MEMORY_SPACE_DESCRIPTOR    *MemorySpaceMap,\r
+  IN UINTN                               NumberOfDescriptors,\r
+  IN EFI_PHYSICAL_ADDRESS                BaseAddress,\r
+  IN UINT64                              Length,\r
+  IN UINT64                              Attributes\r
+  );\r
 \r
 extern VIRTUAL_UNCACHED_PAGES_PROTOCOL  gVirtualUncachedPages;\r
 \r