]> git.proxmox.com Git - mirror_edk2.git/blobdiff - IntelFrameworkModulePkg/Universal/BdsDxe/DeviceMngr/DeviceManager.c
Update for IntelFrameworkModulePkg.
[mirror_edk2.git] / IntelFrameworkModulePkg / Universal / BdsDxe / DeviceMngr / DeviceManager.c
index 8ee345e8a7ff642e8e460c33e9a3fdfc49be2d67..6cb9d6b7ab07de5da771e4f26c430822a03a860e 100644 (file)
@@ -34,9 +34,6 @@ DEVICE_MANAGER_CALLBACK_DATA  gDeviceManagerPrivate = {
 \r
 #define  MAX_MAC_ADDRESS_NODE_LIST_LEN    10\r
 \r
-EFI_GUID mDeviceManagerGuid = DEVICE_MANAGER_FORMSET_GUID;\r
-EFI_GUID mDriverHealthGuid = DRIVER_HEALTH_FORMSET_GUID;\r
-\r
 //\r
 // Which Mac Address string is select\r
 // it will decide what menu need to show in the NETWORK_DEVICE_FORM_ID form.\r
@@ -72,10 +69,7 @@ HII_VENDOR_DEVICE_PATH  mDeviceManagerHiiVendorDevicePath = {
         (UINT8) ((sizeof (VENDOR_DEVICE_PATH)) >> 8)\r
       }\r
     },\r
-    //\r
-    // {102579A0-3686-466e-ACD8-80C087044F4A}\r
-    //\r
-    { 0x102579a0, 0x3686, 0x466e, { 0xac, 0xd8, 0x80, 0xc0, 0x87, 0x4, 0x4f, 0x4a } }\r
+    DEVICE_MANAGER_FORMSET_GUID\r
   },\r
   {\r
     END_DEVICE_PATH_TYPE,\r
@@ -97,10 +91,7 @@ HII_VENDOR_DEVICE_PATH  mDriverHealthHiiVendorDevicePath = {
           (UINT8) ((sizeof (VENDOR_DEVICE_PATH)) >> 8)\r
       }\r
     },\r
