* [edk2-devel] [PATCH 0/5] General Updates based on UEFI 2.10 and PI 1.8 Specifications
@ 2024-04-01 22:40 Sachin Ganesh via groups.io
2024-04-01 22:40 ` [edk2-devel] [PATCH 1/5] MdePkg: Add definition for NVMe Over Fabric Device Path Sachin Ganesh via groups.io
` (4 more replies)
0 siblings, 5 replies; 7+ messages in thread
From: Sachin Ganesh via groups.io @ 2024-04-01 22:40 UTC (permalink / raw)
To: devel@edk2.groups.io
*** BLURB HERE ***
Sachin Ganesh (5):
MdePkg: Add definition for NVMe Over Fabric Device Path
MdePkg: Add new Resource Attributes defined in PI 1.8 Spec
MdePkg: Use newly defined Unaccepted Memory Type
MdePkg: Update Delayed Dispatch PPI as per PI 1.8 Spec
MdePkg: Update to PI 1.8 Revision
MdeModulePkg/Core/Dxe/Gcd/Gcd.c | 10 +++----
MdeModulePkg/Core/Dxe/Mem/Page.c | 38 +++++++++++++--------------
MdeModulePkg/Include/Pi/PrePiDxeCis.h | 25 ------------------
MdeModulePkg/Include/Pi/PrePiHob.h | 20 --------------
MdePkg/Include/Pi/PiDxeCis.h | 19 ++++++--------
MdePkg/Include/Pi/PiHob.h | 14 +++-------
MdePkg/Include/Pi/PiMmCis.h | 6 ++---
MdePkg/Include/Pi/PiMultiPhase.h | 6 +++++
MdePkg/Include/Pi/PiPeiCis.h | 6 ++---
MdePkg/Include/Pi/PiSmmCis.h | 2 +-
MdePkg/Include/Ppi/DelayedDispatch.h | 24 ++++++++++++++++-
MdePkg/Include/Protocol/DevicePath.h | 22 ++++++++++++++++
12 files changed, 94 insertions(+), 98 deletions(-)
delete mode 100644 MdeModulePkg/Include/Pi/PrePiDxeCis.h
delete mode 100644 MdeModulePkg/Include/Pi/PrePiHob.h
--
2.24.1.windows.2
-The information contained in this message may be confidential and proprietary to American Megatrends (AMI). This communication is intended to be read only by the individual or entity to whom it is addressed or by their designee. If the reader of this message is not the intended recipient, you are on notice that any distribution of this message, in any form, is strictly prohibited. Please promptly notify the sender by reply e-mail or by telephone at 770-246-8600, and then delete or destroy all copies of the transmission.
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#117319): https://edk2.groups.io/g/devel/message/117319
Mute This Topic: https://groups.io/mt/105282239/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-
^ permalink raw reply [flat|nested] 7+ messages in thread
* [edk2-devel] [PATCH 1/5] MdePkg: Add definition for NVMe Over Fabric Device Path
2024-04-01 22:40 [edk2-devel] [PATCH 0/5] General Updates based on UEFI 2.10 and PI 1.8 Specifications Sachin Ganesh via groups.io
@ 2024-04-01 22:40 ` Sachin Ganesh via groups.io
2024-04-01 22:40 ` [edk2-devel] [PATCH 2/5] MdePkg: Add new Resource Attributes defined in PI 1.8 Spec Sachin Ganesh via groups.io
` (3 subsequent siblings)
4 siblings, 0 replies; 7+ messages in thread
From: Sachin Ganesh via groups.io @ 2024-04-01 22:40 UTC (permalink / raw)
To: devel@edk2.groups.io; +Cc: Liming Gao, Felix Polyudov, Dhanaraj V
In accordance with UEFI 2.10 Specification:
Adding definition for NVMe Over Fabric (NVMe-oF) Device Path
of Messaging Sub-Type.
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Felix Polyudov <felixp@ami.com>
Cc: Dhanaraj V <vdhanaraj@ami.com>
Signed-off-by: Sachin Ganesh <sachinganesh@ami.com>
---
MdePkg/Include/Protocol/DevicePath.h | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
diff --git a/MdePkg/Include/Protocol/DevicePath.h b/MdePkg/Include/Protocol/DevicePath.h
index 9060dd782e..ec1ed1a923 100644
--- a/MdePkg/Include/Protocol/DevicePath.h
+++ b/MdePkg/Include/Protocol/DevicePath.h
@@ -837,6 +837,26 @@ typedef struct {
UINT64 NamespaceUuid;
} NVME_NAMESPACE_DEVICE_PATH;
+///
+/// NVMe over Fabric (NVMe-oF) Namespace Device Path SubType.
+///
+#define MSG_NVME_OF_NAMESPACE_DP 0x20
+typedef struct {
+ EFI_DEVICE_PATH_PROTOCOL Header;
+ ///
+ /// Namespace Identifier Type (NIDT)
+ ///
+ UINT8 NamespaceIdType;
+ ///
+ /// Namespace Identifier (NID)
+ ///
+ UINT8 NamespaceId[16];
+ ///
+ /// Unique identifier of an NVM subsystem
+ ///
+ CHAR8 *SubsystemNQN;
+} NVME_OF_NAMESPACE_DEVICE_PATH;
+
///
/// DNS Device Path SubType
///
@@ -1287,6 +1307,7 @@ typedef union {
SAS_DEVICE_PATH Sas;
SASEX_DEVICE_PATH SasEx;
NVME_NAMESPACE_DEVICE_PATH NvmeNamespace;
+ NVME_OF_NAMESPACE_DEVICE_PATH NvmeOfNamespace;
DNS_DEVICE_PATH Dns;
URI_DEVICE_PATH Uri;
BLUETOOTH_DEVICE_PATH Bluetooth;
@@ -1343,6 +1364,7 @@ typedef union {
SAS_DEVICE_PATH *Sas;
SASEX_DEVICE_PATH *SasEx;
NVME_NAMESPACE_DEVICE_PATH *NvmeNamespace;
+ NVME_OF_NAMESPACE_DEVICE_PATH *NvmeOfNamespace;
DNS_DEVICE_PATH *Dns;
URI_DEVICE_PATH *Uri;
BLUETOOTH_DEVICE_PATH *Bluetooth;
--
2.24.1.windows.2
-The information contained in this message may be confidential and proprietary to American Megatrends (AMI). This communication is intended to be read only by the individual or entity to whom it is addressed or by their designee. If the reader of this message is not the intended recipient, you are on notice that any distribution of this message, in any form, is strictly prohibited. Please promptly notify the sender by reply e-mail or by telephone at 770-246-8600, and then delete or destroy all copies of the transmission.
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#117318): https://edk2.groups.io/g/devel/message/117318
Mute This Topic: https://groups.io/mt/105282238/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [edk2-devel] [PATCH 3/5] MdePkg: Use newly defined Unaccepted Memory Type
2024-04-01 22:40 [edk2-devel] [PATCH 0/5] General Updates based on UEFI 2.10 and PI 1.8 Specifications Sachin Ganesh via groups.io
2024-04-01 22:40 ` [edk2-devel] [PATCH 1/5] MdePkg: Add definition for NVMe Over Fabric Device Path Sachin Ganesh via groups.io
2024-04-01 22:40 ` [edk2-devel] [PATCH 2/5] MdePkg: Add new Resource Attributes defined in PI 1.8 Spec Sachin Ganesh via groups.io
@ 2024-04-01 22:40 ` Sachin Ganesh via groups.io
2024-04-01 22:40 ` [edk2-devel] [PATCH 4/5] MdePkg: Update Delayed Dispatch PPI as per PI 1.8 Spec Sachin Ganesh via groups.io
2024-04-01 22:40 ` [edk2-devel] [PATCH 5/5] MdePkg: Update to PI 1.8 Revision Sachin Ganesh via groups.io
4 siblings, 0 replies; 7+ messages in thread
From: Sachin Ganesh via groups.io @ 2024-04-01 22:40 UTC (permalink / raw)
To: devel@edk2.groups.io; +Cc: Liming Gao, Felix Polyudov, Dhanaraj V
EFI_RESOURCE_MEMORY_UNACCEPTED has been officially defined in the PI
1.8 specification. So all temporary solutions have been replaced with
the actual definition.
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Felix Polyudov <felixp@ami.com>
Cc: Dhanaraj V <vdhanaraj@ami.com>
Signed-off-by: Sachin Ganesh <sachinganesh@ami.com>
---
MdeModulePkg/Core/Dxe/Gcd/Gcd.c | 10 +++----
MdeModulePkg/Core/Dxe/Mem/Page.c | 38 +++++++++++++--------------
MdeModulePkg/Include/Pi/PrePiDxeCis.h | 25 ------------------
MdeModulePkg/Include/Pi/PrePiHob.h | 20 --------------
MdePkg/Include/Pi/PiDxeCis.h | 13 ++++-----
MdePkg/Include/Pi/PiHob.h | 12 ++-------
6 files changed, 31 insertions(+), 87 deletions(-)
delete mode 100644 MdeModulePkg/Include/Pi/PrePiDxeCis.h
delete mode 100644 MdeModulePkg/Include/Pi/PrePiHob.h
diff --git a/MdeModulePkg/Core/Dxe/Gcd/Gcd.c b/MdeModulePkg/Core/Dxe/Gcd/Gcd.c
index c450d1bf25..fe1bbd6974 100644
--- a/MdeModulePkg/Core/Dxe/Gcd/Gcd.c
+++ b/MdeModulePkg/Core/Dxe/Gcd/Gcd.c
@@ -8,8 +8,8 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
**/
-#include <Pi/PrePiDxeCis.h>
-#include <Pi/PrePiHob.h>
+#include <Pi/PiDxeCis.h>
+#include <Pi/PiHob.h>
#include "DxeMain.h"
#include "Gcd.h"
#include "Mem/HeapGuard.h"
@@ -105,7 +105,7 @@ GLOBAL_REMOVE_IF_UNREFERENCED CONST CHAR8 *mGcdMemoryTypeNames[] = {
"MMIO ", // EfiGcdMemoryTypeMemoryMappedIo
"PersisMem", // EfiGcdMemoryTypePersistent
"MoreRelia", // EfiGcdMemoryTypeMoreReliable
- "Unaccepte", // EFI_GCD_MEMORY_TYPE_UNACCEPTED
+ "Unaccepte", // EfiGcdMemoryTypeUnaccepted
"Unknown " // EfiGcdMemoryTypeMaximum
};
@@ -2669,8 +2669,8 @@ CoreInitializeGcdServices (
case EFI_RESOURCE_MEMORY_RESERVED:
GcdMemoryType = EfiGcdMemoryTypeReserved;
break;
- case BZ3937_EFI_RESOURCE_MEMORY_UNACCEPTED:
- GcdMemoryType = EFI_GCD_MEMORY_TYPE_UNACCEPTED;
+ case EFI_RESOURCE_MEMORY_UNACCEPTED:
+ GcdMemoryType = EfiGcdMemoryTypeUnaccepted;
break;
case EFI_RESOURCE_IO:
GcdIoType = EfiGcdIoTypeIo;
diff --git a/MdeModulePkg/Core/Dxe/Mem/Page.c b/MdeModulePkg/Core/Dxe/Mem/Page.c
index 26584648c2..5a51d9df1a 100644
--- a/MdeModulePkg/Core/Dxe/Mem/Page.c
+++ b/MdeModulePkg/Core/Dxe/Mem/Page.c
@@ -9,7 +9,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
#include "DxeMain.h"
#include "Imem.h"
#include "HeapGuard.h"
-#include <Pi/PrePiDxeCis.h>
+#include <Pi/PiDxeCis.h>
//
// Entry for tracking the memory regions for each memory type to coalesce similar memory types
@@ -70,23 +70,23 @@ EFI_PHYSICAL_ADDRESS mDefaultMaximumAddress = MAX_ALLOC_ADDRESS;
EFI_PHYSICAL_ADDRESS mDefaultBaseAddress = MAX_ALLOC_ADDRESS;
EFI_MEMORY_TYPE_INFORMATION gMemoryTypeInformation[EfiMaxMemoryType + 1] = {
- { EfiReservedMemoryType, 0 },
- { EfiLoaderCode, 0 },
- { EfiLoaderData, 0 },
- { EfiBootServicesCode, 0 },
- { EfiBootServicesData, 0 },
- { EfiRuntimeServicesCode, 0 },
- { EfiRuntimeServicesData, 0 },
- { EfiConventionalMemory, 0 },
- { EfiUnusableMemory, 0 },
- { EfiACPIReclaimMemory, 0 },
- { EfiACPIMemoryNVS, 0 },
- { EfiMemoryMappedIO, 0 },
- { EfiMemoryMappedIOPortSpace, 0 },
- { EfiPalCode, 0 },
- { EfiPersistentMemory, 0 },
- { EFI_GCD_MEMORY_TYPE_UNACCEPTED, 0 },
- { EfiMaxMemoryType, 0 }
+ { EfiReservedMemoryType, 0 },
+ { EfiLoaderCode, 0 },
+ { EfiLoaderData, 0 },
+ { EfiBootServicesCode, 0 },
+ { EfiBootServicesData, 0 },
+ { EfiRuntimeServicesCode, 0 },
+ { EfiRuntimeServicesData, 0 },
+ { EfiConventionalMemory, 0 },
+ { EfiUnusableMemory, 0 },
+ { EfiACPIReclaimMemory, 0 },
+ { EfiACPIMemoryNVS, 0 },
+ { EfiMemoryMappedIO, 0 },
+ { EfiMemoryMappedIOPortSpace, 0 },
+ { EfiPalCode, 0 },
+ { EfiPersistentMemory, 0 },
+ { EfiGcdMemoryTypeUnaccepted, 0 },
+ { EfiMaxMemoryType, 0 }
};
//
// Only used when load module at fixed address feature is enabled. True means the memory is alreay successfully allocated
@@ -2083,7 +2083,7 @@ CoreGetMemoryMap (
MemoryMap = MergeMemoryMapDescriptor (MemoryMapStart, MemoryMap, Size);
}
- if (MergeGcdMapEntry.GcdMemoryType == EFI_GCD_MEMORY_TYPE_UNACCEPTED) {
+ if (MergeGcdMapEntry.GcdMemoryType == EfiGcdMemoryTypeUnaccepted) {
//
// Page Align GCD range is required. When it is converted to EFI_MEMORY_DESCRIPTOR,
// it will be recorded as page PhysicalStart and NumberOfPages.
diff --git a/MdeModulePkg/Include/Pi/PrePiDxeCis.h b/MdeModulePkg/Include/Pi/PrePiDxeCis.h
deleted file mode 100644
index 9be71d2618..0000000000
--- a/MdeModulePkg/Include/Pi/PrePiDxeCis.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/** @file
- Include file matches things in PI.
-
-Copyright (c) 2022, Intel Corporation. All rights reserved.<BR>
-SPDX-License-Identifier: BSD-2-Clause-Patent
-
-**/
-
-#ifndef MDE_MODULEPKG_PRE_PI_DXE_CIS_H_
-#define MDE_MODULEPKG_PRE_PI_DXE_CIS_H_
-
-///
-/// A memory region that describes system memory that has not been accepted
-/// by a corresponding call to the underlying isolation architecture.
-///
-/// This memory region has not been defined in PI spec, so it is defined in
-/// PrePiDxeCis.h. And it is defined in the format of captial letters
-/// because only capital letters are allowed to be used for #define declarations.
-///
-/// After this memory region is defined in PI spec, it should be a value in
-/// EFI_GCD_MEMORY_TYPE in PiDxeCis.h.
-///
-#define EFI_GCD_MEMORY_TYPE_UNACCEPTED 6
-
-#endif
diff --git a/MdeModulePkg/Include/Pi/PrePiHob.h b/MdeModulePkg/Include/Pi/PrePiHob.h
deleted file mode 100644
index ac575e5972..0000000000
--- a/MdeModulePkg/Include/Pi/PrePiHob.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/** @file
- HOB related definitions which has not been officially published in PI.
-
-Copyright (c) 2022, Intel Corporation. All rights reserved.<BR>
-SPDX-License-Identifier: BSD-2-Clause-Patent
-
-**/
-
-#ifndef MDE_MODULEPKG_PRE_PI_HOB_H_
-#define MDE_MODULEPKG_PRE_PI_HOB_H_
-
-//
-// BZ3937_EFI_RESOURCE_MEMORY_UNACCEPTED is defined for unaccepted memory.
-// But this defitinion has not been officially in the PI spec. Base
-// on the code-first we define BZ3937_EFI_RESOURCE_MEMORY_UNACCEPTED at
-// MdeModulePkg/Include/Pi/PrePiHob.h.
-//
-#define BZ3937_EFI_RESOURCE_MEMORY_UNACCEPTED 0x00000007
-
-#endif
diff --git a/MdePkg/Include/Pi/PiDxeCis.h b/MdePkg/Include/Pi/PiDxeCis.h
index bb7fb2c38a..04410c5a1a 100644
--- a/MdePkg/Include/Pi/PiDxeCis.h
+++ b/MdePkg/Include/Pi/PiDxeCis.h
@@ -56,14 +56,11 @@ typedef enum {
/// system. If all memory has the same reliability, then this bit is not used.
///
EfiGcdMemoryTypeMoreReliable,
- // ///
- // /// A memory region that describes system memory that has not been accepted
- // /// by a corresponding call to the underlying isolation architecture.
- // ///
- // /// Please be noted:
- // /// EfiGcdMemoryTypeUnaccepted is defined in PrePiDxeCis.h because it has not been
- // /// defined in PI spec.
- // EfiGcdMemoryTypeUnaccepted,
+ ///
+ /// A memory region that describes system memory that has not been accepted
+ /// by a corresponding call to the underlying isolation architecture.
+ ///
+ EfiGcdMemoryTypeUnaccepted,
EfiGcdMemoryTypeMaximum = 7
} EFI_GCD_MEMORY_TYPE;
diff --git a/MdePkg/Include/Pi/PiHob.h b/MdePkg/Include/Pi/PiHob.h
index f730520e8c..9e49421afa 100644
--- a/MdePkg/Include/Pi/PiHob.h
+++ b/MdePkg/Include/Pi/PiHob.h
@@ -232,16 +232,8 @@ typedef UINT32 EFI_RESOURCE_TYPE;
#define EFI_RESOURCE_MEMORY_MAPPED_IO_PORT 0x00000004
#define EFI_RESOURCE_MEMORY_RESERVED 0x00000005
#define EFI_RESOURCE_IO_RESERVED 0x00000006
-//
-// BZ3937_EFI_RESOURCE_MEMORY_UNACCEPTED is defined for unaccepted memory.
-// But this defitinion has not been officially in the PI spec. Base
-// on the code-first we define BZ3937_EFI_RESOURCE_MEMORY_UNACCEPTED at
-// MdeModulePkg/Include/Pi/PrePiHob.h and update EFI_RESOURCE_MAX_MEMORY_TYPE
-// to 8. After BZ3937_EFI_RESOURCE_MEMORY_UNACCEPTED is officially published
-// in PI spec, we will re-visit here.
-//
-// #define BZ3937_EFI_RESOURCE_MEMORY_UNACCEPTED 0x00000007
-#define EFI_RESOURCE_MAX_MEMORY_TYPE 0x00000008
+#define EFI_RESOURCE_MEMORY_UNACCEPTED 0x00000007
+#define EFI_RESOURCE_MAX_MEMORY_TYPE 0x00000008
///
/// A type of recount attribute type.
--
2.24.1.windows.2
-The information contained in this message may be confidential and proprietary to American Megatrends (AMI). This communication is intended to be read only by the individual or entity to whom it is addressed or by their designee. If the reader of this message is not the intended recipient, you are on notice that any distribution of this message, in any form, is strictly prohibited. Please promptly notify the sender by reply e-mail or by telephone at 770-246-8600, and then delete or destroy all copies of the transmission.
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#117321): https://edk2.groups.io/g/devel/message/117321
Mute This Topic: https://groups.io/mt/105282241/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [edk2-devel] [PATCH 2/5] MdePkg: Add new Resource Attributes defined in PI 1.8 Spec
2024-04-01 22:40 [edk2-devel] [PATCH 0/5] General Updates based on UEFI 2.10 and PI 1.8 Specifications Sachin Ganesh via groups.io
2024-04-01 22:40 ` [edk2-devel] [PATCH 1/5] MdePkg: Add definition for NVMe Over Fabric Device Path Sachin Ganesh via groups.io
@ 2024-04-01 22:40 ` Sachin Ganesh via groups.io
2024-04-01 22:40 ` [edk2-devel] [PATCH 3/5] MdePkg: Use newly defined Unaccepted Memory Type Sachin Ganesh via groups.io
` (2 subsequent siblings)
4 siblings, 0 replies; 7+ messages in thread
From: Sachin Ganesh via groups.io @ 2024-04-01 22:40 UTC (permalink / raw)
To: devel@edk2.groups.io; +Cc: Liming Gao, Felix Polyudov, Dhanaraj V
Defined Encrypted and Special Purpose resource attributes as
defined in PI 1.8 Specification
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Felix Polyudov <felixp@ami.com>
Cc: Dhanaraj V <vdhanaraj@ami.com>
Signed-off-by: Sachin Ganesh <sachinganesh@ami.com>
---
MdePkg/Include/Pi/PiHob.h | 2 ++
1 file changed, 2 insertions(+)
diff --git a/MdePkg/Include/Pi/PiHob.h b/MdePkg/Include/Pi/PiHob.h
index 4605da56e2..f730520e8c 100644
--- a/MdePkg/Include/Pi/PiHob.h
+++ b/MdePkg/Include/Pi/PiHob.h
@@ -297,6 +297,8 @@ typedef UINT32 EFI_RESOURCE_ATTRIBUTE_TYPE;
#define EFI_RESOURCE_ATTRIBUTE_READ_ONLY_PROTECTED 0x00040000
#define EFI_RESOURCE_ATTRIBUTE_READ_ONLY_PROTECTABLE 0x00080000
+#define EFI_RESOURCE_ATTRIBUTE_ENCRYPTED 0x04000000
+#define EFI_RESOURCE_ATTRIBUTE_SPECIAL_PURPOSE 0x08000000
//
// Physical memory relative reliability attribute. This
// memory provides higher reliability relative to other
--
2.24.1.windows.2
-The information contained in this message may be confidential and proprietary to American Megatrends (AMI). This communication is intended to be read only by the individual or entity to whom it is addressed or by their designee. If the reader of this message is not the intended recipient, you are on notice that any distribution of this message, in any form, is strictly prohibited. Please promptly notify the sender by reply e-mail or by telephone at 770-246-8600, and then delete or destroy all copies of the transmission.
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#117320): https://edk2.groups.io/g/devel/message/117320
Mute This Topic: https://groups.io/mt/105282240/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [edk2-devel] [PATCH 4/5] MdePkg: Update Delayed Dispatch PPI as per PI 1.8 Spec
2024-04-01 22:40 [edk2-devel] [PATCH 0/5] General Updates based on UEFI 2.10 and PI 1.8 Specifications Sachin Ganesh via groups.io
` (2 preceding siblings ...)
2024-04-01 22:40 ` [edk2-devel] [PATCH 3/5] MdePkg: Use newly defined Unaccepted Memory Type Sachin Ganesh via groups.io
@ 2024-04-01 22:40 ` Sachin Ganesh via groups.io
2024-04-01 22:40 ` [edk2-devel] [PATCH 5/5] MdePkg: Update to PI 1.8 Revision Sachin Ganesh via groups.io
4 siblings, 0 replies; 7+ messages in thread
From: Sachin Ganesh via groups.io @ 2024-04-01 22:40 UTC (permalink / raw)
To: devel@edk2.groups.io; +Cc: Liming Gao, Felix Polyudov, Dhanaraj V
Added WaitOnEvent() function to EFI_DELAYTED_DISPATCH_PPI.
Modified DispatchRegister() parameter list.
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Felix Polyudov <felixp@ami.com>
Cc: Dhanaraj V <vdhanaraj@ami.com>
Signed-off-by: Sachin Ganesh <sachinganesh@ami.com>
---
MdePkg/Include/Ppi/DelayedDispatch.h | 24 +++++++++++++++++++++++-
1 file changed, 23 insertions(+), 1 deletion(-)
diff --git a/MdePkg/Include/Ppi/DelayedDispatch.h b/MdePkg/Include/Ppi/DelayedDispatch.h
index f9b4fed30f..1c2068404c 100644
--- a/MdePkg/Include/Ppi/DelayedDispatch.h
+++ b/MdePkg/Include/Ppi/DelayedDispatch.h
@@ -49,6 +49,7 @@ This service is the single member function of the EFI_DELAYED_DISPATCH_PPI
@param This Pointer to the EFI_DELAYED_DISPATCH_PPI instance
@param Function Function to call back
@param Context Context data
+ @param UniqueId UniqueId
@param Delay Delay interval
@retval EFI_SUCCESS Function successfully loaded
@@ -62,9 +63,29 @@ EFI_STATUS
IN EFI_DELAYED_DISPATCH_PPI *This,
IN EFI_DELAYED_DISPATCH_FUNCTION Function,
IN UINT64 Context,
+ IN EFI_GUID *UniqueId OPTIONAL,
OUT UINT32 Delay
);
+/**
+Function invoked by a PEIM to wait until all specified UniqueId events have been dispatched. The other events
+will continue to dispatch while this process is being paused
+
+ @param This Pointer to the EFI_DELAYED_DISPATCH_PPI instance
+ @param UniqueId Delayed dispatch request ID the caller will wait on
+
+ @retval EFI_SUCCESS Function successfully invoked
+ @retval EFI_INVALID_PARAMETER One of the Arguments is not supported
+
+**/
+
+typedef
+EFI_STATUS
+(EFIAPI *EFI_DELAYED_DISPATCH_WAIT_ON_EVENT)(
+ IN EFI_DELAYED_DISPATCH_PPI *This,
+ IN EFI_GUID UniqueId
+ );
+
///
/// This PPI is a pointer to the Delayed Dispatch Service.
/// This service will be published by the Pei Foundation. The PEI Foundation
@@ -72,7 +93,8 @@ EFI_STATUS
/// execution.
///
struct _EFI_DELAYED_DISPATCH_PPI {
- EFI_DELAYED_DISPATCH_REGISTER Register;
+ EFI_DELAYED_DISPATCH_REGISTER Register;
+ EFI_DELAYED_DISPATCH_WAIT_ON_EVENT WaitOnEvent;
};
extern EFI_GUID gEfiPeiDelayedDispatchPpiGuid;
--
2.24.1.windows.2
-The information contained in this message may be confidential and proprietary to American Megatrends (AMI). This communication is intended to be read only by the individual or entity to whom it is addressed or by their designee. If the reader of this message is not the intended recipient, you are on notice that any distribution of this message, in any form, is strictly prohibited. Please promptly notify the sender by reply e-mail or by telephone at 770-246-8600, and then delete or destroy all copies of the transmission.
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#117322): https://edk2.groups.io/g/devel/message/117322
Mute This Topic: https://groups.io/mt/105282242/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [edk2-devel] [PATCH 5/5] MdePkg: Update to PI 1.8 Revision
2024-04-01 22:40 [edk2-devel] [PATCH 0/5] General Updates based on UEFI 2.10 and PI 1.8 Specifications Sachin Ganesh via groups.io
` (3 preceding siblings ...)
2024-04-01 22:40 ` [edk2-devel] [PATCH 4/5] MdePkg: Update Delayed Dispatch PPI as per PI 1.8 Spec Sachin Ganesh via groups.io
@ 2024-04-01 22:40 ` Sachin Ganesh via groups.io
4 siblings, 0 replies; 7+ messages in thread
From: Sachin Ganesh via groups.io @ 2024-04-01 22:40 UTC (permalink / raw)
To: devel@edk2.groups.io; +Cc: Liming Gao, Felix Polyudov, Dhanaraj V
Revision macros have been updated to indicate PI 1.8 specification
support
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Felix Polyudov <felixp@ami.com>
Cc: Dhanaraj V <vdhanaraj@ami.com>
Signed-off-by: Sachin Ganesh <sachinganesh@ami.com>
---
MdePkg/Include/Pi/PiDxeCis.h | 6 +++---
MdePkg/Include/Pi/PiMmCis.h | 6 +++---
MdePkg/Include/Pi/PiMultiPhase.h | 6 ++++++
MdePkg/Include/Pi/PiPeiCis.h | 6 +++---
MdePkg/Include/Pi/PiSmmCis.h | 2 +-
5 files changed, 16 insertions(+), 10 deletions(-)
diff --git a/MdePkg/Include/Pi/PiDxeCis.h b/MdePkg/Include/Pi/PiDxeCis.h
index 04410c5a1a..9afeaddeae 100644
--- a/MdePkg/Include/Pi/PiDxeCis.h
+++ b/MdePkg/Include/Pi/PiDxeCis.h
@@ -5,7 +5,7 @@ Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
@par Revision Reference:
- PI Version 1.7
+ PI Version 1.8
**/
@@ -691,8 +691,8 @@ EFI_STATUS
// DXE Services Table
//
#define DXE_SERVICES_SIGNATURE 0x565245535f455844ULL
-#define DXE_SPECIFICATION_MAJOR_REVISION 1
-#define DXE_SPECIFICATION_MINOR_REVISION 70
+#define DXE_SPECIFICATION_MAJOR_REVISION PI_SPECIFICATION_MAJOR_REVISION
+#define DXE_SPECIFICATION_MINOR_REVISION PI_SPECIFICATION_MINOR_REVISION
#define DXE_SERVICES_REVISION ((DXE_SPECIFICATION_MAJOR_REVISION<<16) | (DXE_SPECIFICATION_MINOR_REVISION))
typedef struct {
diff --git a/MdePkg/Include/Pi/PiMmCis.h b/MdePkg/Include/Pi/PiMmCis.h
index 01340952d8..7a9f151e59 100644
--- a/MdePkg/Include/Pi/PiMmCis.h
+++ b/MdePkg/Include/Pi/PiMmCis.h
@@ -20,10 +20,10 @@ typedef struct _EFI_MM_SYSTEM_TABLE EFI_MM_SYSTEM_TABLE;
///
#define MM_MMST_SIGNATURE SIGNATURE_32 ('S', 'M', 'S', 'T')
///
-/// The Management Mode System Table (MMST) revision is 1.6
+/// The Management Mode System Table (MMST) revision
///
-#define MM_SPECIFICATION_MAJOR_REVISION 1
-#define MM_SPECIFICATION_MINOR_REVISION 60
+#define MM_SPECIFICATION_MAJOR_REVISION PI_SPECIFICATION_MAJOR_REVISION
+#define MM_SPECIFICATION_MINOR_REVISION PI_SPECIFICATION_MINOR_REVISION
#define EFI_MM_SYSTEM_TABLE_REVISION ((MM_SPECIFICATION_MAJOR_REVISION<<16) | (MM_SPECIFICATION_MINOR_REVISION))
/**
diff --git a/MdePkg/Include/Pi/PiMultiPhase.h b/MdePkg/Include/Pi/PiMultiPhase.h
index a7e95820ef..863a839601 100644
--- a/MdePkg/Include/Pi/PiMultiPhase.h
+++ b/MdePkg/Include/Pi/PiMultiPhase.h
@@ -20,6 +20,12 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
#include <Pi/PiStatusCode.h>
#include <Pi/PiS3BootScript.h>
+//
+// PI Specification Revision information
+//
+#define PI_SPECIFICATION_MAJOR_REVISION 1
+#define PI_SPECIFICATION_MINOR_REVISION 80
+
/**
Produces an error code in the range reserved for use by the Platform Initialization
Architecture Specification.
diff --git a/MdePkg/Include/Pi/PiPeiCis.h b/MdePkg/Include/Pi/PiPeiCis.h
index 69eec2c473..0ba013e664 100644
--- a/MdePkg/Include/Pi/PiPeiCis.h
+++ b/MdePkg/Include/Pi/PiPeiCis.h
@@ -5,7 +5,7 @@ Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
@par Revision Reference:
- PI Version 1.7.
+ PI Version 1.8.
**/
@@ -846,8 +846,8 @@ EFI_STATUS
//
// PEI Specification Revision information
//
-#define PEI_SPECIFICATION_MAJOR_REVISION 1
-#define PEI_SPECIFICATION_MINOR_REVISION 70
+#define PEI_SPECIFICATION_MAJOR_REVISION PI_SPECIFICATION_MAJOR_REVISION
+#define PEI_SPECIFICATION_MINOR_REVISION PI_SPECIFICATION_MINOR_REVISION
///
/// Specification inconsistency here:
/// In the PI1.0 spec, PEI_SERVICES_SIGNATURE is defined as 0x5652455320494550. But
diff --git a/MdePkg/Include/Pi/PiSmmCis.h b/MdePkg/Include/Pi/PiSmmCis.h
index bf5b580c32..886b5e4a38 100644
--- a/MdePkg/Include/Pi/PiSmmCis.h
+++ b/MdePkg/Include/Pi/PiSmmCis.h
@@ -15,7 +15,7 @@
typedef struct _EFI_SMM_SYSTEM_TABLE2 EFI_SMM_SYSTEM_TABLE2;
//
-// Define new MM related definition introduced by PI 1.5.
+// MM related definitions
//
#define SMM_SMST_SIGNATURE MM_MMST_SIGNATURE
#define SMM_SPECIFICATION_MAJOR_REVISION MM_SPECIFICATION_MAJOR_REVISION
--
2.24.1.windows.2
-The information contained in this message may be confidential and proprietary to American Megatrends (AMI). This communication is intended to be read only by the individual or entity to whom it is addressed or by their designee. If the reader of this message is not the intended recipient, you are on notice that any distribution of this message, in any form, is strictly prohibited. Please promptly notify the sender by reply e-mail or by telephone at 770-246-8600, and then delete or destroy all copies of the transmission.
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#117323): https://edk2.groups.io/g/devel/message/117323
Mute This Topic: https://groups.io/mt/105282243/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [edk2-devel] [PATCH 4/5] MdePkg: Update Delayed Dispatch PPI as per PI 1.8 Spec
2024-04-15 16:47 [edk2-devel] [PATCH 0/5] General Updates based on UEFI 2.10 and PI 1.8 Specifications Sachin Ganesh via groups.io
@ 2024-04-15 16:47 ` Sachin Ganesh via groups.io
0 siblings, 0 replies; 7+ messages in thread
From: Sachin Ganesh via groups.io @ 2024-04-15 16:47 UTC (permalink / raw)
To: devel@edk2.groups.io
Cc: gaoliming@byosoft.com.cn, michael.d.kinney@intel.com,
zhiguang.liu@intel.com, Felix Polyudov, Dhanaraj V, Sachin Ganesh
Added WaitOnEvent() function to EFI_DELAYTED_DISPATCH_PPI.
Modified DispatchRegister() parameter list.
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Zhiguang Liu <zhiguang.liu@intel.com>
Cc: Felix Polyudov <felixp@ami.com>
Cc: Dhanaraj V <vdhanaraj@ami.com>
Signed-off-by: Sachin Ganesh <sachinganesh@ami.com>
---
MdePkg/Include/Ppi/DelayedDispatch.h | 24 +++++++++++++++++++++++-
1 file changed, 23 insertions(+), 1 deletion(-)
diff --git a/MdePkg/Include/Ppi/DelayedDispatch.h b/MdePkg/Include/Ppi/DelayedDispatch.h
index f9b4fed30f..1c2068404c 100644
--- a/MdePkg/Include/Ppi/DelayedDispatch.h
+++ b/MdePkg/Include/Ppi/DelayedDispatch.h
@@ -49,6 +49,7 @@ This service is the single member function of the EFI_DELAYED_DISPATCH_PPI
@param This Pointer to the EFI_DELAYED_DISPATCH_PPI instance
@param Function Function to call back
@param Context Context data
+ @param UniqueId UniqueId
@param Delay Delay interval
@retval EFI_SUCCESS Function successfully loaded
@@ -62,9 +63,29 @@ EFI_STATUS
IN EFI_DELAYED_DISPATCH_PPI *This,
IN EFI_DELAYED_DISPATCH_FUNCTION Function,
IN UINT64 Context,
+ IN EFI_GUID *UniqueId OPTIONAL,
OUT UINT32 Delay
);
+/**
+Function invoked by a PEIM to wait until all specified UniqueId events have been dispatched. The other events
+will continue to dispatch while this process is being paused
+
+ @param This Pointer to the EFI_DELAYED_DISPATCH_PPI instance
+ @param UniqueId Delayed dispatch request ID the caller will wait on
+
+ @retval EFI_SUCCESS Function successfully invoked
+ @retval EFI_INVALID_PARAMETER One of the Arguments is not supported
+
+**/
+
+typedef
+EFI_STATUS
+(EFIAPI *EFI_DELAYED_DISPATCH_WAIT_ON_EVENT)(
+ IN EFI_DELAYED_DISPATCH_PPI *This,
+ IN EFI_GUID UniqueId
+ );
+
///
/// This PPI is a pointer to the Delayed Dispatch Service.
/// This service will be published by the Pei Foundation. The PEI Foundation
@@ -72,7 +93,8 @@ EFI_STATUS
/// execution.
///
struct _EFI_DELAYED_DISPATCH_PPI {
- EFI_DELAYED_DISPATCH_REGISTER Register;
+ EFI_DELAYED_DISPATCH_REGISTER Register;
+ EFI_DELAYED_DISPATCH_WAIT_ON_EVENT WaitOnEvent;
};
extern EFI_GUID gEfiPeiDelayedDispatchPpiGuid;
--
2.24.1.windows.2
-The information contained in this message may be confidential and proprietary to American Megatrends (AMI). This communication is intended to be read only by the individual or entity to whom it is addressed or by their designee. If the reader of this message is not the intended recipient, you are on notice that any distribution of this message, in any form, is strictly prohibited. Please promptly notify the sender by reply e-mail or by telephone at 770-246-8600, and then delete or destroy all copies of the transmission.
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#117798): https://edk2.groups.io/g/devel/message/117798
Mute This Topic: https://groups.io/mt/105540406/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-
^ permalink raw reply related [flat|nested] 7+ messages in thread
end of thread, other threads:[~2024-04-15 16:59 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-04-01 22:40 [edk2-devel] [PATCH 0/5] General Updates based on UEFI 2.10 and PI 1.8 Specifications Sachin Ganesh via groups.io
2024-04-01 22:40 ` [edk2-devel] [PATCH 1/5] MdePkg: Add definition for NVMe Over Fabric Device Path Sachin Ganesh via groups.io
2024-04-01 22:40 ` [edk2-devel] [PATCH 2/5] MdePkg: Add new Resource Attributes defined in PI 1.8 Spec Sachin Ganesh via groups.io
2024-04-01 22:40 ` [edk2-devel] [PATCH 3/5] MdePkg: Use newly defined Unaccepted Memory Type Sachin Ganesh via groups.io
2024-04-01 22:40 ` [edk2-devel] [PATCH 4/5] MdePkg: Update Delayed Dispatch PPI as per PI 1.8 Spec Sachin Ganesh via groups.io
2024-04-01 22:40 ` [edk2-devel] [PATCH 5/5] MdePkg: Update to PI 1.8 Revision Sachin Ganesh via groups.io
-- strict thread matches above, loose matches on Subject: below --
2024-04-15 16:47 [edk2-devel] [PATCH 0/5] General Updates based on UEFI 2.10 and PI 1.8 Specifications Sachin Ganesh via groups.io
2024-04-15 16:47 ` [edk2-devel] [PATCH 4/5] MdePkg: Update Delayed Dispatch PPI as per PI 1.8 Spec Sachin Ganesh via groups.io
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox