]> git.proxmox.com Git - mirror_edk2.git/blobdiff - UefiCpuPkg/CpuMpPei/CpuMpPei.h
UefiCpuPkg/CpuMpPei: support stack guard feature
[mirror_edk2.git] / UefiCpuPkg / CpuMpPei / CpuMpPei.h
index aae56658ece1d71a8593889ae8fa0a7c26707376..d097a66aa8f70c1536bf8335f41f275f5b78376e 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   Definitions to install Multiple Processor PPI.\r
 \r
-  Copyright (c) 2015 - 2016, Intel Corporation. All rights reserved.<BR>\r
+  Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>\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
@@ -402,4 +402,41 @@ SecPlatformInformation2 (
      OUT EFI_SEC_PLATFORM_INFORMATION_RECORD2 *PlatformInformationRecord2\r
   );\r
 \r
+/**\r
+  Initializes MP and exceptions handlers.\r
+\r
+  @param  PeiServices                The pointer to the PEI Services Table.\r
+\r
+  @retval EFI_SUCCESS     MP was successfully initialized.\r
+  @retval others          Error occurred in MP initialization.\r
+\r
+**/\r
+EFI_STATUS\r
+InitializeCpuMpWorker (\r
+  IN CONST EFI_PEI_SERVICES     **PeiServices\r
+  );\r
+\r
+/**\r
+  Enabl/setup stack guard for each processor if PcdCpuStackGuard is set to TRUE.\r
+\r
+  Doing this in the memory-discovered callback is to make sure the Stack Guard\r
+  feature to cover as most PEI code as possible.\r
+\r
+  @param[in] PeiServices          General purpose services available to every PEIM.\r
+  @param[in] NotifyDescriptor     The notification structure this PEIM registered on install.\r
+  @param[in] Ppi                  The memory discovered PPI.  Not used.\r
+\r
+  @retval EFI_SUCCESS             The function completed successfully.\r
+  @retval others                  There's error in MP initialization.\r
+**/\r
+EFI_STATUS\r
+EFIAPI\r
+MemoryDiscoveredPpiNotifyCallback (\r
+  IN EFI_PEI_SERVICES           **PeiServices,\r
+  IN EFI_PEI_NOTIFY_DESCRIPTOR  *NotifyDescriptor,\r
+  IN VOID                       *Ppi\r
+  );\r
+\r
+extern EFI_PEI_NOTIFY_DESCRIPTOR  mPostMemNotifyList[];\r
+\r
 #endif\r