--- /dev/null
+/** @file\r
+ SMM CPU Rendezvous library header file.\r
+\r
+ Copyright (c) 2022, Intel Corporation. All rights reserved.<BR>\r
+ SPDX-License-Identifier: BSD-2-Clause-Patent\r
+\r
+**/\r
+\r
+#ifndef SMM_CPU_RENDEZVOUS_H_\r
+#define SMM_CPU_RENDEZVOUS_H_\r
+\r
+/**\r
+ This routine wait for all AP processors to arrive in SMM.\r
+\r
+ @param[in] BlockingMode Blocking mode or non-blocking mode.\r
+\r
+ @retval EFI_SUCCESS All processors checked in to SMM.\r
+ @retval EFI_TIMEOUT Wait for all APs until timeout.\r
+\r
+**/\r
+EFI_STATUS\r
+EFIAPI\r
+SmmWaitForAllProcessor (\r
+ IN BOOLEAN BlockingMode\r
+ );\r
+\r
+#endif\r
--- /dev/null
+/** @file\r
+ SMM CPU Rendezvous sevice implement.\r
+\r
+ Copyright (c) 2022, Intel Corporation. All rights reserved.<BR>\r
+ SPDX-License-Identifier: BSD-2-Clause-Patent\r
+\r
+**/\r
+\r
+#include <Library/DebugLib.h>\r
+#include <Library/SmmCpuRendezvousLib.h>\r
+\r
+/**\r
+ This routine wait for all AP processors to arrive in SMM.\r
+\r
+ @param[in] BlockingMode Blocking mode or non-blocking mode.\r
+\r
+ @retval EFI_SUCCESS All avaiable APs arrived.\r
+ @retval EFI_TIMEOUT Wait for all APs until timeout.\r
+ @retval OTHER Fail to register SMM CPU Rendezvous service Protocol.\r
+**/\r
+EFI_STATUS\r
+EFIAPI\r
+SmmWaitForAllProcessor (\r
+ IN BOOLEAN BlockingMode\r
+ )\r
+{\r
+ ASSERT (FALSE);\r
+ return EFI_SUCCESS;\r
+}\r
--- /dev/null
+## @file\r
+# SMM CPU Rendezvous service lib.\r
+#\r
+# This is SMM CPU rendezvous service lib that wait for all\r
+# APs to enter SMM mode.\r
+#\r
+# Copyright (c) 2022, Intel Corporation. All rights reserved.<BR>\r
+# SPDX-License-Identifier: BSD-2-Clause-Patent\r
+#\r
+##\r
+\r
+[Defines]\r
+ INF_VERSION = 0x00010005\r
+ BASE_NAME = SmmCpuRendezvousLibNull\r
+ FILE_GUID = 1e5790ea-d013-4d7b-9047-b4342a762027\r
+ MODULE_TYPE = DXE_SMM_DRIVER\r
+ LIBRARY_CLASS = SmmCpuRendezvousLib|MM_STANDALONE DXE_SMM_DRIVER\r
+\r
+[Sources]\r
+ SmmCpuRendezvousLibNull.c\r
+\r
+[Packages]\r
+ MdePkg/MdePkg.dec\r
+\r
+[LibraryClasses]\r
+ DebugLib\r
# by using "!include MdePkg/MdeLibs.dsc.inc" to specify the library instances\r
# of some EDKII basic/common library classes.\r
#\r
-# Copyright (c) 2021, Intel Corporation. All rights reserved.<BR>\r
+# Copyright (c) 2021 - 2022, Intel Corporation. All rights reserved.<BR>\r
#\r
# SPDX-License-Identifier: BSD-2-Clause-Patent\r
#\r
[LibraryClasses]\r
RegisterFilterLib|MdePkg/Library/RegisterFilterLibNull/RegisterFilterLibNull.inf\r
CpuLib|MdePkg/Library/BaseCpuLib/BaseCpuLib.inf\r
+ SmmCpuRendezvousLib|MdePkg/Library/SmmCpuRendezvousLibNull/SmmCpuRendezvousLibNull.inf\r
# It also provides the definitions(including PPIs/PROTOCOLs/GUIDs) of\r
# EFI1.10/UEFI2.7/PI1.7 and some Industry Standards.\r
#\r
-# Copyright (c) 2007 - 2021, Intel Corporation. All rights reserved.<BR>\r
+# Copyright (c) 2007 - 2022, Intel Corporation. All rights reserved.<BR>\r
# Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>\r
# (C) Copyright 2016 - 2021 Hewlett Packard Enterprise Development LP<BR>\r
#\r
#\r
CcProbeLib|Include/Library/CcProbeLib.h\r
\r
+ ## @libraryclass Provides function for SMM CPU Rendezvous Library.\r
+ SmmCpuRendezvousLib|Include/Library/SmmCpuRendezvousLib.h\r
+\r
[LibraryClasses.IA32, LibraryClasses.X64, LibraryClasses.AARCH64]\r
## @libraryclass Provides services to generate random number.\r
#\r
## @file\r
# EFI/PI MdePkg Package\r
#\r
-# Copyright (c) 2007 - 2021, Intel Corporation. All rights reserved.<BR>\r
+# Copyright (c) 2007 - 2022, Intel Corporation. All rights reserved.<BR>\r
# Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>\r
# (C) Copyright 2020 Hewlett Packard Enterprise Development LP<BR>\r
#\r
\r
MdePkg/Library/RegisterFilterLibNull/RegisterFilterLibNull.inf\r
MdePkg/Library/CcProbeLibNull/CcProbeLibNull.inf\r
+ MdePkg/Library/SmmCpuRendezvousLibNull/SmmCpuRendezvousLibNull.inf\r
\r
[Components.IA32, Components.X64, Components.ARM, Components.AARCH64]\r
#\r
+++ /dev/null
-/** @file\r
- SMM CPU Rendezvous library header file.\r
-\r
- Copyright (c) 2022, Intel Corporation. All rights reserved.<BR>\r
- SPDX-License-Identifier: BSD-2-Clause-Patent\r
-\r
-**/\r
-\r
-#ifndef SMM_CPU_RENDEZVOUS_H_\r
-#define SMM_CPU_RENDEZVOUS_H_\r
-\r
-/**\r
- This routine wait for all AP processors to arrive in SMM.\r
-\r
- @param[in] BlockingMode Blocking mode or non-blocking mode.\r
-\r
- @retval EFI_SUCCESS All processors checked in to SMM.\r
- @retval EFI_TIMEOUT Wait for all APs until timeout.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-SmmWaitForAllProcessor (\r
- IN BOOLEAN BlockingMode\r
- );\r
-\r
-#endif\r
## @libraryclass Provides function for loading microcode.\r
MicrocodeLib|Include/Library/MicrocodeLib.h\r
\r
- ## @libraryclass Provides function for SMM CPU Rendezvous Library.\r
- SmmCpuRendezvousLib|Include/Library/SmmCpuRendezvousLib.h\r
-\r
[Guids]\r
gUefiCpuPkgTokenSpaceGuid = { 0xac05bf33, 0x995a, 0x4ed4, { 0xaa, 0xb8, 0xef, 0x7a, 0xe8, 0xf, 0x5c, 0xb0 }}\r
gMsegSmramGuid = { 0x5802bce4, 0xeeee, 0x4e33, { 0xa1, 0x30, 0xeb, 0xad, 0x27, 0xf0, 0xe4, 0x39 }}\r