summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorlgao4 <lgao4@6f19259b-4bc3-4df7-8a09-765794883524>2009-05-20 09:29:13 +0000
committerlgao4 <lgao4@6f19259b-4bc3-4df7-8a09-765794883524>2009-05-20 09:29:13 +0000
commitdedfc3bbc97e726e259bfadbdf22502133faa8a8 (patch)
tree9b4785543adeb5d561bedfaee0b7c67b7e6f4a49
parentce4106bec492fc943bb37c488f5c75944498e99d (diff)
downloadedk2-dedfc3bbc97e726e259bfadbdf22502133faa8a8.tar.gz
edk2-dedfc3bbc97e726e259bfadbdf22502133faa8a8.tar.bz2
edk2-dedfc3bbc97e726e259bfadbdf22502133faa8a8.zip
Fix the issue that BootOrder can't be set
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8343 6f19259b-4bc3-4df7-8a09-765794883524
-rw-r--r--IntelFrameworkModulePkg/Include/Guid/CustomDecompress.h2
-rw-r--r--IntelFrameworkModulePkg/Universal/BdsDxe/BootMaint/BootMaint.h1
-rw-r--r--IntelFrameworkModulePkg/Universal/BdsDxe/FrontPage.c14
3 files changed, 12 insertions, 5 deletions
diff --git a/IntelFrameworkModulePkg/Include/Guid/CustomDecompress.h b/IntelFrameworkModulePkg/Include/Guid/CustomDecompress.h
index 3e98785c2b..610443c54b 100644
--- a/IntelFrameworkModulePkg/Include/Guid/CustomDecompress.h
+++ b/IntelFrameworkModulePkg/Include/Guid/CustomDecompress.h
@@ -20,4 +20,4 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
extern GUID gTianoCustomDecompressGuid;
-#endif // #ifndef _EFI_CAPSULE_VENDOR_GUID_H_
+#endif
diff --git a/IntelFrameworkModulePkg/Universal/BdsDxe/BootMaint/BootMaint.h b/IntelFrameworkModulePkg/Universal/BdsDxe/BootMaint/BootMaint.h
index e30e989686..1a6f076ecc 100644
--- a/IntelFrameworkModulePkg/Universal/BdsDxe/BootMaint/BootMaint.h
+++ b/IntelFrameworkModulePkg/Universal/BdsDxe/BootMaint/BootMaint.h
@@ -64,6 +64,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
extern EFI_GUID mBootMaintGuid;
extern EFI_GUID mFileExplorerGuid;
extern CHAR16 mFileExplorerStorageName[];
+extern CHAR16 mBootMaintStorageName[];
//
// These are the VFR compiler generated data representing our VFR data.
//
diff --git a/IntelFrameworkModulePkg/Universal/BdsDxe/FrontPage.c b/IntelFrameworkModulePkg/Universal/BdsDxe/FrontPage.c
index 9443a65bcd..5a3443bbe3 100644
--- a/IntelFrameworkModulePkg/Universal/BdsDxe/FrontPage.c
+++ b/IntelFrameworkModulePkg/Universal/BdsDxe/FrontPage.c
@@ -94,6 +94,9 @@ FakeExtractConfig (
OUT EFI_STRING *Results
)
{
+ if (Request == NULL || Progress == NULL || Results == NULL) {
+ return EFI_INVALID_PARAMETER;
+ }
*Progress = Request;
return EFI_NOT_FOUND;
}
@@ -122,15 +125,18 @@ FakeRouteConfig (
OUT EFI_STRING *Progress
)
{
- if (Configuration == NULL) {
+ if (Configuration == NULL || Progress == NULL) {
return EFI_INVALID_PARAMETER;
}
- if (Progress == NULL) {
- return EFI_INVALID_PARAMETER;
+ *Progress = Configuration;
+ if (!HiiIsConfigHdrMatch (Configuration, &mBootMaintGuid, mBootMaintStorageName)
+ && !HiiIsConfigHdrMatch (Configuration, &mFileExplorerGuid, mFileExplorerStorageName)) {
+ return EFI_NOT_FOUND;
}
- return EFI_NOT_FOUND;
+ *Progress = Configuration + StrLen (Configuration);
+ return EFI_SUCCESS;
}
/**