Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Eric Dong <eric.d...@intel.com>
---
 .../Source/C/Include/Common/UefiInternalFormRepresentation.h     | 9 +++++----
 BaseTools/Source/C/VfrCompile/VfrFormPkg.h                       | 6 +++++-
 BaseTools/Source/C/VfrCompile/VfrSyntax.g                        | 4 ++++
 3 files changed, 14 insertions(+), 5 deletions(-)

diff --git a/BaseTools/Source/C/Include/Common/UefiInternalFormRepresentation.h 
b/BaseTools/Source/C/Include/Common/UefiInternalFormRepresentation.h
index d17b633..b8ce637 100644
--- a/BaseTools/Source/C/Include/Common/UefiInternalFormRepresentation.h
+++ b/BaseTools/Source/C/Include/Common/UefiInternalFormRepresentation.h
@@ -713,14 +713,15 @@ typedef struct _EFI_IFR_QUESTION_HEADER {
     UINT16                 VarOffset;
   }                        VarStoreInfo;
   UINT8                    Flags;
 } EFI_IFR_QUESTION_HEADER;
 
-#define EFI_IFR_FLAG_READ_ONLY         0x01
-#define EFI_IFR_FLAG_CALLBACK          0x04
-#define EFI_IFR_FLAG_RESET_REQUIRED    0x10
-#define EFI_IFR_FLAG_OPTIONS_ONLY      0x80
+#define EFI_IFR_FLAG_READ_ONLY          0x01
+#define EFI_IFR_FLAG_CALLBACK           0x04
+#define EFI_IFR_FLAG_RESET_REQUIRED     0x10
+#define EFI_IFR_FLAG_RECONNECT_REQUIRED 0x40
+#define EFI_IFR_FLAG_OPTIONS_ONLY       0x80
 
 typedef struct _EFI_IFR_DEFAULTSTORE {
   EFI_IFR_OP_HEADER        Header;
   EFI_STRING_ID            DefaultName;
   UINT16                   DefaultId;
diff --git a/BaseTools/Source/C/VfrCompile/VfrFormPkg.h 
b/BaseTools/Source/C/VfrCompile/VfrFormPkg.h
index d2ff72c..84300a7 100644
--- a/BaseTools/Source/C/VfrCompile/VfrFormPkg.h
+++ b/BaseTools/Source/C/VfrCompile/VfrFormPkg.h
@@ -420,11 +420,15 @@ public:
     _FLAG_CLEAR (Flags, 0x08);
 
     if (_FLAG_TEST_AND_CLEAR (Flags, EFI_IFR_FLAG_RESET_REQUIRED)) {
       mHeader->Flags |= EFI_IFR_FLAG_RESET_REQUIRED;
     }
-    
+
+    if (_FLAG_TEST_AND_CLEAR (Flags, EFI_IFR_FLAG_RECONNECT_REQUIRED)) {
+      mHeader->Flags |= EFI_IFR_FLAG_RECONNECT_REQUIRED;
+    }
+
     //
     //  Set LateCheck Flag to compatible for framework flag
     //  but it uses 0x20 as its flag, if in the future UEFI may take this flag
     //
     if (_FLAG_TEST_AND_CLEAR (Flags, 0x20)) {
diff --git a/BaseTools/Source/C/VfrCompile/VfrSyntax.g 
b/BaseTools/Source/C/VfrCompile/VfrSyntax.g
index 17a62b4..fba8967 100644
--- a/BaseTools/Source/C/VfrCompile/VfrSyntax.g
+++ b/BaseTools/Source/C/VfrCompile/VfrSyntax.g
@@ -189,10 +189,11 @@ VfrParserStart (
 #token DefaultFlag("DEFAULT")                   "DEFAULT"
 #token ManufacturingFlag("MANUFACTURING")       "MANUFACTURING"
 #token InteractiveFlag("INTERACTIVE")           "INTERACTIVE"
 #token NVAccessFlag("NV_ACCESS")                "NV_ACCESS"
 #token ResetRequiredFlag("RESET_REQUIRED")      "RESET_REQUIRED"
+#token ReconnectRequiredFlag("RECONNECT_REQUIRED") "RECONNECT_REQUIRED"
 #token LateCheckFlag("LATE_CHECK")              "LATE_CHECK"
 #token ReadOnlyFlag("READ_ONLY")                "READ_ONLY"
 #token OptionOnlyFlag("OPTIONS_ONLY")           "OPTIONS_ONLY"
 #token Class("class")                           "class"
 #token Subclass("subclass")                     "subclass"
@@ -1184,10 +1185,11 @@ vfrQuestionHeader[CIfrQuestionHeader & QHObj, 
EFI_QUESION_TYPE QType = QUESTION_
 
 questionheaderFlagsField[UINT8 & Flags] :
     ReadOnlyFlag                                    << $Flags |= 0x01; >>
   | InteractiveFlag                                 << $Flags |= 0x04; >>
   | ResetRequiredFlag                               << $Flags |= 0x10; >>
+  | ReconnectRequiredFlag                           << $Flags |= 0x40; >>
   | O:OptionOnlyFlag                                << 
                                                        if (mCompatibleMode) {
                                                          $Flags |= 0x80;
                                                        } else {
                                                          
gCVfrErrorHandle.HandleWarning (
@@ -1840,10 +1842,11 @@ flagsField :
   Number 
   | InteractiveFlag 
   | ManufacturingFlag 
   | DefaultFlag 
   | ResetRequiredFlag 
+  | ReconnectRequiredFlag
   | N:NVAccessFlag                                     << 
                                                           if 
(!mCompatibleMode) {
                                                             
gCVfrErrorHandle.HandleWarning (
                                                               
VFR_WARNING_OBSOLETED_FRAMEWORK_OPCODE,
                                                               N->getLine(),
@@ -3499,10 +3502,11 @@ oneofoptionFlagsField [UINT8 & HFlags, UINT8 & LFlags] :
     N:Number                                           << $LFlags |= 
_STOU8(N->getText(), N->getLine()); >>
   | "OPTION_DEFAULT"                                   << $LFlags |= 0x10; >>
   | "OPTION_DEFAULT_MFG"                               << $LFlags |= 0x20; >>
   | InteractiveFlag                                    << $HFlags |= 0x04; >>
   | ResetRequiredFlag                                  << $HFlags |= 0x10; >>
+  | ReconnectRequiredFlag                              << $HFlags |= 0x40; >>
   | ManufacturingFlag                                  << $LFlags |= 0x20; >>
   | DefaultFlag                                        << $LFlags |= 0x10; >>
   | A:NVAccessFlag                                     << 
                                                           if (mCompatibleMode) 
{
                                                             $HFlags |= 0x08;
-- 
1.9.5.msysgit.1


------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud 
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to