summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArd Biesheuvel <ard.biesheuvel@linaro.org>2019-03-18 13:16:56 +0100
committerArd Biesheuvel <ard.biesheuvel@linaro.org>2019-03-18 13:16:56 +0100
commit341081b1aaaf1cb0379c3a145187333eada8d3aa (patch)
tree3a5d87ca7e7f22f3d4359ff9f1d8635de110e742
parent370cfac79a349fcde0852530ba60dcfcc19df7a9 (diff)
MdeModulePkg/MmCommunication: add a physical address field to the comm buffer
Modify the definition of the MM communicate protocol so that the header structure of the communication buffer contains a physical address field that holds the physical address of the buffer itself. This permits MM client code to be shared between traditional MM (that needs to know the physical address of the buffer) and standalone MM (which needs the virtual buffer address instead). Since the SMM and MM versions of this protocol are now no longer identical, also refresh its GUID. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
-rw-r--r--MdePkg/Include/Protocol/MmCommunication.h6
-rw-r--r--MdePkg/MdePkg.dec2
2 files changed, 6 insertions, 2 deletions
diff --git a/MdePkg/Include/Protocol/MmCommunication.h b/MdePkg/Include/Protocol/MmCommunication.h
index 774686ba3e..6069bd8426 100644
--- a/MdePkg/Include/Protocol/MmCommunication.h
+++ b/MdePkg/Include/Protocol/MmCommunication.h
@@ -26,6 +26,10 @@
///
typedef struct {
///
+ /// The physical address of the communication buffer
+ ///
+ EFI_PHYSICAL_ADDRESS PhysicalAddress;
+ ///
/// Allows for disambiguation of the message format.
///
EFI_GUID HeaderGuid;
@@ -43,7 +47,7 @@ typedef struct {
#define EFI_MM_COMMUNICATION_PROTOCOL_GUID \
{ \
- 0xc68ed8e2, 0x9dc6, 0x4cbd, { 0x9d, 0x94, 0xdb, 0x65, 0xac, 0xc5, 0xc3, 0x32 } \
+ 0x24331a2f, 0x4de3, 0x4d73, { 0x84, 0x3e, 0x89, 0x5d, 0x38, 0x2c, 0x12, 0x2a } \
}
typedef struct _EFI_MM_COMMUNICATION_PROTOCOL EFI_MM_COMMUNICATION_PROTOCOL;
diff --git a/MdePkg/MdePkg.dec b/MdePkg/MdePkg.dec
index 69a9575a04..b6040e4e22 100644
--- a/MdePkg/MdePkg.dec
+++ b/MdePkg/MdePkg.dec
@@ -1255,7 +1255,7 @@
gEfiMmRscHandlerProtocolGuid = { 0x2ff29fa7, 0x5e80, 0x4ed9, { 0xb3, 0x80, 0x1, 0x7d, 0x3c, 0x55, 0x4f, 0xf4 }}
## Include/Protocol/MmCommunication.h
- gEfiMmCommunicationProtocolGuid = { 0xc68ed8e2, 0x9dc6, 0x4cbd, { 0x9d, 0x94, 0xdb, 0x65, 0xac, 0xc5, 0xc3, 0x32 }}
+ gEfiMmCommunicationProtocolGuid = { 0x24331a2f, 0x4de3, 0x4d73, { 0x84, 0x3e, 0x89, 0x5d, 0x38, 0x2c, 0x12, 0x2a }}
#
# Protocols defined in PI 1.6.