]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/Console/TerminalDxe/TerminalConIn.c
Retired gSimpleTextInExNotifyGuid, used local structure address to be notify handle.
[mirror_edk2.git] / MdeModulePkg / Universal / Console / TerminalDxe / TerminalConIn.c
index ca2b3ed2a9c8becd12149443ce56f773474ab5bb..ae4ea818deb95e63610fe26e5d57ac707c65ee82 100644 (file)
@@ -365,7 +365,6 @@ TerminalConInRegisterKeyNotify (
   OUT EFI_HANDLE                        *NotifyHandle\r
   )\r
 {\r
-  EFI_STATUS                      Status;\r
   TERMINAL_DEV                    *TerminalDevice;\r
   TERMINAL_CONSOLE_IN_EX_NOTIFY   *NewNotify;\r
   LIST_ENTRY                      *Link;\r
@@ -407,18 +406,10 @@ TerminalConInRegisterKeyNotify (
 \r
   NewNotify->Signature         = TERMINAL_CONSOLE_IN_EX_NOTIFY_SIGNATURE;\r
   NewNotify->KeyNotificationFn = KeyNotificationFunction;\r
+  NewNotify->NotifyHandle      = (EFI_HANDLE) NewNotify;\r
   CopyMem (&NewNotify->KeyData, KeyData, sizeof (KeyData));\r
   InsertTailList (&TerminalDevice->NotifyList, &NewNotify->NotifyEntry);\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
   *NotifyHandle                = NewNotify->NotifyHandle;\r
 \r
   return EFI_SUCCESS;\r
@@ -445,7 +436,6 @@ TerminalConInUnregisterKeyNotify (
   IN EFI_HANDLE                         NotificationHandle\r
   )\r
 {\r
-  EFI_STATUS                      Status;\r
   TERMINAL_DEV                    *TerminalDevice;\r
   LIST_ENTRY                      *Link;\r
   TERMINAL_CONSOLE_IN_EX_NOTIFY   *CurrentNotify;\r
@@ -455,18 +445,6 @@ TerminalConInUnregisterKeyNotify (
     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
-    return EFI_INVALID_PARAMETER;\r
-  }\r
-\r
   TerminalDevice = TERMINAL_CON_IN_EX_DEV_FROM_THIS (This);\r
 \r
   NotifyList = &TerminalDevice->NotifyList;\r
@@ -482,13 +460,7 @@ TerminalConInUnregisterKeyNotify (
       // Remove the notification function from NotifyList and free resources\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);\r
       return EFI_SUCCESS;\r
     }\r
@@ -866,6 +838,7 @@ EfiKeyFiFoInsertOneKey (
   UINT8 Tail;\r
 \r
   Tail = TerminalDevice->EfiKeyFiFo->Tail;\r
+  ASSERT (Tail < FIFO_MAX_NUMBER + 1);\r
 \r
   if (IsEfiKeyFiFoFull (TerminalDevice)) {\r
     //\r
@@ -900,6 +873,7 @@ EfiKeyFiFoRemoveOneKey (
   UINT8 Head;\r
 \r
   Head = TerminalDevice->EfiKeyFiFo->Head;\r
+  ASSERT (Head < FIFO_MAX_NUMBER + 1);\r
 \r
   if (IsEfiKeyFiFoEmpty (TerminalDevice)) {\r
     //\r
@@ -986,6 +960,8 @@ UnicodeFiFoInsertOneKey (
   UINT8 Tail;\r
 \r
   Tail = TerminalDevice->UnicodeFiFo->Tail;\r
+  ASSERT (Tail < FIFO_MAX_NUMBER + 1);\r
+\r
 \r
   if (IsUnicodeFiFoFull (TerminalDevice)) {\r
     //\r
@@ -1020,6 +996,7 @@ UnicodeFiFoRemoveOneKey (
   UINT8 Head;\r
 \r
   Head = TerminalDevice->UnicodeFiFo->Head;\r
+  ASSERT (Head < FIFO_MAX_NUMBER + 1);\r
 \r
   if (IsUnicodeFiFoEmpty (TerminalDevice)) {\r
     //\r
@@ -1255,7 +1232,7 @@ UnicodeToEfiKey (
 \r
     if (TerminalDevice->InputState != INPUT_STATE_DEFAULT) {\r
       //\r
-      // Check to see if the 2 second timer has expired\r
+      // Check to see if the 2 seconds timer has expired\r
       //\r
       TimerStatus = gBS->CheckEvent (TerminalDevice->TwoSecondTimeOut);\r
       if (!EFI_ERROR (TimerStatus)) {\r