UefiPayloadPkg: Enhance UEFI payload for coreboot and Slim Bootloader
[mirror_edk2.git] / UefiPayloadPkg / GraphicsOutputDxe / GraphicsOutput.h
1 /** @file
2 Header file for a generic GOP driver.
3
4 Copyright (c) 2016, Intel Corporation. All rights reserved.<BR>
5 SPDX-License-Identifier: BSD-2-Clause-Patent
6
7
8 **/
9 #ifndef _GRAPHICS_OUTPUT_DXE_H_
10 #define _GRAPHICS_OUTPUT_DXE_H_
11 #include <PiDxe.h>
12
13 #include <IndustryStandard/Pci.h>
14 #include <IndustryStandard/Acpi.h>
15 #include <Guid/GraphicsInfoHob.h>
16 #include <Protocol/DriverBinding.h>
17 #include <Protocol/PciIo.h>
18 #include <Protocol/DevicePath.h>
19 #include <Protocol/GraphicsOutput.h>
20 #include <Protocol/ComponentName.h>
21 #include <Protocol/ComponentName2.h>
22
23 #include <Library/BaseLib.h>
24 #include <Library/UefiBootServicesTableLib.h>
25 #include <Library/HobLib.h>
26 #include <Library/DevicePathLib.h>
27 #include <Library/FrameBufferBltLib.h>
28 #include <Library/DebugLib.h>
29 #include <Library/BaseMemoryLib.h>
30 #include <Library/MemoryAllocationLib.h>
31 #include <Library/UefiLib.h>
32
33 #define MAX_PCI_BAR 6
34
35 typedef struct {
36 UINT32 Signature;
37 EFI_HANDLE GraphicsOutputHandle;
38 EFI_GRAPHICS_OUTPUT_PROTOCOL GraphicsOutput;
39 EFI_GRAPHICS_OUTPUT_PROTOCOL_MODE GraphicsOutputMode;
40 EFI_DEVICE_PATH_PROTOCOL *DevicePath;
41 EFI_PCI_IO_PROTOCOL *PciIo;
42 UINT64 PciAttributes;
43 FRAME_BUFFER_CONFIGURE *FrameBufferBltLibConfigure;
44 UINTN FrameBufferBltLibConfigureSize;
45 } GRAPHICS_OUTPUT_PRIVATE_DATA;
46
47 #define GRAPHICS_OUTPUT_PRIVATE_DATA_SIGNATURE SIGNATURE_32 ('g', 'g', 'o', 'p')
48 #define GRAPHICS_OUTPUT_PRIVATE_FROM_THIS(a) \
49 CR(a, GRAPHICS_OUTPUT_PRIVATE_DATA, GraphicsOutput, GRAPHICS_OUTPUT_PRIVATE_DATA_SIGNATURE)
50
51 extern EFI_COMPONENT_NAME_PROTOCOL mGraphicsOutputComponentName;
52 extern EFI_COMPONENT_NAME2_PROTOCOL mGraphicsOutputComponentName2;
53 #endif