//\r
Size = sizeof (UINT16);\r
Status = gRT->GetVariable (L"Timeout", &gEfiGlobalVariableGuid, NULL, &Size, &Timeout);\r
- if (!EFI_ERROR (Status)) {\r
- return Timeout;\r
+ if (EFI_ERROR (Status)) {\r
+ //\r
+ // According to UEFI 2.0 spec, it should treat the Timeout value as 0xffff\r
+ // (default value PcdPlatformBootTimeOutDefault) when L"Timeout" variable is not present.\r
+ // To make the current EFI Automatic-Test activity possible, platform can choose other value\r
+ // for automatic boot when the variable is not present.\r
+ //\r
+ Timeout = PcdGet16 (PcdPlatformBootTimeOutDefault);\r
}\r
- //\r
- // To make the current EFI Automatic-Test activity possible, just add\r
- // following code to make AutoBoot enabled when this variable is not\r
- // present.\r
- // This code should be removed later.\r
- //\r
- Timeout = PcdGet16 (PcdPlatformBootTimeOutDefault);\r
\r
- //\r
- // Notes: Platform should set default variable if non exists on all error cases!!!\r
- //\r
- Status = gRT->SetVariable (\r
- L"Timeout",\r
- &gEfiGlobalVariableGuid,\r
- EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_RUNTIME_ACCESS | EFI_VARIABLE_NON_VOLATILE,\r
- sizeof (UINT16),\r
- &Timeout\r
- );\r
return Timeout;\r
}\r
\r
\r
## Default timeout value for displaying progressing bar in before boot OS.\r
# This value can be changed in BDS.\r
- gEfiMdeModulePkgTokenSpaceGuid.PcdPlatformBootTimeOutDefault|10|UINT16|0x40000001\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdPlatformBootTimeOutDefault|0xffff|UINT16|0x40000001\r
\r
## Error level for hardware recorder.\r
gEfiMdeModulePkgTokenSpaceGuid.PcdHardwareErrorRecordLevel|1|UINT16|0x40000002\r
\r
## Default timeout value for displaying progressing bar in before boot OS.\r
# This value can be changed in BDS.\r
- gEfiMdeModulePkgTokenSpaceGuid.PcdPlatformBootTimeOutDefault|10|UINT16|0x40000001\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdPlatformBootTimeOutDefault|0xffff|UINT16|0x40000001\r
\r
## Error level for hardware recorder.\r
gEfiMdeModulePkgTokenSpaceGuid.PcdHardwareErrorRecordLevel|1|UINT16|0x40000002\r
\r
## Default timeout value for displaying progressing bar in before boot OS.\r
# This value can be changed in BDS.\r
- gEfiMdeModulePkgTokenSpaceGuid.PcdPlatformBootTimeOutDefault|10|UINT16|0x40000001\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdPlatformBootTimeOutDefault|0xffff|UINT16|0x40000001\r
\r
## Error level for hardware recorder.\r
gEfiMdeModulePkgTokenSpaceGuid.PcdHardwareErrorRecordLevel|1|UINT16|0x40000002\r