-    //\r
-    // {D8F76651-1675-4986-BED4-3824B2F1F4C8}\r
-    //\r
-    { 0xd8f76651, 0x1675, 0x4986, { 0xbe, 0xd4, 0x38, 0x24, 0xb2, 0xf1, 0xf4, 0xc8 } }\r
+    DRIVER_HEALTH_FORMSET_GUID\r
   },\r
   {\r
     END_DEVICE_PATH_TYPE,\r
@@ -141,20 +132,19 @@ DeviceManagerCallback (
   )\r
 {\r
   UINTN CurIndex;\r
-  \r
-  if ((Action == EFI_BROWSER_ACTION_FORM_OPEN) || (Action == EFI_BROWSER_ACTION_FORM_CLOSE)) {\r
+\r
+  if (Action != EFI_BROWSER_ACTION_CHANGING) {\r
     //\r
-    // Do nothing for UEFI OPEN/CLOSE Action\r
+    // All other action return unsupported.\r
     //\r
-    return EFI_SUCCESS;\r
+    return EFI_UNSUPPORTED;\r
   }\r
 \r
-  if ((Value == NULL) || (ActionRequest == NULL)) {\r
+  if (Value == NULL) {\r
     return EFI_INVALID_PARAMETER;\r
   }\r
 \r
   gCallbackKey = QuestionId;\r
-\r
   if ((QuestionId < MAX_KEY_SECTION_LEN + NETWORK_DEVICE_LIST_KEY_OFFSET) && (QuestionId >= NETWORK_DEVICE_LIST_KEY_OFFSET)) {\r
     //\r
     // If user select the mac address, need to record mac address string to support next form show.\r
@@ -165,11 +155,6 @@ DeviceManagerCallback (
       }\r
     }\r
   }\r
-  \r
-  //\r
-  // Request to exit SendForm(), so as to switch to selected form\r
-  //\r
-  *ActionRequest = EFI_BROWSER_ACTION_REQUEST_EXIT;\r
 \r
   return EFI_SUCCESS;\r
 }\r
@@ -589,7 +574,6 @@ IsNeedAddNetworkMenu (
   EFI_STATUS     Status;\r
   UINTN          EntryCount;\r
   UINTN          Index;  \r
-  EFI_HII_HANDLE HiiDeviceManagerHandle;\r
   EFI_HANDLE     DriverHandle;\r
   EFI_HANDLE     ControllerHandle;\r
   EFI_DEVICE_PATH_PROTOCOL   *DevicePath;\r
@@ -598,7 +582,6 @@ IsNeedAddNetworkMenu (
   EFI_OPEN_PROTOCOL_INFORMATION_ENTRY   *OpenInfoBuffer;\r
   BOOLEAN        IsNeedAdd;\r
 \r
-  HiiDeviceManagerHandle = gDeviceManagerPrivate.HiiHandle;\r
   IsNeedAdd  = FALSE;\r
   OpenInfoBuffer = NULL;\r
   if ((Handle == NULL) || (ItemCount == NULL)) {\r
@@ -776,7 +759,7 @@ CallDeviceManager (
     // Publish our HII data.\r
     //\r
     HiiHandle = HiiAddPackages (\r
-                  &mDeviceManagerGuid,\r
+                  &gDeviceManagerFormSetGuid,\r
                   gDeviceManagerPrivate.DriverHandle,\r
                   DeviceManagerVfrBin,\r
                   BdsDxeStrings,\r
@@ -885,7 +868,7 @@ CallDeviceManager (
           AddNetworkMenu = TRUE;\r
           HiiCreateGotoOpCode (\r
             StartOpCodeHandle,\r
-            DEVICE_MANAGER_FORM_ID,\r
+            INVALID_FORM_ID,\r
             STRING_TOKEN (STR_FORM_NETWORK_DEVICE_LIST_TITLE),\r
             STRING_TOKEN (STR_FORM_NETWORK_DEVICE_LIST_HELP),\r
             EFI_IFR_FLAG_CALLBACK,\r
@@ -899,7 +882,7 @@ CallDeviceManager (
         while (AddItemCount > 0) {\r
             HiiCreateGotoOpCode (\r
               StartOpCodeHandle,\r
-              NETWORK_DEVICE_LIST_FORM_ID,\r
+              INVALID_FORM_ID,\r
               mMacDeviceList.NodeList[mMacDeviceList.CurListLen - AddItemCount].PromptId,\r
               STRING_TOKEN (STR_NETWORK_DEVICE_HELP),\r
               EFI_IFR_FLAG_CALLBACK,\r
@@ -913,7 +896,7 @@ CallDeviceManager (
         //\r
         HiiCreateGotoOpCode (\r
           StartOpCodeHandle,\r
-          NETWORK_DEVICE_FORM_ID,\r
+          INVALID_FORM_ID,\r
           Token,\r
           TokenHelp,\r
           EFI_IFR_FLAG_CALLBACK,\r
@@ -928,7 +911,7 @@ CallDeviceManager (
       if (mNextShowFormId == DEVICE_MANAGER_FORM_ID) {\r
         HiiCreateGotoOpCode (\r
           StartOpCodeHandle,\r
-          DEVICE_MANAGER_FORM_ID,\r
+          INVALID_FORM_ID,\r
           Token,\r
           TokenHelp,\r
           EFI_IFR_FLAG_CALLBACK,\r
@@ -981,7 +964,7 @@ CallDeviceManager (
 \r
   HiiUpdateForm (\r
     HiiHandle,\r
-    &mDeviceManagerGuid,\r
+    &gDeviceManagerFormSetGuid,\r
     mNextShowFormId,\r
     StartOpCodeHandle,\r
     EndOpCodeHandle\r
@@ -992,7 +975,7 @@ CallDeviceManager (
                            gFormBrowser2,\r
                            &HiiHandle,\r
                            1,\r
-                           &mDeviceManagerGuid,\r
+                           &gDeviceManagerFormSetGuid,\r
                            mNextShowFormId,\r
                            NULL,\r
                            &ActionRequest\r
@@ -1109,25 +1092,25 @@ DriverHealthCallback (
   OUT EFI_BROWSER_ACTION_REQUEST             *ActionRequest\r
   )\r
 {\r
-  if ((Action == EFI_BROWSER_ACTION_FORM_OPEN) || (Action == EFI_BROWSER_ACTION_FORM_CLOSE)) {\r
+  if (Action == EFI_BROWSER_ACTION_CHANGED) {\r
+    if ((Value == NULL) || (ActionRequest == NULL)) {\r
+      return EFI_INVALID_PARAMETER;\r
+    }\r
+\r
+    gCallbackKey = QuestionId;\r
+\r
     //\r
-    // Do nothing for UEFI OPEN/CLOSE Action\r
+    // Request to exit SendForm(), so as to switch to selected form\r
     //\r
-    return EFI_SUCCESS;\r
-  }\r
+    *ActionRequest = EFI_BROWSER_ACTION_REQUEST_EXIT;\r
 \r
-  if ((Value == NULL) || (ActionRequest == NULL)) {\r
-    return EFI_INVALID_PARAMETER;\r
+    return EFI_SUCCESS;\r
   }\r
 \r
-  gCallbackKey = QuestionId;\r
-\r
   //\r
-  // Request to exit SendForm(), so as to switch to selected form\r
+  // All other action return unsupported.\r
   //\r
-  *ActionRequest = EFI_BROWSER_ACTION_REQUEST_EXIT;\r
-\r
-  return EFI_SUCCESS;\r
+  return EFI_UNSUPPORTED;\r
 }\r
 \r
 /**\r
@@ -1167,11 +1150,9 @@ CallDriverHealth (
   DRIVER_HEALTH_INFO          *DriverHealthInfo;\r
   LIST_ENTRY                  *Link;\r
   EFI_DEVICE_PATH_PROTOCOL    *DriverDevicePath;\r
-  UINTN                       Length;\r
   BOOLEAN                     RebootRequired;\r
 \r
   Index               = 0;\r
-  Length              = 0;\r
   DriverHealthInfo    = NULL;  \r
   DriverDevicePath    = NULL;\r
   InitializeListHead (&DriverHealthList);\r
@@ -1182,7 +1163,7 @@ CallDriverHealth (
     // Publish Driver Health HII data.\r
     //\r
     HiiHandle = HiiAddPackages (\r
-                  &mDeviceManagerGuid,\r
+                  &gDeviceManagerFormSetGuid,\r
                   gDeviceManagerPrivate.DriverHealthHandle,\r
                   DriverHealthVfrBin,\r
                   BdsDxeStrings,\r
@@ -1293,12 +1274,6 @@ CallDriverHealth (
                      DriverHealthInfo->MessageList->StringId, \r
                      NULL\r
                      );\r
-       //\r
-       // Assert if can not retrieve the message string\r
-       //\r
-       ASSERT (TmpString != NULL);\r
-       StrnCat (String, TmpString, StrLen (TmpString));\r
-       FreePool (TmpString);\r
     } else {\r
       //\r
       // Update the string will be displayed base on the driver's health status\r
@@ -1306,32 +1281,29 @@ CallDriverHealth (
       switch(DriverHealthInfo->HealthStatus) {\r
       case EfiDriverHealthStatusRepairRequired:\r
         TmpString = GetStringById (STRING_TOKEN (STR_REPAIR_REQUIRED));\r
-        StrCat (String, TmpString);\r
         break;\r
       case EfiDriverHealthStatusConfigurationRequired:\r
         TmpString = GetStringById (STRING_TOKEN (STR_CONFIGURATION_REQUIRED));\r
-        StrCat (String, TmpString);\r
         break;\r
       case EfiDriverHealthStatusFailed:\r
         TmpString = GetStringById (STRING_TOKEN (STR_OPERATION_FAILED));\r
-        StrCat (String, TmpString);\r
         break;\r
       case EfiDriverHealthStatusReconnectRequired:\r
         TmpString = GetStringById (STRING_TOKEN (STR_RECONNECT_REQUIRED));\r
-        StrCat (String, TmpString);\r
         break;\r
       case EfiDriverHealthStatusRebootRequired:\r
         TmpString = GetStringById (STRING_TOKEN (STR_REBOOT_REQUIRED));\r
-        StrCat (String, TmpString);\r
         break;\r
       default:\r
         TmpString = GetStringById (STRING_TOKEN (STR_DRIVER_HEALTH_HEALTHY));\r
-        StrCat (String, TmpString);\r
         break;\r
       }\r
-      FreePool (TmpString);\r
     }\r
 \r
+    ASSERT (TmpString != NULL);\r
+    StrCat (String, TmpString);\r
+    FreePool (TmpString);\r
+\r
     Token = HiiSetString (HiiHandle, 0, String, NULL);\r
     FreePool (String);\r
 \r
@@ -1389,7 +1361,7 @@ CallDriverHealth (
 \r
   Status = HiiUpdateForm (\r
              HiiHandle,\r
-             &mDriverHealthGuid,\r
+             &gDriverHealthFormSetGuid,\r
              DRIVER_HEALTH_FORM_ID,\r
              StartOpCodeHandle,\r
              EndOpCodeHandle\r
@@ -1399,7 +1371,7 @@ CallDriverHealth (
 \r
   Status = HiiUpdateForm (\r
             HiiHandle,\r
-            &mDriverHealthGuid,\r
+            &gDriverHealthFormSetGuid,\r
             DRIVER_HEALTH_FORM_ID,\r
             StartOpCodeHandleRepair,\r
             EndOpCodeHandleRepair\r
@@ -1412,7 +1384,7 @@ CallDriverHealth (
                            gFormBrowser2,\r
                            &HiiHandle,\r
                            1,\r
-                           &mDriverHealthGuid,\r
+                           &gDriverHealthFormSetGuid,\r
                            DRIVER_HEALTH_FORM_ID,\r
                            NULL,\r
                            &ActionRequest\r