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 60