-#/** @file\r
-# Component description file for ConSplitter module.\r
+## @file\r
+# This driver provides multi console supports.\r
#\r
-# Any Handle that attatched EFI_CONSOLE_IDENTIFIER_PROTOCOL can be bound by this driver.\r
-# Copyright (c) 2006 - 2007, Intel Corporation\r
+# This driver acts as a virtual console, takes over the console I/O control from selected\r
+# standard console devices, and transmits console I/O to related console device drivers.\r
+# Consplitter could install Graphics Output protocol and/or UGA Draw protocol in system\r
+# table according PCD settings(PcdConOutGopSupport, and PcdConOutUgaSupport). It always\r
+# consumes Graphics Output protocol which is produced by display device, and consumes UGA Draw\r
+# protocol which is produced by display device according to PcdUgaConsumeSupport value.\r
+# Note: If only UGA Draw protocol is installed in system, PcdUgaConsumeSupport should be\r
+# set to TRUE.\r
#\r
-# All rights reserved. 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
-# 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 - 2018, Intel Corporation. All rights reserved.<BR>\r
#\r
+# SPDX-License-Identifier: BSD-2-Clause-Patent\r
#\r
-#**/\r
-\r
-################################################################################\r
-#\r
-# Defines Section - statements that will be processed to create a Makefile.\r
#\r
-################################################################################\r
+##\r
+\r
[Defines]\r
INF_VERSION = 0x00010005\r
BASE_NAME = ConSplitterDxe\r
+ MODULE_UNI_FILE = ConSplitterDxe.uni\r
FILE_GUID = 408edcec-cf6d-477c-a5a8-b4844e3de281\r
- MODULE_TYPE = DXE_DRIVER\r
+ MODULE_TYPE = UEFI_DRIVER\r
VERSION_STRING = 1.0\r
- EDK_RELEASE_VERSION = 0x00020000\r
- EFI_SPECIFICATION_VERSION = 0x00020000\r
-\r
- ENTRY_POINT = InitializeConSplitter\r
+ ENTRY_POINT = ConSplitterDriverEntry\r
\r
#\r
# The following information is for reference only and not required by the build tools.\r
#\r
-# VALID_ARCHITECTURES = IA32 X64 IPF EBC\r
+# VALID_ARCHITECTURES = IA32 X64 EBC\r
#\r
-# DRIVER_BINDING = gConSplitterConInDriverBinding \r
-# COMPONENT_NAME = gConSplitterConInComponentName \r
-# DRIVER_BINDING = gConSplitterSimplePointerDriverBinding \r
-# COMPONENT_NAME = gConSplitterSimplePointerComponentName \r
-# DRIVER_BINDING = gConSplitterConOutDriverBinding \r
-# COMPONENT_NAME = gConSplitterConOutComponentName \r
-# DRIVER_BINDING = gConSplitterStdErrDriverBinding \r
-# COMPONENT_NAME = gConSplitterStdErrComponentName \r
+# DRIVER_BINDING = gConSplitterConInDriverBinding\r
+# COMPONENT_NAME = gConSplitterConInComponentName\r
+# COMPONENT_NAME2 = gConSplitterConInComponentName2\r
+# DRIVER_BINDING = gConSplitterSimplePointerDriverBinding\r
+# COMPONENT_NAME = gConSplitterSimplePointerComponentName\r
+# COMPONENT_NAME2 = gConSplitterSimplePointerComponentName2\r
+# DRIVER_BINDING = gConSplitterConOutDriverBinding\r
+# COMPONENT_NAME = gConSplitterConOutComponentName\r
+# COMPONENT_NAME2 = gConSplitterConOutComponentName2\r
+# DRIVER_BINDING = gConSplitterStdErrDriverBinding\r
+# COMPONENT_NAME = gConSplitterStdErrComponentName\r
+# COMPONENT_NAME2 = gConSplitterStdErrComponentName2\r
#\r
\r
-[Sources.common]\r
+[Sources]\r
ConSplitterGraphics.c\r
ComponentName.c\r
ConSplitter.h\r
\r
[Packages]\r
MdePkg/MdePkg.dec\r
+ MdeModulePkg/MdeModulePkg.dec\r
\r
[LibraryClasses]\r
UefiBootServicesTableLib\r
UefiLib\r
UefiDriverEntryPoint\r
DebugLib\r
+ PcdLib\r
\r
[Guids]\r
- gEfiConsoleInDeviceGuid # ALWAYS_CONSUMED\r
- gEfiStandardErrorDeviceGuid # ALWAYS_CONSUMED\r
- gEfiConsoleOutDeviceGuid # ALWAYS_CONSUMED\r
- gEfiPrimaryConsoleOutDeviceGuid # ALWAYS_PRODUCED\r
- gEfiPrimaryConsoleInDeviceGuid # ALWAYS_PRODUCED\r
- gEfiPrimaryStandardErrorDeviceGuid # ALWAYS_PRODUCED\r
+ gEfiConsoleInDeviceGuid ## SOMETIMES_CONSUMES ## UNDEFINED # protocol GUID installed on device handle\r
+ gEfiStandardErrorDeviceGuid ## SOMETIMES_CONSUMES ## UNDEFINED # protocol GUID installed on device handle\r
+ gEfiConsoleOutDeviceGuid ## SOMETIMES_CONSUMES ## UNDEFINED # protocol GUID installed on device handle\r
+ ## SOMETIMES_PRODUCES ## Event\r
+ ## SOMETIMES_CONSUMES ## Event\r
+ gConnectConInEventGuid\r
\r
[Protocols]\r
- gEfiConsoleControlProtocolGuid # PROTOCOL ALWAYS_PRODUCED\r
- gEfiSimplePointerProtocolGuid # PROTOCOL ALWAYS_PRODUCED\r
- gEfiSimpleTextInProtocolGuid # PROTOCOL ALWAYS_PRODUCED\r
- gEfiSimpleTextOutProtocolGuid # PROTOCOL ALWAYS_PRODUCED\r
- gEfiGraphicsOutputProtocolGuid # PROTOCOL ALWAYS_PRODUCED\r
- gEfiUgaDrawProtocolGuid # PROTOCOL ALWAYS_PRODUCED\r
+ ## PRODUCES\r
+ ## TO_START\r
+ gEfiSimplePointerProtocolGuid\r
+ ## PRODUCES\r
+ ## TO_START\r
+ gEfiAbsolutePointerProtocolGuid\r
+ ## PRODUCES\r
+ ## TO_START\r
+ gEfiSimpleTextInProtocolGuid\r
+ ## PRODUCES\r
+ ## TO_START\r
+ gEfiSimpleTextInputExProtocolGuid\r
+ ## PRODUCES\r
+ ## TO_START\r
+ gEfiSimpleTextOutProtocolGuid\r
+ ## SOMETIMES_PRODUCES\r
+ ## SOMETIMES_CONSUMES\r
+ gEfiGraphicsOutputProtocolGuid\r
+ ## SOMETIMES_PRODUCES\r
+ ## SOMETIMES_CONSUMES\r
+ gEfiUgaDrawProtocolGuid\r
+\r
+[FeaturePcd]\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdConOutGopSupport ## CONSUMES\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdConOutUgaSupport ## CONSUMES\r
+ gEfiMdePkgTokenSpaceGuid.PcdUgaConsumeSupport ## CONSUMES\r
+\r
+[Pcd]\r
+ ## SOMETIMES_PRODUCES\r
+ ## SOMETIMES_CONSUMES\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdConOutRow\r
+ ## SOMETIMES_PRODUCES\r
+ ## SOMETIMES_CONSUMES\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdConOutColumn\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdConInConnectOnDemand ## SOMETIMES_CONSUMES\r
\r
+[UserExtensions.TianoCore."ExtraFiles"]\r
+ ConSplitterDxeExtra.uni\r