]> git.proxmox.com Git - mirror_edk2.git/commitdiff
Update SetUp Browser doesn't set a default value to Numeric field per UEFI spec....
authorlgao4 <lgao4@6f19259b-4bc3-4df7-8a09-765794883524>
Wed, 22 Apr 2009 03:18:37 +0000 (03:18 +0000)
committerlgao4 <lgao4@6f19259b-4bc3-4df7-8a09-765794883524>
Wed, 22 Apr 2009 03:18:37 +0000 (03:18 +0000)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8146 6f19259b-4bc3-4df7-8a09-765794883524

MdeModulePkg/Universal/SetupBrowserDxe/IfrParse.c
MdeModulePkg/Universal/SetupBrowserDxe/Presentation.c
MdeModulePkg/Universal/SetupBrowserDxe/Setup.c
MdeModulePkg/Universal/SetupBrowserDxe/Setup.h
MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
MdeModulePkg/Universal/SetupBrowserDxe/Ui.c

index 02f555625566c53dae7e0c48de833e494a86348a..0a5d39ad50769eeb446325cb70ca921f73aed590 100644 (file)
@@ -21,8 +21,10 @@ UINT16           mExpressionOpCodeIndex;
 BOOLEAN          mInScopeSubtitle;\r
 BOOLEAN          mInScopeSuppress;\r
 BOOLEAN          mInScopeGrayOut;\r
+BOOLEAN          mInScopeDisable;\r
 FORM_EXPRESSION  *mSuppressExpression;\r
 FORM_EXPRESSION  *mGrayOutExpression;\r
