1 /** @file 2 This file declares Graphics PPI. 3 This PPI is the main interface exposed by the Graphics PEIM to be used by the 4 other firmware modules. 5 6 Copyright (c) 2015, Intel Corporation. All rights reserved.<BR> 7 This program and the accompanying materials 8 are licensed and made available under the terms and conditions of the BSD License 9 which accompanies this distribution. The full text of the license may be found at 10 http://opensource.org/licenses/bsd-license.php 11 12 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 13 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 14 15 @par Revision Reference: 16 This PPI is introduced in PI Version 1.4. 17 18 **/ 19 20 #ifndef __PEI_GRAPHICS_PPI_H__ 21 #define __PEI_GRAPHICS_PPI_H__ 22 23 #include <Protocol/GraphicsOutput.h> 24 25 #define EFI_PEI_GRAPHICS_PPI_GUID \ 26 { \ 27 0x6ecd1463, 0x4a4a, 0x461b, { 0xaf, 0x5f, 0x5a, 0x33, 0xe3, 0xb2, 0x16, 0x2b } \ 28 } 29 30 typedef struct _EFI_PEI_GRAPHICS_PPI EFI_PEI_GRAPHICS_PPI; 31 32 /** 33 The GraphicsPpiInit initializes the graphics subsystem in phases. 34 35 @param[in] GraphicsPolicyPtr GraphicsPolicyPtr points to a configuration data 36 block of policy settings required by Graphics PEIM. 37 38 @retval EFI_SUCCESS The invocation was successful. 39 @retval EFI_INVALID_PARAMETER The phase parameter is not valid. 40 @retval EFI_NOT_ABORTED The stages was not called in the proper order. 41 @retval EFI_NOT_FOUND The PeiGraphicsPlatformPolicyPpi is not located. 42 @retval EFI_DEVICE_ERROR The initialization failed due to device error. 43 @retval EFI_NOT_READY The previous init stage is still in progress and not 44 ready for the current initialization phase yet. The 45 platform code should call this again sometime later. 46 **/ 47 typedef 48 EFI_STATUS 49 (EFIAPI *EFI_PEI_GRAPHICS_INIT) ( 50 IN VOID *GraphicsPolicyPtr 51 ); 52 53 /** 54 The GraphicsPpiGetMode returns the mode information supported by the Graphics PEI 55 Module. 56 57 @param[in, out] Mode Pointer to EFI_GRAPHICS_OUTPUT_PROTOCOL_MODE data. 58 59 @retval EFI_SUCCESS Valid mode information was returned. 60 @retval EFI_INVALID_PARAMETER The Mode parameter is not valid. 61 @retval EFI_DEVICE_ERROR A hardware error occurred trying to retrieve the video 62 mode. 63 @retval EFI_NOT_READY The Graphics Initialization is not competed and Mode 64 information is not yet available.The platform code 65 should call this again after the Graphics 66 initialization is done. 67 **/ 68 typedef 69 EFI_STATUS 70 (EFIAPI *EFI_PEI_GRAPHICS_GET_MODE) ( 71 IN OUT EFI_GRAPHICS_OUTPUT_PROTOCOL_MODE *Mode 72 ); 73 74 /// 75 /// This PPI is the main interface exposed by the Graphics PEIM to be used by the other 76 /// firmware modules. 77 /// 78 struct _EFI_PEI_GRAPHICS_PPI { 79 EFI_PEI_GRAPHICS_INIT GraphicsPpiInit; 80 EFI_PEI_GRAPHICS_GET_MODE GraphicsPpiGetMode; 81 }; 82 83 extern EFI_GUID gEfiPeiGraphicsPpiGuid; 84 85 #endif 86