]> git.proxmox.com Git - mirror_edk2.git/blobdiff - OvmfPkg/QemuVideoDxe/Qemu.h
NetworkPkg: Move Network library header file from MdeModulePkg to NetworkPkg
[mirror_edk2.git] / OvmfPkg / QemuVideoDxe / Qemu.h
index 098ee774e093f6a2a6c310ec127a49c0f543f18a..87c933935f59b6558f8aed006f80c692524b8e9f 100644 (file)
@@ -1,14 +1,8 @@
 /** @file\r
   QEMU Video Controller Driver\r
 \r
-  Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>\r
-  This program and the accompanying materials\r
-  are licensed and made available under the terms and conditions of the BSD License\r
-  which accompanies this distribution.  The full text of the license may be found at\r
-  http://opensource.org/licenses/bsd-license.php\r
-\r
-  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+  Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR>\r
+  SPDX-License-Identifier: BSD-2-Clause-Patent\r
 \r
 **/\r
 \r
 #include <Library/BaseMemoryLib.h>\r
 #include <Library/DevicePathLib.h>\r
 #include <Library/TimerLib.h>\r
+#include <Library/FrameBufferBltLib.h>\r
 \r
 #include <IndustryStandard/Pci.h>\r
+#include <IndustryStandard/Acpi.h>\r
 \r
 //\r
 // QEMU Video PCI Configuration Header values\r
@@ -54,7 +50,6 @@ typedef struct {
   UINT32  HorizontalResolution;\r
   UINT32  VerticalResolution;\r
   UINT32  ColorDepth;\r
-  UINT32  RefreshRate;\r
 } QEMU_VIDEO_MODE_DATA;\r
 \r
 #define PIXEL_RED_SHIFT   0\r
@@ -91,9 +86,11 @@ typedef enum {
   QEMU_VIDEO_CIRRUS_5446,\r
   QEMU_VIDEO_BOCHS,\r
   QEMU_VIDEO_BOCHS_MMIO,\r
+  QEMU_VIDEO_VMWARE_SVGA,\r
 } QEMU_VIDEO_VARIANT;\r
 \r
 typedef struct {\r
+  UINT8                                 SubClass;\r
   UINT16                                VendorId;\r
   UINT16                                DeviceId;\r
   QEMU_VIDEO_VARIANT                    Variant;\r
@@ -109,16 +106,16 @@ typedef struct {
   EFI_DEVICE_PATH_PROTOCOL              *GopDevicePath;\r
 \r
   //\r
-  // The next three fields match the client-visible\r
-  // EFI_GRAPHICS_OUTPUT_PROTOCOL_MODE.Mode and\r
-  // EFI_GRAPHICS_OUTPUT_PROTOCOL_MODE.MaxMode fields.\r
+  // The next two fields match the client-visible\r
+  // EFI_GRAPHICS_OUTPUT_PROTOCOL_MODE.MaxMode field.\r
   //\r
-  UINTN                                 CurrentMode;\r
   UINTN                                 MaxMode;\r
   QEMU_VIDEO_MODE_DATA                  *ModeData;\r
 \r
-  UINT8                                 *LineBuffer;\r
   QEMU_VIDEO_VARIANT                    Variant;\r
+  FRAME_BUFFER_CONFIGURE                *FrameBufferBltConfigure;\r
+  UINTN                                 FrameBufferBltConfigureSize;\r
+  UINT8                                 FrameBufferVramBarIndex;\r
 } QEMU_VIDEO_PRIVATE_DATA;\r
 \r
 ///\r
@@ -128,7 +125,6 @@ typedef struct {
   UINT32  Width;\r
   UINT32  Height;\r
   UINT32  ColorDepth;\r
-  UINT32  RefreshRate;\r
   UINT8   *CrtcSettings;\r
   UINT16  *SeqSettings;\r
   UINT8   MiscSetting;\r
@@ -160,7 +156,6 @@ extern QEMU_VIDEO_BOCHS_MODES                     QemuVideoBochsModes[];
 extern EFI_DRIVER_BINDING_PROTOCOL                gQemuVideoDriverBinding;\r
 extern EFI_COMPONENT_NAME_PROTOCOL                gQemuVideoComponentName;\r
 extern EFI_COMPONENT_NAME2_PROTOCOL               gQemuVideoComponentName2;\r
-extern EFI_DRIVER_SUPPORTED_EFI_VERSION_PROTOCOL  gQemuVideoDriverSupportedEfiVersion;\r
 \r
 //\r
 // Io Registers defined by VGA\r
@@ -499,7 +494,13 @@ QemuVideoCirrusModeSetup (
 \r
 EFI_STATUS\r
 QemuVideoBochsModeSetup (\r
-  QEMU_VIDEO_PRIVATE_DATA  *Private\r
+  QEMU_VIDEO_PRIVATE_DATA  *Private,\r
+  BOOLEAN                  IsQxl\r
   );\r
 \r
+VOID\r
+InstallVbeShim (\r
+  IN CONST CHAR16         *CardName,\r
+  IN EFI_PHYSICAL_ADDRESS FrameBufferBase\r
+  );\r
 #endif\r