summaryrefslogtreecommitdiff
path: root/MdePkg/Include/Protocol
diff options
context:
space:
mode:
Diffstat (limited to 'MdePkg/Include/Protocol')
-rw-r--r--MdePkg/Include/Protocol/I2cMaster.h2
-rw-r--r--MdePkg/Include/Protocol/MmCommunication3.h64
-rw-r--r--MdePkg/Include/Protocol/MmMp.h4
-rw-r--r--MdePkg/Include/Protocol/PxeBaseCodeCallBack.h2
-rw-r--r--MdePkg/Include/Protocol/RestJsonStructure.h2
-rw-r--r--MdePkg/Include/Protocol/UgaDraw.h159
-rw-r--r--MdePkg/Include/Protocol/UgaIo.h189
7 files changed, 69 insertions, 353 deletions
diff --git a/MdePkg/Include/Protocol/I2cMaster.h b/MdePkg/Include/Protocol/I2cMaster.h
index 6ba70e2..90c872e 100644
--- a/MdePkg/Include/Protocol/I2cMaster.h
+++ b/MdePkg/Include/Protocol/I2cMaster.h
@@ -58,7 +58,7 @@ EFI_STATUS
This routine must be called at or below TPL_NOTIFY.
- The I2C controller is reset. The caller must call SetBusFrequench() after
+ The I2C controller is reset. The caller must call SetBusFrequency() after
calling Reset().
@param[in] This Pointer to an EFI_I2C_MASTER_PROTOCOL structure.
diff --git a/MdePkg/Include/Protocol/MmCommunication3.h b/MdePkg/Include/Protocol/MmCommunication3.h
new file mode 100644
index 0000000..337287c
--- /dev/null
+++ b/MdePkg/Include/Protocol/MmCommunication3.h
@@ -0,0 +1,64 @@
+/** @file
+ EFI MM Communication Protocol 3 as defined in the PI 1.9 specification.
+
+ This protocol provides a means of communicating between drivers outside of MM and MMI
+ handlers inside of MM.
+
+ Copyright (c) 2017, Intel Corporation. All rights reserved.<BR>
+ Copyright (c) 2019, Arm Limited. All rights reserved.<BR>
+ SPDX-License-Identifier: BSD-2-Clause-Patent
+
+**/
+
+#ifndef MM_COMMUNICATION3_H_
+#define MM_COMMUNICATION3_H_
+
+#include <Pi/PiMultiPhase.h>
+
+#define EFI_MM_COMMUNICATION3_PROTOCOL_GUID \
+ { \
+ 0xf7234a14, 0xdf2, 0x46c0, { 0xad, 0x28, 0x90, 0xe6, 0xb8, 0x83, 0xa7, 0x2f } \
+ }
+
+typedef struct _EFI_MM_COMMUNICATION3_PROTOCOL EFI_MM_COMMUNICATION3_PROTOCOL;
+
+/**
+ Communicates with a registered handler.
+
+ This function provides a service to send and receive messages from a registered UEFI service.
+
+ @param[in] This The EFI_MM_COMMUNICATION3_PROTOCOL instance.
+ @param[in, out] CommBufferPhysical Physical address of the MM communication buffer, of which content must
+ start with EFI_MM_COMMUNICATE_HEADER_V3.
+ @param[in, out] CommBufferVirtual Virtual address of the MM communication buffer, of which content must
+ start with EFI_MM_COMMUNICATE_HEADER_V3.
+
+ @retval EFI_SUCCESS The message was successfully posted.
+ @retval EFI_INVALID_PARAMETER CommBufferPhysical was NULL or CommBufferVirtual was NULL.
+ @retval EFI_BAD_BUFFER_SIZE The buffer is too large for the MM implementation.
+ If this error is returned, the MessageSize field
+ in the CommBuffer header, are updated to reflect
+ the maximum payload size the implementation can accommodate.
+ @retval EFI_ACCESS_DENIED The CommunicateBuffer parameter are in address range
+ that cannot be accessed by the MM environment.
+
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_MM_COMMUNICATE3)(
+ IN CONST EFI_MM_COMMUNICATION3_PROTOCOL *This,
+ IN OUT VOID *CommBufferPhysical,
+ IN OUT VOID *CommBufferVirtual
+ );
+
+///
+/// EFI MM Communication Protocol provides runtime services for communicating
+/// between DXE drivers and a registered MMI handler.
+///
+struct _EFI_MM_COMMUNICATION3_PROTOCOL {
+ EFI_MM_COMMUNICATE3 Communicate;
+};
+
+extern EFI_GUID gEfiMmCommunication3ProtocolGuid;
+
+#endif
diff --git a/MdePkg/Include/Protocol/MmMp.h b/MdePkg/Include/Protocol/MmMp.h
index ad958c8..6704d6a 100644
--- a/MdePkg/Include/Protocol/MmMp.h
+++ b/MdePkg/Include/Protocol/MmMp.h
@@ -247,14 +247,14 @@ EFI_STATUS
via the use of a token, this function can be used to check for completion of the procedure on the AP.
The function takes the token that was passed into the DispatchProcedure call. If the procedure
is complete, and therefore it is now possible to run another procedure on the same AP, this function
- returns EFI_SUCESS. In this case the status returned by the procedure that executed on the AP is
+ returns EFI_SUCCESS. In this case the status returned by the procedure that executed on the AP is
returned in the token's Status field. If the procedure has not yet completed, then this function
returns EFI_NOT_READY.
When a non-blocking execution of a procedure is invoked with BroadcastProcedure, via the
use of a token, this function can be used to check for completion of the procedure on all the
broadcast APs. The function takes the token that was passed into the BroadcastProcedure
- call. If the procedure is complete on all broadcast APs this function returns EFI_SUCESS. In this
+ call. If the procedure is complete on all broadcast APs this function returns EFI_SUCCESS. In this
case the Status field in the token passed into the function reflects the overall result of the
invocation, which may be EFI_SUCCESS, if all executions succeeded, or the first observed failure.
If the procedure has not yet completed on the broadcast APs, the function returns
diff --git a/MdePkg/Include/Protocol/PxeBaseCodeCallBack.h b/MdePkg/Include/Protocol/PxeBaseCodeCallBack.h
index 65b3220..3b36c56 100644
--- a/MdePkg/Include/Protocol/PxeBaseCodeCallBack.h
+++ b/MdePkg/Include/Protocol/PxeBaseCodeCallBack.h
@@ -27,7 +27,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
#define EFI_PXE_BASE_CODE_CALLBACK_PROTOCOL_REVISION 0x00010000
///
-/// EFI 1.1 Revision Number defintion.
+/// EFI 1.1 Revision Number definition.
///
#define EFI_PXE_BASE_CODE_CALLBACK_INTERFACE_REVISION \
EFI_PXE_BASE_CODE_CALLBACK_PROTOCOL_REVISION
diff --git a/MdePkg/Include/Protocol/RestJsonStructure.h b/MdePkg/Include/Protocol/RestJsonStructure.h
index 29d69d6..f2bcb88 100644
--- a/MdePkg/Include/Protocol/RestJsonStructure.h
+++ b/MdePkg/Include/Protocol/RestJsonStructure.h
@@ -25,7 +25,7 @@ typedef struct _EFI_REST_JSON_STRUCTURE_PROTOCOL EFI_REST_JSON_STRUCTURE_PROTOC
typedef CHAR8 *EFI_REST_JSON_RESOURCE_TYPE_DATATYPE;
///
-/// Structure defintions of resource name space.
+/// Structure definitions of resource name space.
///
/// The fields declared in this structure define the
/// name and revision of payload delievered throught
diff --git a/MdePkg/Include/Protocol/UgaDraw.h b/MdePkg/Include/Protocol/UgaDraw.h
deleted file mode 100644
index 8d33bf8..0000000
--- a/MdePkg/Include/Protocol/UgaDraw.h
+++ /dev/null
@@ -1,159 +0,0 @@
-/** @file
- UGA Draw protocol from the EFI 1.10 specification.
-
- Abstraction of a very simple graphics device.
-
- Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
- SPDX-License-Identifier: BSD-2-Clause-Patent
-
-**/
-
-#ifndef __UGA_DRAW_H__
-#define __UGA_DRAW_H__
-
-#define EFI_UGA_DRAW_PROTOCOL_GUID \
- { \
- 0x982c298b, 0xf4fa, 0x41cb, {0xb8, 0x38, 0x77, 0xaa, 0x68, 0x8f, 0xb8, 0x39 } \
- }
-
-typedef struct _EFI_UGA_DRAW_PROTOCOL EFI_UGA_DRAW_PROTOCOL;
-
-/**
- Return the current video mode information.
-
- @param This The EFI_UGA_DRAW_PROTOCOL instance.
- @param HorizontalResolution The size of video screen in pixels in the X dimension.
- @param VerticalResolution The size of video screen in pixels in the Y dimension.
- @param ColorDepth Number of bits per pixel, currently defined to be 32.
- @param RefreshRate The refresh rate of the monitor in Hertz.
-
- @retval EFI_SUCCESS Mode information returned.
- @retval EFI_NOT_STARTED Video display is not initialized. Call SetMode ()
- @retval EFI_INVALID_PARAMETER One of the input args was NULL.
-
-**/
-typedef
-EFI_STATUS
-(EFIAPI *EFI_UGA_DRAW_PROTOCOL_GET_MODE)(
- IN EFI_UGA_DRAW_PROTOCOL *This,
- OUT UINT32 *HorizontalResolution,
- OUT UINT32 *VerticalResolution,
- OUT UINT32 *ColorDepth,
- OUT UINT32 *RefreshRate
- );
-
-/**
- Set the current video mode information.
-
- @param This The EFI_UGA_DRAW_PROTOCOL instance.
- @param HorizontalResolution The size of video screen in pixels in the X dimension.
- @param VerticalResolution The size of video screen in pixels in the Y dimension.
- @param ColorDepth Number of bits per pixel, currently defined to be 32.
- @param RefreshRate The refresh rate of the monitor in Hertz.
-
- @retval EFI_SUCCESS Mode information returned.
- @retval EFI_NOT_STARTED Video display is not initialized. Call SetMode ()
-
-**/
-typedef
-EFI_STATUS
-(EFIAPI *EFI_UGA_DRAW_PROTOCOL_SET_MODE)(
- IN EFI_UGA_DRAW_PROTOCOL *This,
- IN UINT32 HorizontalResolution,
- IN UINT32 VerticalResolution,
- IN UINT32 ColorDepth,
- IN UINT32 RefreshRate
- );
-
-typedef struct {
- UINT8 Blue;
- UINT8 Green;
- UINT8 Red;
- UINT8 Reserved;
-} EFI_UGA_PIXEL;
-
-typedef union {
- EFI_UGA_PIXEL Pixel;
- UINT32 Raw;
-} EFI_UGA_PIXEL_UNION;
-
-///
-/// Enumration value for actions of Blt operations.
-///
-typedef enum {
- EfiUgaVideoFill, ///< Write data from the BltBuffer pixel (SourceX, SourceY)
- ///< directly to every pixel of the video display rectangle
- ///< (DestinationX, DestinationY) (DestinationX + Width, DestinationY + Height).
- ///< Only one pixel will be used from the BltBuffer. Delta is NOT used.
-
- EfiUgaVideoToBltBuffer, ///< Read data from the video display rectangle
- ///< (SourceX, SourceY) (SourceX + Width, SourceY + Height) and place it in
- ///< the BltBuffer rectangle (DestinationX, DestinationY )
- ///< (DestinationX + Width, DestinationY + Height). If DestinationX or
- ///< DestinationY is not zero then Delta must be set to the length in bytes
- ///< of a row in the BltBuffer.
-
- EfiUgaBltBufferToVideo, ///< Write data from the BltBuffer rectangle
- ///< (SourceX, SourceY) (SourceX + Width, SourceY + Height) directly to the
- ///< video display rectangle (DestinationX, DestinationY)
- ///< (DestinationX + Width, DestinationY + Height). If SourceX or SourceY is
- ///< not zero then Delta must be set to the length in bytes of a row in the
- ///< BltBuffer.
-
- EfiUgaVideoToVideo, ///< Copy from the video display rectangle (SourceX, SourceY)
- ///< (SourceX + Width, SourceY + Height) .to the video display rectangle
- ///< (DestinationX, DestinationY) (DestinationX + Width, DestinationY + Height).
- ///< The BltBuffer and Delta are not used in this mode.
-
- EfiUgaBltMax ///< Maxmimum value for enumration value of Blt operation. If a Blt operation
- ///< larger or equal to this enumration value, it is invalid.
-} EFI_UGA_BLT_OPERATION;
-
-/**
- Blt a rectangle of pixels on the graphics screen.
-
- @param[in] This - Protocol instance pointer.
- @param[in] BltBuffer - Buffer containing data to blit into video buffer. This
- buffer has a size of Width*Height*sizeof(EFI_UGA_PIXEL)
- @param[in] BltOperation - Operation to perform on BlitBuffer and video memory
- @param[in] SourceX - X coordinate of source for the BltBuffer.
- @param[in] SourceY - Y coordinate of source for the BltBuffer.
- @param[in] DestinationX - X coordinate of destination for the BltBuffer.
- @param[in] DestinationY - Y coordinate of destination for the BltBuffer.
- @param[in] Width - Width of rectangle in BltBuffer in pixels.
- @param[in] Height - Hight of rectangle in BltBuffer in pixels.
- @param[in] Delta - OPTIONAL
-
- @retval EFI_SUCCESS - The Blt operation completed.
- @retval EFI_INVALID_PARAMETER - BltOperation is not valid.
- @retval EFI_DEVICE_ERROR - A hardware error occurred writting to the video buffer.
-
-**/
-typedef
-EFI_STATUS
-(EFIAPI *EFI_UGA_DRAW_PROTOCOL_BLT)(
- IN EFI_UGA_DRAW_PROTOCOL *This,
- IN EFI_UGA_PIXEL *BltBuffer OPTIONAL,
- IN EFI_UGA_BLT_OPERATION BltOperation,
- IN UINTN SourceX,
- IN UINTN SourceY,
- IN UINTN DestinationX,
- IN UINTN DestinationY,
- IN UINTN Width,
- IN UINTN Height,
- IN UINTN Delta OPTIONAL
- );
-
-///
-/// This protocol provides a basic abstraction to set video modes and
-/// copy pixels to and from the graphics controller's frame buffer.
-///
-struct _EFI_UGA_DRAW_PROTOCOL {
- EFI_UGA_DRAW_PROTOCOL_GET_MODE GetMode;
- EFI_UGA_DRAW_PROTOCOL_SET_MODE SetMode;
- EFI_UGA_DRAW_PROTOCOL_BLT Blt;
-};
-
-extern EFI_GUID gEfiUgaDrawProtocolGuid;
-
-#endif
diff --git a/MdePkg/Include/Protocol/UgaIo.h b/MdePkg/Include/Protocol/UgaIo.h
deleted file mode 100644
index ffc5b3a..0000000
--- a/MdePkg/Include/Protocol/UgaIo.h
+++ /dev/null
@@ -1,189 +0,0 @@
-/** @file
- UGA IO protocol from the EFI 1.10 specification.
-
- Abstraction of a very simple graphics device.
-
- Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
- SPDX-License-Identifier: BSD-2-Clause-Patent
-
-**/
-
-#ifndef __UGA_IO_H__
-#define __UGA_IO_H__
-
-#define EFI_UGA_IO_PROTOCOL_GUID \
- { 0x61a4d49e, 0x6f68, 0x4f1b, { 0xb9, 0x22, 0xa8, 0x6e, 0xed, 0xb, 0x7, 0xa2 } }
-
-typedef struct _EFI_UGA_IO_PROTOCOL EFI_UGA_IO_PROTOCOL;
-
-typedef UINT32 UGA_STATUS;
-
-typedef enum {
- UgaDtParentBus = 1,
- UgaDtGraphicsController,
- UgaDtOutputController,
- UgaDtOutputPort,
- UgaDtOther
-} UGA_DEVICE_TYPE, *PUGA_DEVICE_TYPE;
-
-typedef UINT32 UGA_DEVICE_ID, *PUGA_DEVICE_ID;
-
-typedef struct {
- UGA_DEVICE_TYPE deviceType;
- UGA_DEVICE_ID deviceId;
- UINT32 ui32DeviceContextSize;
- UINT32 ui32SharedContextSize;
-} UGA_DEVICE_DATA, *PUGA_DEVICE_DATA;
-
-typedef struct _UGA_DEVICE {
- VOID *pvDeviceContext;
- VOID *pvSharedContext;
- VOID *pvRunTimeContext;
- struct _UGA_DEVICE *pParentDevice;
- VOID *pvBusIoServices;
- VOID *pvStdIoServices;
- UGA_DEVICE_DATA deviceData;
-} UGA_DEVICE, *PUGA_DEVICE;
-
-typedef enum {
- UgaIoGetVersion = 1,
- UgaIoGetChildDevice,
- UgaIoStartDevice,
- UgaIoStopDevice,
- UgaIoFlushDevice,
- UgaIoResetDevice,
- UgaIoGetDeviceState,
- UgaIoSetDeviceState,
- UgaIoSetPowerState,
- UgaIoGetMemoryConfiguration,
- UgaIoSetVideoMode,
- UgaIoCopyRectangle,
- UgaIoGetEdidSegment,
- UgaIoDeviceChannelOpen,
- UgaIoDeviceChannelClose,
- UgaIoDeviceChannelRead,
- UgaIoDeviceChannelWrite,
- UgaIoGetPersistentDataSize,
- UgaIoGetPersistentData,
- UgaIoSetPersistentData,
- UgaIoGetDevicePropertySize,
- UgaIoGetDeviceProperty,
- UgaIoBtPrivateInterface
-} UGA_IO_REQUEST_CODE, *PUGA_IO_REQUEST_CODE;
-
-typedef struct {
- IN UGA_IO_REQUEST_CODE ioRequestCode;
- IN VOID *pvInBuffer;
- IN UINT64 ui64InBufferSize;
- OUT VOID *pvOutBuffer;
- IN UINT64 ui64OutBufferSize;
- OUT UINT64 ui64BytesReturned;
-} UGA_IO_REQUEST, *PUGA_IO_REQUEST;
-
-/**
- Dynamically allocate storage for a child UGA_DEVICE.
-
- @param[in] This The EFI_UGA_IO_PROTOCOL instance.
- @param[in] ParentDevice ParentDevice specifies a pointer to the parent device of Device.
- @param[in] DeviceData A pointer to UGA_DEVICE_DATA returned from a call to DispatchService()
- with a UGA_DEVICE of Parent and an IoRequest of type UgaIoGetChildDevice.
- @param[in] RunTimeContext Context to associate with Device.
- @param[out] Device The Device returns a dynamically allocated child UGA_DEVICE object
- for ParentDevice. The caller is responsible for deleting Device.
-
-
- @retval EFI_SUCCESS Device was returned.
- @retval EFI_INVALID_PARAMETER One of the arguments was not valid.
- @retval EFI_DEVICE_ERROR The device had an error and could not complete the request.
-
-**/
-typedef
-EFI_STATUS
-(EFIAPI *EFI_UGA_IO_PROTOCOL_CREATE_DEVICE)(
- IN EFI_UGA_IO_PROTOCOL *This,
- IN UGA_DEVICE *ParentDevice,
- IN UGA_DEVICE_DATA *DeviceData,
- IN VOID *RunTimeContext,
- OUT UGA_DEVICE **Device
- );
-
-/**
- Delete a dynamically allocated child UGA_DEVICE object that was allocated via CreateDevice().
-
- @param[in] This The EFI_UGA_IO_PROTOCOL instance. Type EFI_UGA_IO_PROTOCOL is
- defined in Section 10.7.
- @param[in] Device The Device points to a UGA_DEVICE object that was dynamically
- allocated via a CreateDevice() call.
-
-
- @retval EFI_SUCCESS Device was returned.
- @retval EFI_INVALID_PARAMETER The Device was not allocated via CreateDevice().
-
-**/
-typedef
-EFI_STATUS
-(EFIAPI *EFI_UGA_IO_PROTOCOL_DELETE_DEVICE)(
- IN EFI_UGA_IO_PROTOCOL *This,
- IN UGA_DEVICE *Device
- );
-
-/**
- This is the main UGA service dispatch routine for all UGA_IO_REQUEST s.
-
- @param pDevice pDevice specifies a pointer to a device object associated with a
- device enumerated by a pIoRequest->ioRequestCode of type
- UgaIoGetChildDevice. The root device for the EFI_UGA_IO_PROTOCOL
- is represented by pDevice being set to NULL.
-
- @param pIoRequest
- pIoRequest points to a caller allocated buffer that contains data
- defined by pIoRequest->ioRequestCode. See Related Definitions for
- a definition of UGA_IO_REQUEST_CODE s and their associated data
- structures.
-
- @return UGA_STATUS
-
-**/
-typedef UGA_STATUS
-(EFIAPI *PUGA_FW_SERVICE_DISPATCH)(
- IN PUGA_DEVICE pDevice,
- IN OUT PUGA_IO_REQUEST pIoRequest
- );
-
-///
-/// Provides a basic abstraction to send I/O requests to the graphics device and any of its children.
-///
-struct _EFI_UGA_IO_PROTOCOL {
- EFI_UGA_IO_PROTOCOL_CREATE_DEVICE CreateDevice;
- EFI_UGA_IO_PROTOCOL_DELETE_DEVICE DeleteDevice;
- PUGA_FW_SERVICE_DISPATCH DispatchService;
-};
-
-extern EFI_GUID gEfiUgaIoProtocolGuid;
-
-//
-// Data structure that is stored in the EFI Configuration Table with the
-// EFI_UGA_IO_PROTOCOL_GUID. The option ROMs listed in this table may have
-// EBC UGA drivers.
-//
-typedef struct {
- UINT32 Version;
- UINT32 HeaderSize;
- UINT32 SizeOfEntries;
- UINT32 NumberOfEntries;
-} EFI_DRIVER_OS_HANDOFF_HEADER;
-
-typedef enum {
- EfiUgaDriverFromPciRom,
- EfiUgaDriverFromSystem,
- EfiDriverHandoffMax
-} EFI_DRIVER_HANOFF_ENUM;
-
-typedef struct {
- EFI_DRIVER_HANOFF_ENUM Type;
- EFI_DEVICE_PATH_PROTOCOL *DevicePath;
- VOID *PciRomImage;
- UINT64 PciRomSize;
-} EFI_DRIVER_OS_HANDOFF;
-
-#endif