]> git.proxmox.com Git - mirror_edk2.git/blob - MdePkg/Include/Ppi/Graphics.h
MdePkg/ProcessorBind: add defines for page allocation granularity
[mirror_edk2.git] / MdePkg / Include / Ppi / Graphics.h
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