};\r
\r
\r
+BOOLEAN mIsEnterSecureBootForm = FALSE;\r
+\r
//\r
// OID ASN.1 Value for Hash Algorithms\r
//\r
return EFI_NOT_FOUND;\r
}\r
\r
+ //\r
+ // Get Configuration from Variable.\r
+ //\r
+ SecureBootExtractConfigFromVariable (&IfrNvData);\r
+\r
+ //\r
+ // Map the Configuration to the configuration block.\r
+ //\r
BufferSize = sizeof (SECUREBOOT_CONFIGURATION);\r
Status = gHiiConfigRouting->ConfigToBlock (\r
gHiiConfigRouting,\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
+ if (Action == EFI_BROWSER_ACTION_FORM_OPEN) {\r
+ if (QuestionId == KEY_SECURE_BOOT_MODE) {\r
+ mIsEnterSecureBootForm = TRUE;\r
+ }\r
+\r
+ return EFI_SUCCESS;\r
+ }\r
+ \r
+ if (Action == EFI_BROWSER_ACTION_RETRIEVE) {\r
+ Status = EFI_UNSUPPORTED;\r
+ if (QuestionId == KEY_SECURE_BOOT_MODE) {\r
+ if (mIsEnterSecureBootForm) {\r
+ Value->u8 = SECURE_BOOT_MODE_STANDARD;\r
+ Status = EFI_SUCCESS;\r
+ }\r
+ }\r
+ return Status;\r
+ }\r
+ \r
if ((Action != EFI_BROWSER_ACTION_CHANGED) &&\r
(Action != EFI_BROWSER_ACTION_CHANGING) &&\r
(Action != EFI_BROWSER_ACTION_FORM_CLOSE) &&\r
break;\r
\r
case KEY_SECURE_BOOT_MODE:\r
- GetVariable2 (EFI_CUSTOM_MODE_NAME, &gEfiCustomModeEnableGuid, (VOID**)&SecureBootMode, NULL);\r
- if (NULL != SecureBootMode) {\r
- Status = gRT->SetVariable ( \r
- EFI_CUSTOM_MODE_NAME,\r
- &gEfiCustomModeEnableGuid,\r
- EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS,\r
- sizeof (UINT8),\r
- &Value->u8\r
- );\r
- *ActionRequest = EFI_BROWSER_ACTION_REQUEST_FORM_APPLY;\r
- IfrNvData->SecureBootMode = Value->u8;\r
- FreePool (SecureBootMode);\r
- } \r
+ mIsEnterSecureBootForm = FALSE;\r
break;\r
\r
case KEY_SECURE_BOOT_KEK_GUID:\r