diff --git a/IntelFrameworkModulePkg/Universal/BdsDxe/DeviceMngr/DeviceManager.c b/IntelFrameworkModulePkg/Universal/BdsDxe/DeviceMngr/DeviceManager.c index 9e4fff6d33..b545b6c849 100644 --- a/IntelFrameworkModulePkg/Universal/BdsDxe/DeviceMngr/DeviceManager.c +++ b/IntelFrameworkModulePkg/Universal/BdsDxe/DeviceMngr/DeviceManager.c @@ -464,13 +464,24 @@ CallDeviceManager ( &NumHandles, &DriverHealthHandles ); + // - // If there are no drivers installed driver health protocol + // If there are no drivers installed driver health protocol, do not create driver health entry in UI // - if (NumHandles == 0) { - HiiSetString (HiiHandle, STRING_TOKEN (STR_DM_DRIVER_HEALTH_TITLE), GetStringById (STRING_TOKEN (STR_EMPTY_STRING)), NULL); - HiiSetString (HiiHandle, STRING_TOKEN (STR_DRIVER_HEALTH_ALL_HEALTHY), GetStringById (STRING_TOKEN (STR_EMPTY_STRING)), NULL); - } else { + if (NumHandles != 0) { + // + // If driver health protocol is installed, create Driver Health subtitle and entry + // + HiiCreateSubTitleOpCode (StartOpCodeHandle, STRING_TOKEN (STR_DM_DRIVER_HEALTH_TITLE), 0, 0, 0); + HiiCreateActionOpCode ( + StartOpCodeHandle, // Container for dynamic created opcodes + DEVICE_MANAGER_KEY_DRIVER_HEALTH, // Question ID + STRING_TOKEN(STR_DRIVER_HEALTH_ALL_HEALTHY), // Prompt text + STRING_TOKEN(STR_DRIVER_HEALTH_STATUS_HELP), // Help text + EFI_IFR_FLAG_CALLBACK, // Question flag + 0 // Action String ID + ); + // // Check All Driver health status // diff --git a/IntelFrameworkModulePkg/Universal/BdsDxe/DeviceMngr/DeviceManagerVfr.Vfr b/IntelFrameworkModulePkg/Universal/BdsDxe/DeviceMngr/DeviceManagerVfr.Vfr index c08ad26214..41a25e4a39 100644 --- a/IntelFrameworkModulePkg/Universal/BdsDxe/DeviceMngr/DeviceManagerVfr.Vfr +++ b/IntelFrameworkModulePkg/Universal/BdsDxe/DeviceMngr/DeviceManagerVfr.Vfr @@ -2,7 +2,7 @@ // // Device Manager formset. // -// Copyright (c) 2004 - 2009, Intel Corporation.
+// Copyright (c) 2004 - 2010, Intel Corporation.
// All rights reserved. This program and the accompanying materials // are licensed and made available under the terms and conditions of the BSD License // which accompanies this distribution. The full text of the license may be found at @@ -66,16 +66,6 @@ formset label LABEL_DEVICES_LIST; label LABEL_END; - - subtitle text = STRING_TOKEN(STR_LAST_STRING); - subtitle text = STRING_TOKEN(STR_DM_DRIVER_HEALTH_TITLE); - - text - help = STRING_TOKEN(STR_DRIVER_HEALTH_STATUS_HELP), - text = STRING_TOKEN(STR_DRIVER_HEALTH_ALL_HEALTHY), - text = STRING_TOKEN(STR_LAST_STRING), - flags = INTERACTIVE, - key = DEVICE_MANAGER_KEY_DRIVER_HEALTH; subtitle text = STRING_TOKEN(STR_EMPTY_STRING);