]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitter.c
1. retried PrimaryConsoleInDeviceGuid, PrimaryConsoleOutDeviceGuid and PrimaryStandar...
[mirror_edk2.git] / MdeModulePkg / Universal / Console / ConSplitterDxe / ConSplitter.c
index 153974a051108a494d0cb81385b282786d21f459..04ea719e59b121c3f7e5b3d54c184b6e03d53de8 100644 (file)
@@ -429,8 +429,6 @@ ConSplitterDriverEntry(
                     &mStdErr.VirtualHandle,\r
                     &gEfiSimpleTextOutProtocolGuid,\r
                     &mStdErr.TextOut,\r
-                    &gEfiPrimaryStandardErrorDeviceGuid,\r
-                    NULL,\r
                     NULL\r
                     );\r
   }\r
@@ -449,8 +447,6 @@ ConSplitterDriverEntry(
                     &mConIn.SimplePointer,\r
                     &gEfiAbsolutePointerProtocolGuid,\r
                     &mConIn.AbsolutePointer,\r
-                    &gEfiPrimaryConsoleInDeviceGuid,\r
-                    NULL,\r
                     NULL\r
                     );\r
     if (!EFI_ERROR (Status)) {\r
@@ -480,8 +476,6 @@ ConSplitterDriverEntry(
                       &mConOut.UgaDraw,\r
                       &gEfiConsoleControlProtocolGuid,\r
                       &mConOut.ConsoleControl,\r
-                      &gEfiPrimaryConsoleOutDeviceGuid,\r
-                      NULL,\r
                       NULL\r
                       );\r
     } else if (!FeaturePcdGet (PcdConOutUgaSupport)) {\r
@@ -497,8 +491,6 @@ ConSplitterDriverEntry(
                       &mConOut.GraphicsOutput,\r
                       &gEfiConsoleControlProtocolGuid,\r
                       &mConOut.ConsoleControl,\r
-                      &gEfiPrimaryConsoleOutDeviceGuid,\r
-                      NULL,\r
                       NULL\r
                       );\r
     } else {\r
@@ -516,8 +508,6 @@ ConSplitterDriverEntry(
                       &mConOut.UgaDraw,\r
                       &gEfiConsoleControlProtocolGuid,\r
                       &mConOut.ConsoleControl,\r
-                      &gEfiPrimaryConsoleOutDeviceGuid,\r
-                      NULL,\r
                       NULL\r
                       );\r
     }\r
