/** @file\r
SMM CPU Service protocol definition.\r
\r
-Copyright (c) 2013 - 2015, Intel Corporation. All rights reserved.<BR>\r
+Copyright (c) 2013 - 2022, Intel Corporation. All rights reserved.<BR>\r
SPDX-License-Identifier: BSD-2-Clause-Patent\r
\r
**/\r
\r
extern EFI_GUID gEfiSmmCpuServiceProtocolGuid;\r
\r
+//\r
+// EDKII_SMM_CPU_RENDEZVOUS_PROTOCOL provide SMM CPU\r
+// rendezvous service support.\r
+//\r
+#define EDKII_SMM_CPU_RENDEZVOUS_PROTOCOL_GUID \\r
+ { \\r
+ 0xaa00d50b, 0x4911, 0x428f, { 0xb9, 0x1a, 0xa5, 0x9d, 0xdb, 0x13, 0xe2, 0x4c } \\r
+ }\r
+\r
+typedef struct _EDKII_SMM_CPU_RENDEZVOUS_PROTOCOL EDKII_SMM_CPU_RENDEZVOUS_PROTOCOL;\r
+\r
+/**\r
+ Wait for all APs to arrive SMM mode in given timeout constraint.\r
+\r
+ @param[in] This A pointer to the EDKII_SMM_CPU_RENDEZVOUS_PROTOCOL instance.\r
+ @param[in] BlockingMode Block or non-block mode.\r
+\r
+ @retval EFI_SUCCESS All APs have arrived SMM mode except SMI disabled APs.\r
+ @retval EFI_TIMEOUT There are APs not in SMM mode in given timeout constraint.\r
+\r
+**/\r
+typedef\r
+EFI_STATUS\r
+(EFIAPI *EDKII_WAIT_FOR_ALL_PROCESSOR)(\r
+ IN EDKII_SMM_CPU_RENDEZVOUS_PROTOCOL *This,\r
+ IN BOOLEAN BlockingMode\r
+ );\r
+\r
+struct _EDKII_SMM_CPU_RENDEZVOUS_PROTOCOL {\r
+ EDKII_WAIT_FOR_ALL_PROCESSOR WaitForAllProcessor;\r
+};\r
+\r
+extern EFI_GUID gEdkiiSmmCpuRendezvousProtocolGuid;\r
+\r
#endif\r