]> git.proxmox.com Git - mirror_edk2.git/blobdiff - IntelFrameworkModulePkg/Bus/Pci/VgaMiniPortDxe/VgaMiniPort.c
Remove IntelFrameworkModulePkg
[mirror_edk2.git] / IntelFrameworkModulePkg / Bus / Pci / VgaMiniPortDxe / VgaMiniPort.c
diff --git a/IntelFrameworkModulePkg/Bus/Pci/VgaMiniPortDxe/VgaMiniPort.c b/IntelFrameworkModulePkg/Bus/Pci/VgaMiniPortDxe/VgaMiniPort.c
deleted file mode 100644 (file)
index e9ab494..0000000
+++ /dev/null
@@ -1,325 +0,0 @@
-/** @file\r
-  Implements EFI Driver Binding Protocol and VGA Mini Port Protocol for VGA Mini Port Driver.\r
-\r
-Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
-SPDX-License-Identifier: BSD-2-Clause-Patent\r
-\r
-**/\r
-\r
-#include "VgaMiniPort.h"\r
-\r
-//\r
-// EFI Driver Binding Protocol Instance\r
-//\r
-//   This driver has a version value of 0x00000000.  This is the\r
-//   lowest possible priority for a driver.  This is done on purpose to help\r
-//   the developers of UGA drivers.  This driver can bind if no UGA driver\r
-//   is present, so a console is available.  Then, when a UGA driver is loaded\r
-//   this driver can be disconnected, and the UGA driver can be connected.\r
-//   As long as the UGA driver has a version value greater than 0x00000000, it\r
-//   will be connected first and will block this driver from connecting.\r
-//\r
-EFI_DRIVER_BINDING_PROTOCOL gPciVgaMiniPortDriverBinding = {\r
-  PciVgaMiniPortDriverBindingSupported,\r
-  PciVgaMiniPortDriverBindingStart,\r
-  PciVgaMiniPortDriverBindingStop,\r
-  0x00000000,\r
-  NULL,\r
-  NULL\r
-};\r
-\r
-/**\r
-  Entrypoint of VGA Mini Port Driver.\r
-\r
-  This function is the entrypoint of UVGA Mini Port Driver. It installs Driver Binding\r
-  Protocols together with Component Name Protocols.\r
-\r
-  @param  ImageHandle       The firmware allocated handle for the EFI image.\r
-  @param  SystemTable       A pointer to the EFI System Table.\r
-\r
-  @retval EFI_SUCCESS       The entry point is executed successfully.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-PciVgaMiniPortDriverEntryPoint (\r
-  IN EFI_HANDLE         ImageHandle,\r
-  IN EFI_SYSTEM_TABLE   *SystemTable\r
-  )\r
-{\r
-  EFI_STATUS              Status;\r
-\r
-  Status = EfiLibInstallDriverBindingComponentName2 (\r
-             ImageHandle,\r
-             SystemTable,\r
-             &gPciVgaMiniPortDriverBinding,\r
-             ImageHandle,\r
-             &gPciVgaMiniPortComponentName,\r
-             &gPciVgaMiniPortComponentName2\r
-             );\r
-  ASSERT_EFI_ERROR (Status);\r
-\r
-  return EFI_SUCCESS;\r
-}\r
-\r
-\r
-/**\r
-  Check whether VGA Mini Port driver supports this device.\r
-\r
-  @param  This                   The driver binding protocol.\r
-  @param  Controller             The controller handle to check.\r
-  @param  RemainingDevicePath    The remaining device path.\r
-\r
-  @retval EFI_SUCCESS            The driver supports this controller.\r
-  @retval EFI_UNSUPPORTED        This device isn't supported.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-PciVgaMiniPortDriverBindingSupported (\r
-  IN EFI_DRIVER_BINDING_PROTOCOL  *This,\r
-  IN EFI_HANDLE                   Controller,\r
-  IN EFI_DEVICE_PATH_PROTOCOL     *RemainingDevicePath\r
-  )\r
-{\r
-  EFI_STATUS          Status;\r
-  EFI_PCI_IO_PROTOCOL *PciIo;\r
-  PCI_TYPE00          Pci;\r
-\r
-  //\r
-  // Open the IO Abstraction(s) needed to perform the supported test\r
-  //\r
-  Status = gBS->OpenProtocol (\r
-                  Controller,\r
-                  &gEfiPciIoProtocolGuid,\r
-                  (VOID **) &PciIo,\r
-                  This->DriverBindingHandle,\r
-                  Controller,\r
-                  EFI_OPEN_PROTOCOL_BY_DRIVER\r
-                  );\r
-  if (EFI_ERROR (Status)) {\r
-    return Status;\r
-  }\r
-  //\r
-  // See if this is a PCI VGA Controller by looking at the Command register and\r
-  // Class Code Register\r
-  //\r
-  Status = PciIo->Pci.Read (\r
-                        PciIo,\r
-                        EfiPciIoWidthUint32,\r
-                        0,\r
-                        sizeof (Pci) / sizeof (UINT32),\r
-                        &Pci\r
-                        );\r
-  if (EFI_ERROR (Status)) {\r
-    goto Done;\r
-  }\r
-\r
-  Status = EFI_UNSUPPORTED;\r
-  //\r
-  // See if the device is an enabled VGA device.\r
-  // Most systems can only have on VGA device on at a time.\r
-  //\r
-  if (((Pci.Hdr.Command & 0x03) == 0x03) && IS_PCI_VGA (&Pci)) {\r
-    Status = EFI_SUCCESS;\r
-  }\r
-\r
-Done:\r
-  gBS->CloseProtocol (\r
-         Controller,\r
-         &gEfiPciIoProtocolGuid,\r
-         This->DriverBindingHandle,\r
-         Controller\r
-         );\r
-\r
-  return Status;\r
-}\r
-\r
-\r
-/**\r
-  Starts the VGA device with this driver.\r
-\r
-  This function consumes PCI I/O Protocol, and installs VGA Mini Port Protocol\r
-  onto the VGA device handle.\r
-\r
-  @param  This                   The driver binding instance.\r
-  @param  Controller             The controller to check.\r
-  @param  RemainingDevicePath    The remaining device patch.\r
-\r
-  @retval EFI_SUCCESS            The controller is controlled by the driver.\r
-  @retval EFI_ALREADY_STARTED    The controller is already controlled by the driver.\r
-  @retval EFI_OUT_OF_RESOURCES   Failed to allocate resources.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-PciVgaMiniPortDriverBindingStart (\r
-  IN EFI_DRIVER_BINDING_PROTOCOL  *This,\r
-  IN EFI_HANDLE                   Controller,\r
-  IN EFI_DEVICE_PATH_PROTOCOL     *RemainingDevicePath\r
-  )\r
-{\r
-  EFI_STATUS            Status;\r
-  EFI_PCI_IO_PROTOCOL   *PciIo;\r
-  PCI_VGA_MINI_PORT_DEV *PciVgaMiniPortPrivate;\r
-\r
-  PciVgaMiniPortPrivate = NULL;\r
-  PciIo                 = NULL;\r
-  //\r
-  // Open the IO Abstraction(s) needed\r
-  //\r
-  Status = gBS->OpenProtocol (\r
-                  Controller,\r
-                  &gEfiPciIoProtocolGuid,\r
-                  (VOID **) &PciIo,\r
-                  This->DriverBindingHandle,\r
-                  Controller,\r
-                  EFI_OPEN_PROTOCOL_BY_DRIVER\r
-                  );\r
-  if (EFI_ERROR (Status)) {\r
-    goto Done;\r
-  }\r
-  //\r
-  // Allocate the private device structure\r
-  //\r
-  PciVgaMiniPortPrivate = AllocateZeroPool (sizeof (PCI_VGA_MINI_PORT_DEV));\r
-  ASSERT (PciVgaMiniPortPrivate != NULL);\r
-\r
-  //\r
-  // Initialize the private device structure\r
-  //\r
-  PciVgaMiniPortPrivate->Signature = PCI_VGA_MINI_PORT_DEV_SIGNATURE;\r
-  PciVgaMiniPortPrivate->Handle = Controller;\r
-  PciVgaMiniPortPrivate->PciIo = PciIo;\r
-\r
-  PciVgaMiniPortPrivate->VgaMiniPort.SetMode = PciVgaMiniPortSetMode;\r
-  PciVgaMiniPortPrivate->VgaMiniPort.VgaMemoryOffset = 0xb8000;\r
-  PciVgaMiniPortPrivate->VgaMiniPort.CrtcAddressRegisterOffset = 0x3d4;\r
-  PciVgaMiniPortPrivate->VgaMiniPort.CrtcDataRegisterOffset = 0x3d5;\r
-  PciVgaMiniPortPrivate->VgaMiniPort.VgaMemoryBar = EFI_PCI_IO_PASS_THROUGH_BAR;\r
-  PciVgaMiniPortPrivate->VgaMiniPort.CrtcAddressRegisterBar = EFI_PCI_IO_PASS_THROUGH_BAR;\r
-  PciVgaMiniPortPrivate->VgaMiniPort.CrtcDataRegisterBar = EFI_PCI_IO_PASS_THROUGH_BAR;\r
-  PciVgaMiniPortPrivate->VgaMiniPort.MaxMode = 1;\r
-\r
-  //\r
-  // Install VGA Mini Port Protocol\r
-  //\r
-  Status = gBS->InstallMultipleProtocolInterfaces (\r
-                  &Controller,\r
-                  &gEfiVgaMiniPortProtocolGuid,\r
-                  &PciVgaMiniPortPrivate->VgaMiniPort,\r
-                  NULL\r
-                  );\r
-Done:\r
-  if (EFI_ERROR (Status)) {\r
-    gBS->CloseProtocol (\r
-           Controller,\r
-           &gEfiPciIoProtocolGuid,\r
-           This->DriverBindingHandle,\r
-           Controller\r
-           );\r
-    if (PciVgaMiniPortPrivate != NULL) {\r
-      FreePool (PciVgaMiniPortPrivate);\r
-    }\r
-  }\r
-\r
-  return Status;\r
-}\r
-\r
-\r
-/**\r
-  Stop the VGA device with this driver.\r
-\r
-  This function uninstalls VGA Mini Port Protocol from the VGA device handle,\r
-  and closes PCI I/O Protocol.\r
-\r
-  @param  This                   The driver binding protocol.\r
-  @param  Controller             The controller to release.\r
-  @param  NumberOfChildren       The child number that opened controller\r
-                                 BY_CHILD.\r
-  @param  ChildHandleBuffer      The array of child handle.\r
-\r
-  @retval EFI_SUCCESS            The controller or children are stopped.\r
-  @retval EFI_DEVICE_ERROR       Failed to stop the driver.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-PciVgaMiniPortDriverBindingStop (\r
-  IN  EFI_DRIVER_BINDING_PROTOCOL     *This,\r
-  IN  EFI_HANDLE                      Controller,\r
-  IN  UINTN                           NumberOfChildren,\r
-  IN  EFI_HANDLE                      *ChildHandleBuffer\r
-  )\r
-{\r
-  EFI_STATUS                  Status;\r
-  EFI_VGA_MINI_PORT_PROTOCOL  *VgaMiniPort;\r
-  PCI_VGA_MINI_PORT_DEV       *PciVgaMiniPortPrivate;\r
-\r
-  Status = gBS->OpenProtocol (\r
-                  Controller,\r
-                  &gEfiVgaMiniPortProtocolGuid,\r
-                  (VOID **) &VgaMiniPort,\r
-                  This->DriverBindingHandle,\r
-                  Controller,\r
-                  EFI_OPEN_PROTOCOL_GET_PROTOCOL\r
-                  );\r
-  if (EFI_ERROR (Status)) {\r
-    return Status;\r
-  }\r
-\r
-  PciVgaMiniPortPrivate = PCI_VGA_MINI_PORT_DEV_FROM_THIS (VgaMiniPort);\r
-\r
-  Status = gBS->UninstallProtocolInterface (\r
-                  Controller,\r
-                  &gEfiVgaMiniPortProtocolGuid,\r
-                  &PciVgaMiniPortPrivate->VgaMiniPort\r
-                  );\r
-  if (EFI_ERROR (Status)) {\r
-    return Status;\r
-  }\r
-\r
-  gBS->CloseProtocol (\r
-         Controller,\r
-         &gEfiPciIoProtocolGuid,\r
-         This->DriverBindingHandle,\r
-         Controller\r
-         );\r
-\r
-  FreePool (PciVgaMiniPortPrivate);\r
-\r
-  return EFI_SUCCESS;\r
-}\r
-//\r
-// VGA Mini Port Protocol Functions\r
-//\r
-\r
-/**\r
-  Sets the text display mode of a VGA controller.\r
-\r
-  This function implements EFI_VGA_MINI_PORT_PROTOCOL.SetMode().\r
-  If ModeNumber exceeds the valid range, then EFI_UNSUPPORTED is returned.\r
-  Otherwise, EFI_SUCCESS is directly returned without real operation.\r
-\r
-  @param This                 Protocol instance pointer.\r
-  @param ModeNumber           Mode number.  0 - 80x25   1-80x50\r
-\r
-  @retval EFI_SUCCESS         The mode was set\r
-  @retval EFI_UNSUPPORTED     ModeNumber is not supported.\r
-  @retval EFI_DEVICE_ERROR    The device is not functioning properly.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-PciVgaMiniPortSetMode (\r
-  IN  EFI_VGA_MINI_PORT_PROTOCOL  *This,\r
-  IN  UINTN                       ModeNumber\r
-  )\r
-{\r
-  if (ModeNumber > This->MaxMode) {\r
-    return EFI_UNSUPPORTED;\r
-  }\r
-\r
-  return EFI_SUCCESS;\r
-}\r
-\r