Revision: 17237
          http://sourceforge.net/p/edk2/code/17237
Author:   hwu1225
Date:     2015-04-28 08:06:51 +0000 (Tue, 28 Apr 2015)
Log Message:
-----------
MdePkg: Add PI 1.4 Graphics HOB and PPI header files

The PeiGraphicsPpi is the main interface exposed by the Graphics PEIM to
be used by the other firmware modules.

When graphics capability is included in PEI, it produces a
EFI_PEI_GRAPHICS_INFO_HOB which provides information about the graphics
mode and the framebuffer.

(Sync patch r17233 from main trunk.)

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hao Wu <[email protected]>
Reviewed-by: Liming Gao <[email protected]>
Reviewed-by: Jordan Justen <[email protected]>

Revision Links:
--------------
    http://sourceforge.net/p/edk2/code/17233

Modified Paths:
--------------
    branches/UDK2014.SP1/MdePkg/MdePkg.dec

Added Paths:
-----------
    branches/UDK2014.SP1/MdePkg/Include/Guid/GraphicsInfoHob.h
    branches/UDK2014.SP1/MdePkg/Include/Ppi/Graphics.h

Added: branches/UDK2014.SP1/MdePkg/Include/Guid/GraphicsInfoHob.h
===================================================================
--- branches/UDK2014.SP1/MdePkg/Include/Guid/GraphicsInfoHob.h                  
        (rev 0)
+++ branches/UDK2014.SP1/MdePkg/Include/Guid/GraphicsInfoHob.h  2015-04-28 
08:06:51 UTC (rev 17237)
@@ -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

Added: branches/UDK2014.SP1/MdePkg/Include/Ppi/Graphics.h
===================================================================
--- branches/UDK2014.SP1/MdePkg/Include/Ppi/Graphics.h                          
(rev 0)
+++ branches/UDK2014.SP1/MdePkg/Include/Ppi/Graphics.h  2015-04-28 08:06:51 UTC 
(rev 17237)
@@ -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

Modified: branches/UDK2014.SP1/MdePkg/MdePkg.dec
===================================================================
--- branches/UDK2014.SP1/MdePkg/MdePkg.dec      2015-04-28 07:34:02 UTC (rev 
17236)
+++ branches/UDK2014.SP1/MdePkg/MdePkg.dec      2015-04-28 08:06:51 UTC (rev 
17237)
@@ -634,6 +634,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
@@ -757,8 +763,15 @@
   ## 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]
   ## Include/Protocol/Pcd.h
   gPcdProtocolGuid               = { 0x11B34006, 0xD85B, 0x4D0A, { 0xA2, 0x90, 
0xD5, 0xA5, 0x71, 0x31, 0x0E, 0xF7 }}


------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud 
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
_______________________________________________
edk2-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-commits

Reply via email to