]> git.proxmox.com Git - mirror_edk2.git/blobdiff - UefiCpuPkg/CpuMpPei/CpuMpPei.h
UefiCpuPkg: Replace BSD License with BSD+Patent License
[mirror_edk2.git] / UefiCpuPkg / CpuMpPei / CpuMpPei.h
index 0836593efcff37da27349eb3daab1b7fd9425744..a5d8a755b2037922165e4712345978ad82b2c7ce 100644 (file)
@@ -1,14 +1,8 @@
 /** @file\r
   Definitions to install Multiple Processor PPI.\r
 \r
-  Copyright (c) 2015 - 2016, 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
-  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
+  Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>\r
+  SPDX-License-Identifier: BSD-2-Clause-Patent\r
 \r
 **/\r
 \r
@@ -271,7 +265,7 @@ PeiStartupThisAP (
   @retval EFI_UNSUPPORTED         Switching the BSP cannot be completed prior to this\r
                                   service returning.\r
   @retval EFI_UNSUPPORTED         Switching the BSP is not supported.\r
-  @retval EFI_SUCCESS             The calling processor is an AP.\r
+  @retval EFI_DEVICE_ERROR        The calling processor is an AP.\r
   @retval EFI_NOT_FOUND           The processor with the handle specified by\r
                                   ProcessorNumber does not exist.\r
   @retval EFI_INVALID_PARAMETER   ProcessorNumber specifies the current BSP or a disabled\r
@@ -402,4 +396,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