For the subject, what about this?
MdePkg: Add PI 1.4 Graphics HOB and PPI header files

In the PPI header file, I wondered about including a DXE phase
Protocol include file, but I guess it has been done previously.

MdeModulePkg/Include/Ppi/Usb2HostController.h:#include 
<Protocol/Usb2HostController.h>
MdeModulePkg/Include/Ppi/UsbHostController.h:#include 
<Protocol/Usb2HostController.h>
MdeModulePkg/Include/Ppi/UsbIo.h:#include <Protocol/Usb2HostController.h>

On 2015-04-26 19:54:26, Hao Wu wrote:
> The PeiGraphicsPpi is the main interface exposed by the Graphics PEIM to
> be used by the other firmware modules.

It seems like a blank line should have been added here to separate the
paragraphs.

I tried to download the PI 1.4 spec from uefi.org, but the website
link gives a 404 web error. But, the change looks reasonable, and I
assume it matches the spec, so:

Reviewed-by: Jordan Justen <[email protected]>

> 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.
> 
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Hao Wu <[email protected]>
> Reviewed-by: Liming Gao <[email protected]>
> ---
>  MdePkg/Include/Guid/GraphicsInfoHob.h | 36 +++++++++++++++
>  MdePkg/Include/Ppi/Graphics.h         | 85 
> +++++++++++++++++++++++++++++++++++
>  MdePkg/MdePkg.dec                     | 13 ++++++
>  3 files changed, 134 insertions(+)
>  create mode 100644 MdePkg/Include/Guid/GraphicsInfoHob.h
>  create mode 100644 MdePkg/Include/Ppi/Graphics.h
> 
> 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]
> -- 
> 1.9.5.msysgit.0
> 
> 
> 
> ------------------------------------------------------------------------------
> 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-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/edk2-devel

------------------------------------------------------------------------------
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-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to