Add a new Capsule initiate reset flag support in build tools.
authorqhuang8 <qhuang8@7335b38e-4728-0410-8992-fb3ffe349368>
Thu, 10 Sep 2009 07:19:52 +0000 (07:19 +0000)
committerqhuang8 <qhuang8@7335b38e-4728-0410-8992-fb3ffe349368>
Thu, 10 Sep 2009 07:19:52 +0000 (07:19 +0000)
git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1702 7335b38e-4728-0410-8992-fb3ffe349368

Source/C/GenFv/GenFv.c
Source/C/GenFv/GenFvInternalLib.c
Source/C/Include/Common/UefiCapsule.h

index 78fdfb2..7d9d4db 100644 (file)
@@ -1,6 +1,6 @@
 /** @file\r
 \r
-Copyright (c) 2007 - 2008, Intel Corporation                                                         \r
+Copyright (c) 2007 - 2009, Intel Corporation                                                         \r
 All rights reserved. This program and the accompanying materials                          \r
 are licensed and made available under the terms and conditions of the BSD License         \r
 which accompanies this distribution.  The full text of the license may be found at        \r
@@ -405,8 +405,14 @@ Returns:
       }\r
       if (strcmp (argv[1], "PopulateSystemTable") == 0) {\r
         mCapDataInfo.Flags |= CAPSULE_FLAGS_PERSIST_ACROSS_RESET | CAPSULE_FLAGS_POPULATE_SYSTEM_TABLE;\r
+        if (strcmp (argv[1], "InitiateReset")) {\r
+          mCapDataInfo.Flags |= CAPSULE_FLAGS_INITIATE_RESET;\r
+        }\r
       } else if (strcmp (argv[1], "PersistAcrossReset") == 0) {\r
         mCapDataInfo.Flags |= CAPSULE_FLAGS_PERSIST_ACROSS_RESET;\r
+        if (strcmp (argv[1], "InitiateReset")) {\r
+          mCapDataInfo.Flags |= CAPSULE_FLAGS_INITIATE_RESET;\r
+        }\r
       } else {\r
         Error (NULL, 0, 1003, "Invalid option value", "%s = %s", argv[0], argv[1]);\r
         return STATUS_ERROR;\r
index 6d53acd..3efbedb 100644 (file)
@@ -1,6 +1,6 @@
 /** @file\r
 \r
-Copyright (c) 2004 - 2008, Intel Corporation                                                         \r
+Copyright (c) 2004 - 2009, Intel Corporation                                                         \r
 All rights reserved. This program and the accompanying materials                          \r
 are licensed and made available under the terms and conditions of the BSD License         \r
 which accompanies this distribution.  The full text of the license may be found at        \r
@@ -3371,8 +3371,14 @@ Returns:
   if (Status == EFI_SUCCESS) {\r
     if (strstr (Value, "PopulateSystemTable") != NULL) {\r
       CapInfo->Flags |= CAPSULE_FLAGS_PERSIST_ACROSS_RESET | CAPSULE_FLAGS_POPULATE_SYSTEM_TABLE;\r
+      if (strcmp (Value, "InitiateReset")) {\r
+        CapInfo->Flags |= CAPSULE_FLAGS_INITIATE_RESET;\r
+      }\r
     } else if (strstr (Value, "PersistAcrossReset") != NULL) {\r
       CapInfo->Flags |= CAPSULE_FLAGS_PERSIST_ACROSS_RESET; \r
+      if (strcmp (Value, "InitiateReset")) {\r
+        CapInfo->Flags |= CAPSULE_FLAGS_INITIATE_RESET;\r
+      }\r
     } else {\r
       Error (NULL, 0, 2000, "Invalid parameter", "invalid Flag setting for %s.", EFI_CAPSULE_FLAGS_STRING);\r
       return EFI_ABORTED;\r
index d504926..70d8723 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   Defines for the EFI Capsule functionality.\r
 \r
-  Copyright (c) 2006 - 2008, Intel Corporation  All rights reserved.\r
+  Copyright (c) 2006 - 2009, Intel Corporation  All rights reserved.\r
 \r
   This program and the accompanying materials are licensed and made available\r
   under the terms and conditions of the BSD License which accompanies this\r
@@ -30,5 +30,6 @@ typedef struct {
 \r
 #define CAPSULE_FLAGS_PERSIST_ACROSS_RESET          0x00010000\r
 #define CAPSULE_FLAGS_POPULATE_SYSTEM_TABLE         0x00020000\r
+#define CAPSULE_FLAGS_INITIATE_RESET                0x00040000\r
 \r
 #endif // #ifndef _EFI_CAPSULE_H_\r