]> git.proxmox.com Git - mirror_edk2.git/blobdiff - ArmPkg/Drivers/CpuDxe/CpuDxe.h
ArmPkg: Create MpCoreInfo PPI and HOB to describe CPU Cores on a MPCore platform
[mirror_edk2.git] / ArmPkg / Drivers / CpuDxe / CpuDxe.h
index 36133e11c31475d69f546a346fd5b0c06c1c6b6c..6349d8087f103eb7b5c20534d8eaaa96b6c5faa1 100644 (file)
@@ -1,8 +1,8 @@
 /** @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
 \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
 \r
 #include <Library/ArmLib.h>\r
 #include <Library/BaseMemoryLib.h>\r
-#include <Library/CacheMaintenanceLib.h>\r
 #include <Library/DebugLib.h>\r
 #include <Library/PcdLib.h>\r
 #include <Library/UefiBootServicesTableLib.h>\r
+#include <Library/DxeServicesTableLib.h>\r
+#include <Library/CacheMaintenanceLib.h>\r
+#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
 #include <Protocol/DebugSupport.h>\r
 #include <Protocol/DebugSupportPeriodicCallback.h>\r
+#include <Protocol/VirtualUncachedPages.h>\r
+#include <Protocol/LoadedImage.h>\r
+\r
+\r
+#define EFI_MEMORY_CACHETYPE_MASK     (EFI_MEMORY_UC  | \\r
+                                       EFI_MEMORY_WC  | \\r
+                                       EFI_MEMORY_WT  | \\r
+                                       EFI_MEMORY_WB  | \\r
+                                       EFI_MEMORY_UCE   \\r
+                                       )\r
 \r
 \r
 /**\r
@@ -83,9 +100,45 @@ RegisterDebuggerInterruptHandler (
   );\r
 \r
 \r
+EFI_STATUS\r
+EFIAPI\r
+CpuSetMemoryAttributes (\r
+  IN EFI_CPU_ARCH_PROTOCOL     *This,\r
+  IN EFI_PHYSICAL_ADDRESS      BaseAddress,\r
+  IN UINT64                    Length,\r
+  IN UINT64                    Attributes\r
+  );\r
+\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
+  IN  EFI_CPU_ARCH_PROTOCOL *CpuProtocol\r
+  );\r
+\r
+EFI_STATUS \r
+ConvertSectionToPages (\r
+  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
+extern VIRTUAL_UNCACHED_PAGES_PROTOCOL  gVirtualUncachedPages;\r
 \r
 #endif // __CPU_DXE_ARM_EXCEPTION_H__\r