+FORM_EXPRESSION  *mDisableExpression;\r
 \r
 /**\r
   Initialize Statement header members.\r
@@ -75,6 +77,11 @@ CreateStatement (
     Statement->GrayOutExpression = mGrayOutExpression;\r
   }\r
 \r
+\r
+  if (mInScopeDisable) {\r
+    Statement->DisableExpression = mDisableExpression;\r
+  }\r
+\r
   Statement->InSubtitle = mInScopeSubtitle;\r
 \r
   //\r
@@ -810,7 +817,6 @@ ParseOpCodes (
   BOOLEAN                 SuppressForOption;\r
   BOOLEAN                 InScopeOptionSuppress;\r
   FORM_EXPRESSION         *OptionSuppressExpression;\r
-  BOOLEAN                 InScopeDisable;\r
   UINT16                  DepthOfDisable;\r
   BOOLEAN                 OpCodeDisabled;\r
   BOOLEAN                 SingleOpCodeExpression;\r
@@ -822,7 +828,7 @@ ParseOpCodes (
   mInScopeSuppress         = FALSE;\r
   InScopeOptionSuppress    = FALSE;\r
   mInScopeGrayOut          = FALSE;\r
-  InScopeDisable           = FALSE;\r
+  mInScopeDisable          = FALSE;\r
   DepthOfDisable           = 0;\r
   OpCodeDisabled           = FALSE;\r
   SingleOpCodeExpression   = FALSE;\r
@@ -890,7 +896,7 @@ ParseOpCodes (
 \r
         if (ScopeOpCode == EFI_IFR_DISABLE_IF_OP) {\r
           if (DepthOfDisable == 0) {\r
-            InScopeDisable = FALSE;\r
+            mInScopeDisable = FALSE;\r
             OpCodeDisabled = FALSE;\r
           } else {\r
             DepthOfDisable--;\r
@@ -1035,9 +1041,9 @@ ParseOpCodes (
         //\r
         SingleOpCodeExpression = FALSE;\r
 \r
-        if (InScopeDisable) {\r
+        if (mInScopeDisable && CurrentForm == NULL) {\r
           //\r
-          // Evaluate DisableIf expression\r
+          // This is DisableIf expression for Form, it should be a constant expression\r
           //\r
           Status = EvaluateExpression (FormSet, CurrentForm, CurrentExpression);\r
           if (EFI_ERROR (Status)) {\r
@@ -1073,6 +1079,12 @@ ParseOpCodes (
 \r
       CopyMem (&FormSet->FormSetTitle, &((EFI_IFR_FORM_SET *) OpCodeData)->FormSetTitle, sizeof (EFI_STRING_ID));\r
       CopyMem (&FormSet->Help,         &((EFI_IFR_FORM_SET *) OpCodeData)->Help,         sizeof (EFI_STRING_ID));\r
+\r
+      //\r
+      // The formset OpCode contains ClassGuid\r
+      //\r
+      FormSet->NumberOfClassGuid = ((EFI_IFR_FORM_SET *) OpCodeData)->Flags & 0x3;\r
+      CopyMem (FormSet->ClassGuid, OpCodeData + sizeof (EFI_IFR_FORM_SET), FormSet->NumberOfClassGuid * sizeof (EFI_GUID));\r
       break;\r
 \r
     case EFI_IFR_FORM_OP:\r
@@ -1208,8 +1220,10 @@ ParseOpCodes (
       break;\r
 \r
     case EFI_IFR_RESET_BUTTON_OP:\r
-      CurrentStatement = CreateQuestion (OpCodeData, FormSet, CurrentForm);\r
-\r
+      //\r
+      // Create Statement todo\r
+      //\r
+      CurrentStatement = CreateStatement (OpCodeData, FormSet, CurrentForm);\r
       CopyMem (&CurrentStatement->DefaultId, &((EFI_IFR_RESET_BUTTON *) OpCodeData)->DefaultId, sizeof (EFI_DEFAULT_ID));\r
       break;\r
 \r
@@ -1504,8 +1518,16 @@ ParseOpCodes (
       CurrentExpression->Type = EFI_HII_EXPRESSION_DISABLE_IF;\r
       InitializeListHead (&CurrentExpression->OpCodeListHead);\r
 \r
-      InScopeDisable = TRUE;\r
-      OpCodeDisabled = FALSE;\r
+      if (CurrentForm != NULL) {\r
+        //\r
+        // This is DisableIf for Question, enqueue it to Form expression list\r
+        //\r
+        InsertTailList (&CurrentForm->ExpressionListHead, &CurrentExpression->Link);\r
+      }\r
+\r
+      mDisableExpression = CurrentExpression;\r
+      mInScopeDisable    = TRUE;\r
+      OpCodeDisabled     = FALSE;\r
 \r
       //\r
       // Take a look at next OpCode to see whether current expression consists\r
@@ -1614,9 +1636,12 @@ ParseOpCodes (
           break;\r
 \r
         case EFI_IFR_EXTEND_OP_BANNER:\r
+          //\r
+          // By SubClass or By ClassGuid to get Banner Data?\r
+          //\r
           if (FormSet->SubClass == EFI_FRONT_PAGE_SUBCLASS) {\r
             CopyMem (\r
-              &BannerData->Banner[((EFI_IFR_GUID_BANNER *) OpCodeData)->LineNumber][\r
+              &gBannerData->Banner[((EFI_IFR_GUID_BANNER *) OpCodeData)->LineNumber][\r
               ((EFI_IFR_GUID_BANNER *) OpCodeData)->Alignment],\r
               &((EFI_IFR_GUID_BANNER *) OpCodeData)->Title,\r
               sizeof (EFI_STRING_ID)\r
@@ -1696,7 +1721,7 @@ ParseOpCodes (
         break;\r
 \r
       case EFI_IFR_DISABLE_IF_OP:\r
-        InScopeDisable = FALSE;\r
+        mInScopeDisable = FALSE;\r
         OpCodeDisabled = FALSE;\r
         break;\r
 \r
@@ -1711,9 +1736,9 @@ ParseOpCodes (
 \r
       default:\r
         if (IsExpressionOpCode (ScopeOpCode)) {\r
-          if (InScopeDisable) {\r
+          if (mInScopeDisable && CurrentForm == NULL) {\r
             //\r
-            // Evaluate DisableIf expression\r
+            // This is DisableIf expression for Form, it should be a constant expression\r
             //\r
             Status = EvaluateExpression (FormSet, CurrentForm, CurrentExpression);\r
             if (EFI_ERROR (Status)) {\r
index 2d0e1721c831dae6653a2a8a91b5837e9e605f72..354aa3507fa84fc2ef96d813b08e44280124f21b 100644 (file)
@@ -209,7 +209,7 @@ DisplayPageFrame (
     Buffer[Index] = Character;\r
   }\r
 \r
-  if (gClassOfVfr == EFI_FRONT_PAGE_SUBCLASS) {\r
+  if (gClassOfVfr == FORMSET_CLASS_FRONT_PAGE) {\r
     //\r
     //    ClearLines(0, LocalScreen.RightColumn, 0, BANNER_HEIGHT-1, BANNER_TEXT | BANNER_BACKGROUND);\r
     //\r
@@ -237,10 +237,10 @@ DisplayPageFrame (
         ASSERT (RowIdx < BANNER_HEIGHT);\r
         ASSERT (ColumnIdx < BANNER_COLUMNS);\r
         \r
-        if (BannerData->Banner[RowIdx][ColumnIdx] != 0x0000) {\r
+        if (gBannerData->Banner[RowIdx][ColumnIdx] != 0x0000) {\r
           StrFrontPageBanner = GetToken (\r
-                                BannerData->Banner[RowIdx][ColumnIdx],\r
-                                FrontPageHandle\r
+                                gBannerData->Banner[RowIdx][ColumnIdx],\r
+                                gFrontPageHandle\r
                                 );\r
         } else {\r
           continue;\r
@@ -290,7 +290,7 @@ DisplayPageFrame (
     KEYHELP_TEXT | KEYHELP_BACKGROUND\r
     );\r
 \r
-  if (gClassOfVfr != EFI_FRONT_PAGE_SUBCLASS) {\r
+  if (gClassOfVfr != FORMSET_CLASS_FRONT_PAGE) {\r
     ClearLines (\r
       LocalScreen.LeftColumn,\r
       LocalScreen.RightColumn,\r
@@ -325,7 +325,7 @@ DisplayPageFrame (
     Character = BOXDRAW_UP_LEFT;\r
     PrintChar (Character);\r
 \r
-    if (gClassOfVfr == EFI_SETUP_APPLICATION_SUBCLASS) {\r
+    if (gClassOfVfr == FORMSET_CLASS_PLATFORM_SETUP) {\r
       //\r
       // Print Bottom border line\r
       // +------------------------------------------------------------------------------+\r
@@ -472,7 +472,7 @@ DisplayForm (
 \r
   StringPtr = GetToken (Selection->Form->FormTitle, Handle);\r
 \r
-  if (gClassOfVfr != EFI_FRONT_PAGE_SUBCLASS) {\r
+  if (gClassOfVfr != FORMSET_CLASS_FRONT_PAGE) {\r
     gST->ConOut->SetAttribute (gST->ConOut, TITLE_TEXT | TITLE_BACKGROUND);\r
     PrintStringAt (\r
       (LocalScreen.RightColumn + LocalScreen.LeftColumn - GetStringWidth (StringPtr) / 2) / 2,\r
@@ -481,7 +481,7 @@ DisplayForm (
       );\r
   }\r
 \r
-  if (gClassOfVfr == EFI_SETUP_APPLICATION_SUBCLASS) {\r
+  if (gClassOfVfr == FORMSET_CLASS_PLATFORM_SETUP) {\r
     gST->ConOut->SetAttribute (gST->ConOut, KEYHELP_TEXT | KEYHELP_BACKGROUND);\r
 \r
     //\r
@@ -514,6 +514,10 @@ DisplayForm (
       Suppress = FALSE;\r
     }\r
 \r
+    if (Statement->DisableExpression != NULL) {\r
+      Suppress = Suppress || Statement->DisableExpression->Result.Value.b;\r
+    }\r
+\r
     if (!Suppress) {\r
       StringPtr = GetToken (Statement->Prompt, Handle);\r
 \r
@@ -671,10 +675,6 @@ UpdateKeyHelp (
   TopRowOfHelp      = LocalScreen.BottomRow - 4;\r
   BottomRowOfHelp   = LocalScreen.BottomRow - 3;\r
 \r
-  if (gClassOfVfr == EFI_GENERAL_APPLICATION_SUBCLASS) {\r
-    return ;\r
-  }\r
-\r
   gST->ConOut->SetAttribute (gST->ConOut, KEYHELP_TEXT | KEYHELP_BACKGROUND);\r
 \r
   Statement = MenuOption->ThisTag;\r
@@ -687,7 +687,7 @@ UpdateKeyHelp (
     ClearLines (LeftColumnOfHelp, RightColumnOfHelp, TopRowOfHelp, BottomRowOfHelp, KEYHELP_TEXT | KEYHELP_BACKGROUND);\r
 \r
     if (!Selected) {\r
-      if (gClassOfVfr == EFI_SETUP_APPLICATION_SUBCLASS) {\r
+      if (gClassOfVfr == FORMSET_CLASS_PLATFORM_SETUP) {\r
         PrintStringAt (StartColumnOfHelp, TopRowOfHelp, gFunctionOneString);\r
         PrintStringAt (SecCol, TopRowOfHelp, gFunctionNineString);\r
         PrintStringAt (ThdCol, TopRowOfHelp, gFunctionTenString);\r
@@ -743,7 +743,7 @@ UpdateKeyHelp (
   case EFI_IFR_CHECKBOX_OP:\r
     ClearLines (LeftColumnOfHelp, RightColumnOfHelp, TopRowOfHelp, BottomRowOfHelp, KEYHELP_TEXT | KEYHELP_BACKGROUND);\r
 \r
-    if (gClassOfVfr == EFI_SETUP_APPLICATION_SUBCLASS) {\r
+    if (gClassOfVfr == FORMSET_CLASS_PLATFORM_SETUP) {\r
       PrintStringAt (StartColumnOfHelp, TopRowOfHelp, gFunctionOneString);\r
       PrintStringAt (SecCol, TopRowOfHelp, gFunctionNineString);\r
       PrintStringAt (ThdCol, TopRowOfHelp, gFunctionTenString);\r
@@ -763,7 +763,7 @@ UpdateKeyHelp (
     ClearLines (LeftColumnOfHelp, RightColumnOfHelp, TopRowOfHelp, BottomRowOfHelp, KEYHELP_TEXT | KEYHELP_BACKGROUND);\r
 \r
     if (!Selected) {\r
-      if (gClassOfVfr == EFI_SETUP_APPLICATION_SUBCLASS) {\r
+      if (gClassOfVfr == FORMSET_CLASS_PLATFORM_SETUP) {\r
         PrintStringAt (StartColumnOfHelp, TopRowOfHelp, gFunctionOneString);\r
         PrintStringAt (SecCol, TopRowOfHelp, gFunctionNineString);\r
         PrintStringAt (ThdCol, TopRowOfHelp, gFunctionTenString);\r
@@ -903,6 +903,13 @@ SetupBrowser (
       Selection->Form = IdToForm (Selection->FormSet, Selection->FormId);\r
     }\r
 \r
+    if (Selection->Form == NULL) {\r
+      //\r
+      // No Form to display\r
+      //\r
+      return EFI_NOT_FOUND;\r
+    }\r
+\r
     //\r
     // Load Questions' Value for display\r
     //\r
index f5963ce2fe23f39b9b3019a9597314eb6240d2d9..b66b9e1e19c54a5af5763b8ba3833ab6ebcad9ec 100644 (file)
@@ -29,8 +29,8 @@ EFI_HII_DATABASE_PROTOCOL         *mHiiDatabase;
 EFI_HII_STRING_PROTOCOL           *mHiiString;\r
 EFI_HII_CONFIG_ROUTING_PROTOCOL   *mHiiConfigRouting;\r
 \r
-BANNER_DATA           *BannerData;\r
-EFI_HII_HANDLE        FrontPageHandle;\r
+BANNER_DATA           *gBannerData;\r
+EFI_HII_HANDLE        gFrontPageHandle;\r
 UINTN                 gClassOfVfr;\r
 UINTN                 gFunctionKeySetting;\r
 BOOLEAN               gResetRequired;\r
@@ -268,7 +268,7 @@ SendForm (
   InitializeBrowserStrings ();\r
 \r
   gFunctionKeySetting = DEFAULT_FUNCTION_KEY_SETTING;\r
-  gClassOfVfr         = EFI_SETUP_APPLICATION_SUBCLASS;\r
+  gClassOfVfr         = FORMSET_CLASS_PLATFORM_SETUP;\r
 \r
   //\r
   // Ensure we are in Text mode\r
@@ -564,8 +564,8 @@ InitializeSetup (
   //\r
   // Initialize Driver private data\r
   //\r
-  BannerData = AllocateZeroPool (sizeof (BANNER_DATA));\r
-  ASSERT (BannerData != NULL);\r
+  gBannerData = AllocateZeroPool (sizeof (BANNER_DATA));\r
+  ASSERT (gBannerData != NULL);\r
 \r
   //\r
   // Install FormBrowser2 protocol\r
@@ -1874,21 +1874,16 @@ GetQuestionDefault (
   // For Questions without default\r
   //\r
   switch (Question->Operand) {\r
-  case EFI_IFR_NUMERIC_OP:\r
-    //\r
-    // Take minimal value as numeric's default value\r
-    //\r
-    HiiValue->Value.u64 = Question->Minimum;\r
-    break;\r
-\r
   case EFI_IFR_ONE_OF_OP:\r
     //\r
     // Take first oneof option as oneof's default value\r
     //\r
-    Link = GetFirstNode (&Question->OptionListHead);\r
-    if (!IsNull (&Question->OptionListHead, Link)) {\r
-      Option = QUESTION_OPTION_FROM_LINK (Link);\r
-      CopyMem (HiiValue, &Option->Value, sizeof (EFI_HII_VALUE));\r
+    if (ValueToOption (Question, HiiValue) == NULL) {    \r
+      Link = GetFirstNode (&Question->OptionListHead);\r
+      if (!IsNull (&Question->OptionListHead, Link)) {\r
+        Option = QUESTION_OPTION_FROM_LINK (Link);\r
+        CopyMem (HiiValue, &Option->Value, sizeof (EFI_HII_VALUE));\r
+      }\r
     }\r
     break;\r
 \r
@@ -1948,11 +1943,11 @@ ExtractFormDefault (
     Link = GetNextNode (&Form->StatementListHead, Link);\r
 \r
     //\r
-    // If Question is suppressed, don't reset it to default\r
+    // If Question is disabled, don't reset it to default\r
     //\r
-    if (Question->SuppressExpression != NULL) {\r
-      Status = EvaluateExpression (FormSet, Form, Question->SuppressExpression);\r
-      if (!EFI_ERROR (Status) && Question->SuppressExpression->Result.Value.b) {\r
+    if (Question->DisableExpression != NULL) {\r
+      Status = EvaluateExpression (FormSet, Form, Question->DisableExpression);\r
+      if (!EFI_ERROR (Status) && Question->DisableExpression->Result.Value.b) {\r
         continue;\r
       }\r
     }\r
@@ -2167,6 +2162,10 @@ GetIfrBinaryData (
   BOOLEAN                      ReturnDefault;\r
   UINT32                       PackageListLength;\r
   EFI_HII_PACKAGE_HEADER       PackageHeader;\r
+  UINT8                        Index;\r
+  UINT8                        NumberOfClassGuid;\r
+  BOOLEAN                      IsSetupClassGuid;\r
+  EFI_GUID                     *ClassGuid;\r
 \r
   OpCodeData = NULL;\r
   Package = NULL;\r
@@ -2222,7 +2221,21 @@ GetIfrBinaryData (
           // Check whether return default FormSet\r
           //\r
           if (ReturnDefault) {\r
-            break;\r
+            //\r
+            // Check ClassGuid of formset OpCode\r
+            //\r
+            IsSetupClassGuid  = FALSE;\r
+            NumberOfClassGuid = ((EFI_IFR_FORM_SET *) OpCodeData)->Flags & 0x3;\r
+            ClassGuid         = (EFI_GUID *) (OpCodeData + sizeof (EFI_IFR_FORM_SET));\r
+            for (Index = 0; Index < NumberOfClassGuid; Index++) {\r
+              if (CompareGuid (ClassGuid + Index, &gEfiHiiPlatformSetupFormsetGuid)) {\r
+                IsSetupClassGuid = TRUE;\r
+                break;\r
+              }\r
+            }\r
+            if (IsSetupClassGuid) {\r
+              break;\r
+            }\r
           }\r
 \r
           //\r
@@ -2341,9 +2354,10 @@ InitializeFormSet (
     return Status;\r
   }\r
 \r
-  gClassOfVfr = FormSet->SubClass;\r
-  if (gClassOfVfr == EFI_FRONT_PAGE_SUBCLASS) {\r
-    FrontPageHandle = FormSet->HiiHandle;\r
+  gClassOfVfr = FORMSET_CLASS_PLATFORM_SETUP;\r
+  if (FormSet->SubClass == EFI_FRONT_PAGE_SUBCLASS) {\r
+    gClassOfVfr = FORMSET_CLASS_FRONT_PAGE;\r
+    gFrontPageHandle = FormSet->HiiHandle;\r
   }\r
 \r
   //\r
index b352482f461428508edab67ea689a654d174fe20..ad63a5d95897fe436c145b985a6646ab9a8cb5b5 100644 (file)
@@ -30,6 +30,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 #include <Protocol/HiiString.h>\r
 \r
 #include <Guid/MdeModuleHii.h>\r
+#include <Guid/HiiPlatformSetupFormset.h>\r
 \r
 #include <Library/PrintLib.h>\r
 #include <Library/DebugLib.h>\r
@@ -193,6 +194,9 @@ typedef struct {
 #define FORM_INCONSISTENT_VALIDATION         0\r
 #define FORM_NO_SUBMIT_VALIDATION            1\r
 \r
+#define FORMSET_CLASS_PLATFORM_SETUP         0\r
+#define FORMSET_CLASS_FRONT_PAGE             1\r
+\r
 typedef struct {\r
   UINT8               Type;\r
   EFI_IFR_TYPE_VALUE  Value;\r
@@ -379,6 +383,7 @@ typedef struct {
   LIST_ENTRY            NoSubmitListHead;    // nested nosubmit expression list (FORM_EXPRESSION)\r
   FORM_EXPRESSION       *GrayOutExpression;  // nesting inside of GrayOutIf\r
   FORM_EXPRESSION       *SuppressExpression; // nesting inside of SuppressIf\r
+  FORM_EXPRESSION       *DisableExpression;  // nesting inside of DisableIf\r
 \r
 } FORM_BROWSER_STATEMENT;\r
 \r
@@ -425,8 +430,10 @@ typedef struct {
   EFI_GUID                        Guid;\r
   EFI_STRING_ID                   FormSetTitle;\r
   EFI_STRING_ID                   Help;\r
-  UINT16                          Class;\r
-  UINT16                          SubClass;\r
+  UINT8                           NumberOfClassGuid;\r
+  EFI_GUID                        ClassGuid[3];         // Up to three ClassGuid\r
+  UINT16                          Class;                // Tiano extended Class code\r
+  UINT16                          SubClass;             // Tiano extended Subclass code\r
   EFI_IMAGE_ID                    ImageId;\r
 \r
   FORM_BROWSER_STATEMENT          *StatementBuffer;     // Buffer for all Statements and Questions\r
@@ -442,8 +449,8 @@ extern EFI_HII_DATABASE_PROTOCOL         *mHiiDatabase;
 extern EFI_HII_STRING_PROTOCOL           *mHiiString;\r
 extern EFI_HII_CONFIG_ROUTING_PROTOCOL   *mHiiConfigRouting;\r
 \r
-extern BANNER_DATA           *BannerData;\r
-extern EFI_HII_HANDLE        FrontPageHandle;\r
+extern BANNER_DATA           *gBannerData;\r
+extern EFI_HII_HANDLE        gFrontPageHandle;\r
 extern UINTN                 gClassOfVfr;\r
 extern UINTN                 gFunctionKeySetting;\r
 extern BOOLEAN               gResetRequired;\r
index 77951ee79f2ef1a3e72e48ba12a57f059e6a44ce..cb4ca570eafc9bd58b3574fad50edf623d1df83f 100644 (file)
@@ -64,6 +64,7 @@
 [Guids]\r
   gEfiIfrTianoGuid                              ## CONSUMES  ## GUID\r
   gEfiIfrFrameworkGuid                          ## CONSUMES  ## GUID\r
+  gEfiHiiPlatformSetupFormsetGuid\r
 \r
 [Protocols]\r
   gEfiHiiConfigAccessProtocolGuid               ## CONSUMES\r
index 4d2fc8871aaf7dd3f6831cea115ebac5971889bd..bc79a1e2935a8e344fdb992100149837c98c446f 100644 (file)
@@ -978,7 +978,7 @@ UpdateStatusBar (
     break;\r
 \r
   case NV_UPDATE_REQUIRED:\r
-    if (gClassOfVfr != EFI_FRONT_PAGE_SUBCLASS) {\r
+    if (gClassOfVfr != FORMSET_CLASS_FRONT_PAGE) {\r
       if (State) {\r
         gST->ConOut->SetAttribute (gST->ConOut, INFO_TEXT);\r
         PrintStringAt (\r
@@ -1629,7 +1629,7 @@ UiDisplayMenu (
 \r
   ZeroMem (&Key, sizeof (EFI_INPUT_KEY));\r
 \r
-  if (gClassOfVfr == EFI_FRONT_PAGE_SUBCLASS) {\r
+  if (gClassOfVfr == FORMSET_CLASS_FRONT_PAGE) {\r
     TopRow  = LocalScreen.TopRow + FRONT_PAGE_HEADER_HEIGHT + SCROLL_ARROW_HEIGHT;\r
     Row     = LocalScreen.TopRow + FRONT_PAGE_HEADER_HEIGHT + SCROLL_ARROW_HEIGHT;\r
   } else {\r
@@ -2202,7 +2202,7 @@ UiDisplayMenu (
     case CfUpdateHelpString:\r
       ControlFlag = CfPrepareToReadKey;\r
 \r
-        if ((Repaint || NewLine) && (gClassOfVfr != EFI_GENERAL_APPLICATION_SUBCLASS)) {\r
+        if (Repaint || NewLine) {\r
         //\r
         // Don't print anything if it is a NULL help token\r
         //\r
@@ -2324,7 +2324,7 @@ UiDisplayMenu (
         break;\r
 \r
       case ' ':\r
-        if (gClassOfVfr != EFI_FRONT_PAGE_SUBCLASS) {\r
+        if (gClassOfVfr != FORMSET_CLASS_FRONT_PAGE) {\r
           if (MenuOption->ThisTag->Operand == EFI_IFR_CHECKBOX_OP && !MenuOption->GrayOut) {\r
             ScreenOperation = UiSelect;\r
           }\r
@@ -2585,7 +2585,7 @@ UiDisplayMenu (
       //\r
       ControlFlag = CfCheckSelection;\r
 \r
-      if (gClassOfVfr == EFI_FRONT_PAGE_SUBCLASS) {\r
+      if (gClassOfVfr == FORMSET_CLASS_FRONT_PAGE) {\r
         //\r
         // There is no parent menu for FrontPage\r
         //\r