@@ -2918,7 +2908,6 @@ ConsplitterSetConsoleOutMode (
   UINTN                            MaxMode;\r
   EFI_STATUS                       Status;\r
   CONSOLE_OUT_MODE                 ModeInfo;\r
-  UINTN                            ModeInfoSize;\r
   EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL  *TextOut;\r
 \r
   PreferMode   = 0xFF;\r
@@ -2926,31 +2915,8 @@ ConsplitterSetConsoleOutMode (
   TextOut      = &Private->TextOut;\r
   MaxMode      = (UINTN) (TextOut->Mode->MaxMode);\r
 \r
-  ModeInfoSize = sizeof (CONSOLE_OUT_MODE);\r
-  Status = gRT->GetVariable (\r
-                   VARCONOUTMODE,\r
-                   &gEfiGenericPlatformVariableGuid,\r
-                   NULL,\r
-                   &ModeInfoSize,\r
-                   &ModeInfo\r
-                   );\r
-\r
-  if (EFI_ERROR(Status)) {\r
-    //\r
-    // If fail to get variable, set variable to the default mode 80 x 25\r
-    // required by UEFI spec;\r
-    //\r
-    ModeInfo.Column = 80;\r
-    ModeInfo.Row    = 25;\r
-\r
-    gRT->SetVariable (\r
-           VARCONOUTMODE,\r
-           &gEfiGenericPlatformVariableGuid,\r
-           EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_NON_VOLATILE,\r
-           sizeof (CONSOLE_OUT_MODE),\r
-           &ModeInfo\r
-           );\r
-  }\r
+  ModeInfo.Column = PcdGet32 (PcdConOutColumn);\r
+  ModeInfo.Row    = PcdGet32 (PcdConOutRow);\r
 \r
   //\r
   // To find the prefer mode and basic mode from Text Out mode list\r
@@ -2968,7 +2934,7 @@ ConsplitterSetConsoleOutMode (
   }\r
 \r
   //\r
-  // Set perfer mode to Text Out devices.\r
+  // Set prefer mode to Text Out devices.\r
   //\r
   Status = TextOut->SetMode (TextOut, PreferMode);\r
   if (EFI_ERROR(Status)) {\r
@@ -2977,20 +2943,9 @@ ConsplitterSetConsoleOutMode (
     //\r
     Status = TextOut->SetMode (TextOut, BaseMode);\r
     ASSERT(!EFI_ERROR(Status));\r
-\r
-    ModeInfo.Column = 80;\r
-    ModeInfo.Row    = 25;\r
-\r
-    //\r
-    // Update ConOutMode variable\r
-    //\r
-    gRT->SetVariable (\r
-           VARCONOUTMODE,\r
-           &gEfiGenericPlatformVariableGuid,\r
-           EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_NON_VOLATILE,\r
-           sizeof (CONSOLE_OUT_MODE),\r
-           &ModeInfo\r
-           );\r
+    \r
+    PcdSet32 (PcdConOutColumn, 80);\r
+    PcdSet32 (PcdConOutRow, 25);\r
   }\r
 \r
   return ;\r
@@ -3896,6 +3851,7 @@ ConSplitterTextInRegisterKeyNotify (
   }\r
   NewNotify->Signature         = TEXT_IN_EX_SPLITTER_NOTIFY_SIGNATURE;\r
   NewNotify->KeyNotificationFn = KeyNotificationFunction;\r
+  NewNotify->NotifyHandle      = (EFI_HANDLE) NewNotify;\r
   CopyMem (&NewNotify->KeyData, KeyData, sizeof (KeyData));\r
 \r
   //\r
@@ -3916,17 +3872,6 @@ ConSplitterTextInRegisterKeyNotify (
     }\r
   }\r
 \r
-  //\r
-  // Use gSimpleTextInExNotifyGuid to get a valid EFI_HANDLE\r
-  //\r
-  Status = gBS->InstallMultipleProtocolInterfaces (\r
-                  &NewNotify->NotifyHandle,\r
-                  &gSimpleTextInExNotifyGuid,\r
-                  NULL,\r
-                  NULL\r
-                  );\r
-  ASSERT_EFI_ERROR (Status);\r
-\r
   InsertTailList (&mConIn.NotifyList, &NewNotify->NotifyEntry);\r
 \r
   *NotifyHandle                = NewNotify->NotifyHandle;\r
@@ -3966,18 +3911,10 @@ ConSplitterTextInUnregisterKeyNotify (
     return EFI_INVALID_PARAMETER;\r
   }\r
 \r
-  Status = gBS->OpenProtocol (\r
-                  NotificationHandle,\r
-                  &gSimpleTextInExNotifyGuid,\r
-                  NULL,\r
-                  NULL,\r
-                  NULL,\r
-                  EFI_OPEN_PROTOCOL_TEST_PROTOCOL\r
-                  );\r
-  if (EFI_ERROR (Status)) {\r
+  if (((TEXT_IN_EX_SPLITTER_NOTIFY *) NotificationHandle)->Signature != TEXT_IN_EX_SPLITTER_NOTIFY_SIGNATURE) {\r
     return EFI_INVALID_PARAMETER;\r
-  }\r
-\r
+  } \r
+  \r
   Private = TEXT_IN_EX_SPLITTER_PRIVATE_DATA_FROM_THIS (This);\r
 \r
   //\r
@@ -4001,13 +3938,7 @@ ConSplitterTextInUnregisterKeyNotify (
         }\r
       }\r
       RemoveEntryList (&CurrentNotify->NotifyEntry);\r
-      Status = gBS->UninstallMultipleProtocolInterfaces (\r
-                      CurrentNotify->NotifyHandle,\r
-                      &gSimpleTextInExNotifyGuid,\r
-                      NULL,\r
-                      NULL\r
-                      );\r
-      ASSERT_EFI_ERROR (Status);\r
+\r
       gBS->FreePool (CurrentNotify->NotifyHandleList);\r
       gBS->FreePool (CurrentNotify);\r
       return EFI_SUCCESS;\r