summaryrefslogtreecommitdiff
path: root/MdePkg
diff options
context:
space:
mode:
Diffstat (limited to 'MdePkg')
-rw-r--r--MdePkg/Include/Guid/GraphicsInfoHob.h36
-rw-r--r--MdePkg/Include/Ppi/Graphics.h85
-rw-r--r--MdePkg/MdePkg.dec13
3 files changed, 134 insertions, 0 deletions
diff --git a/MdePkg/Include/Guid/GraphicsInfoHob.h b/MdePkg/Include/Guid/GraphicsInfoHob.h
new file mode 100644
index 0000000..3bcead0
--- /dev/null
+++ b/MdePkg/Include/Guid/GraphicsInfoHob.h
@@ -0,0 +1,36 @@
+/** @file
+ Hob guid for Information about the graphics mode.
+
+ Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>
+ This program and the accompanying materials
+ are licensed and made available under the terms and conditions of the BSD License
+ which accompanies this distribution. The full text of the license may be found at
+ http://opensource.org/licenses/bsd-license.php
+
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
+ @par Revision Reference:
+ This HOB is introduced in in PI Version 1.4.
+
+**/
+
+#ifndef _GRAPHICS_INFO_HOB_GUID_H_
+#define _GRAPHICS_INFO_HOB_GUID_H_
+
+#include <Protocol/GraphicsOutput.h>
+
+#define EFI_PEI_GRAPHICS_INFO_HOB_GUID \
+ { \
+ 0x39f62cce, 0x6825, 0x4669, { 0xbb, 0x56, 0x54, 0x1a, 0xba, 0x75, 0x3a, 0x07 } \
+ }
+
+typedef struct {
+ EFI_PHYSICAL_ADDRESS FrameBufferBase;
+ UINT32 FrameBufferSize;
+ EFI_GRAPHICS_OUTPUT_MODE_INFORMATION GraphicsMode;
+} EFI_PEI_GRAPHICS_INFO_HOB;
+
+extern EFI_GUID gEfiGraphicsInfoHobGuid;
+
+#endif
diff --git a/MdePkg/Include/Ppi/Graphics.h b/MdePkg/Include/Ppi/Graphics.h
new file mode 100644
index 0000000..5181892
--- /dev/null
+++ b/MdePkg/Include/Ppi/Graphics.h
@@ -0,0 +1,85 @@
+/** @file
+ This file declares Graphics PPI.
+ This PPI is the main interface exposed by the Graphics PEIM to be used by the
+ other firmware modules.
+
+ Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>
+ This program and the accompanying materials
+ are licensed and made available under the terms and conditions of the BSD License
+ which accompanies this distribution. The full text of the license may be found at
+ http://opensource.org/licenses/bsd-license.php
+
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
+ @par Revision Reference:
+ This PPI is introduced in PI Version 1.4.
+
+**/
+
+#ifndef __PEI_GRAPHICS_PPI_H__
+#define __PEI_GRAPHICS_PPI_H__
+
+#include <Protocol/GraphicsOutput.h>
+
+#define EFI_PEI_GRAPHICS_PPI_GUID \
+ { \
+ 0x6ecd1463, 0x4a4a, 0x461b, { 0xaf, 0x5f, 0x5a, 0x33, 0xe3, 0xb2, 0x16, 0x2b } \
+ }
+
+typedef struct _EFI_PEI_GRAPHICS_PPI EFI_PEI_GRAPHICS_PPI;
+
+/**
+ The GraphicsPpiInit initializes the graphics subsystem in phases.
+
+ @param[in] GraphicsPolicyPtr GraphicsPolicyPtr points to a configuration data
+ block of policy settings required by Graphics PEIM.
+
+ @retval EFI_SUCCESS The invocation was successful.
+ @retval EFI_INVALID_PARAMETER The phase parameter is not valid.
+ @retval EFI_NOT_ABORTED The stages was not called in the proper order.
+ @retval EFI_NOT_FOUND The PeiGraphicsPlatformPolicyPpi is not located.
+ @retval EFI_DEVICE_ERROR The initialization failed due to device error.
+ @retval EFI_NOT_READY The previous init stage is still in progress and not
+ ready for the current initialization phase yet. The
+ platform code should call this again sometime later.
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_PEI_GRAPHICS_INIT) (
+ IN VOID *GraphicsPolicyPtr
+ );
+
+/**
+ The GraphicsPpiGetMode returns the mode information supported by the Graphics PEI
+ Module.
+
+ @param[in, out] Mode Pointer to EFI_GRAPHICS_OUTPUT_PROTOCOL_MODE data.
+
+ @retval EFI_SUCCESS Valid mode information was returned.
+ @retval EFI_INVALID_PARAMETER The Mode parameter is not valid.
+ @retval EFI_DEVICE_ERROR A hardware error occurred trying to retrieve the video
+ mode.
+ @retval EFI_NOT_READY The Graphics Initialization is not competed and Mode
+ information is not yet available.The platform code
+ should call this again after the Graphics
+ initialization is done.
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_PEI_GRAPHICS_GET_MODE) (
+ IN OUT EFI_GRAPHICS_OUTPUT_PROTOCOL_MODE *Mode
+ );
+
+///
+/// This PPI is the main interface exposed by the Graphics PEIM to be used by the other
+/// firmware modules.
+///
+struct _EFI_PEI_GRAPHICS_PPI {
+ EFI_PEI_GRAPHICS_INIT GraphicsPpiInit;
+ EFI_PEI_GRAPHICS_GET_MODE GraphicsPpiGetMode;
+};
+
+extern EFI_GUID gEfiPeiGraphicsPpiGuid;
+
+#endif
diff --git a/MdePkg/MdePkg.dec b/MdePkg/MdePkg.dec
index 494dfba..b0ecdfe 100644
--- a/MdePkg/MdePkg.dec
+++ b/MdePkg/MdePkg.dec
@@ -645,6 +645,12 @@
## Guid for EFI_DISK_INFO_PROTOCOL.Interface to specify Nvme interface.
## Include/Protocol/DiskInfo.h
gEfiDiskInfoNvmeInterfaceGuid = { 0x3ab14680, 0x5d3f, 0x4a4d, { 0xbc, 0xdc, 0xcc, 0x38, 0x0, 0x18, 0xc7, 0xf7 }}
+
+ #
+ # GUID defined in PI1.4
+ #
+ ## Include/Guid/GraphicsInfoHob.h
+ gEfiGraphicsInfoHobGuid = { 0x39f62cce, 0x6825, 0x4669, { 0xbb, 0x56, 0x54, 0x1a, 0xba, 0x75, 0x3a, 0x07 }}
[Guids.IA32, Guids.X64]
## Include/Guid/Cper.h
@@ -768,6 +774,13 @@
## Include/Ppi/FirmwareVolumeInfo2.h
gEfiPeiFirmwareVolumeInfo2PpiGuid = { 0xea7ca24b, 0xded5, 0x4dad, { 0xa3, 0x89, 0xbf, 0x82, 0x7e, 0x8f, 0x9b, 0x38 } }
+ #
+ # PPIs defined in PI 1.4.
+ #
+
+ ## Include/Ppi/Graphics.h
+ gEfiPeiGraphicsPpiGuid = { 0x6ecd1463, 0x4a4a, 0x461b, { 0xaf, 0x5f, 0x5a, 0x33, 0xe3, 0xb2, 0x16, 0x2b } }
+
[Protocols]