]> git.proxmox.com Git - mirror_edk2.git/blob - MdeModulePkg/Universal/Console/GraphicsOutputDxe/GraphicsOutput.h
MdeModulePkg/EbcDxe: add EBC Debugger configuration application
[mirror_edk2.git] / MdeModulePkg / Universal / Console / 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 This program and the accompanying materials
6 are licensed and made available under the terms and conditions of the BSD License
7 which accompanies this distribution. The full text of the license may be found at
8 http://opensource.org/licenses/bsd-license.php
9
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12
13
14 **/
15 #ifndef _GRAPHICS_OUTPUT_DXE_H_
16 #define _GRAPHICS_OUTPUT_DXE_H_
17 #include <PiDxe.h>
18
19 #include <IndustryStandard/Pci.h>
20 #include <IndustryStandard/Acpi.h>
21 #include <Guid/GraphicsInfoHob.h>
22 #include <Protocol/DriverBinding.h>
23 #include <Protocol/PciIo.h>
24 #include <Protocol/DevicePath.h>
25 #include <Protocol/GraphicsOutput.h>
26 #include <Protocol/ComponentName.h>
27 #include <Protocol/ComponentName2.h>
28
29 #include <Library/BaseLib.h>
30 #include <Library/UefiBootServicesTableLib.h>
31 #include <Library/HobLib.h>
32 #include <Library/DevicePathLib.h>
33 #include <Library/FrameBufferBltLib.h>
34 #include <Library/DebugLib.h>
35 #include <Library/BaseMemoryLib.h>
36 #include <Library/MemoryAllocationLib.h>
37 #include <Library/UefiLib.h>
38
39 #define MAX_PCI_BAR 6
40
41 typedef struct {
42 UINT32 Signature;
43 EFI_HANDLE GraphicsOutputHandle;
44 EFI_GRAPHICS_OUTPUT_PROTOCOL GraphicsOutput;
45 EFI_GRAPHICS_OUTPUT_PROTOCOL_MODE GraphicsOutputMode;
46 EFI_DEVICE_PATH_PROTOCOL *DevicePath;
47 EFI_PCI_IO_PROTOCOL *PciIo;
48 UINT64 PciAttributes;
49 FRAME_BUFFER_CONFIGURE *FrameBufferBltLibConfigure;
50 UINTN FrameBufferBltLibConfigureSize;
51 } GRAPHICS_OUTPUT_PRIVATE_DATA;
52
53 #define GRAPHICS_OUTPUT_PRIVATE_DATA_SIGNATURE SIGNATURE_32 ('g', 'g', 'o', 'p')
54 #define GRAPHICS_OUTPUT_PRIVATE_FROM_THIS(a) \
55 CR(a, GRAPHICS_OUTPUT_PRIVATE_DATA, GraphicsOutput, GRAPHICS_OUTPUT_PRIVATE_DATA_SIGNATURE)
56
57 extern EFI_COMPONENT_NAME_PROTOCOL mGraphicsOutputComponentName;
58 extern EFI_COMPONENT_NAME2_PROTOCOL mGraphicsOutputComponentName2;
59 #endif