mirror of https://github.com/acidanthera/audk.git
1, Change name of PcdPlatformBootTimeoutDefault to PcdPlatformBootTimeout, now this PCD is *not* only hold default value of Bds timeout, but it is associated with a HII type PCD to hold persistent value for BDS timeout. Platform integrator will establish this mapping in platform DSC file.
2, Move PcdPlatformBootTimeout to IntelFrameworkModulePkg. 3, Remove BdsLibGetTimeout() interface from GenericBdsLib, because the PCD PcdPlatformBootTimeout will take care of persistent for time out value. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7707 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
7f3a617984
commit
8c81cb83b9
|
@ -196,18 +196,6 @@ BdsLibBuildOptionFromShell (
|
||||||
//
|
//
|
||||||
// Bds misc lib functions
|
// Bds misc lib functions
|
||||||
//
|
//
|
||||||
/**
|
|
||||||
Return the default value for system Timeout variable.
|
|
||||||
|
|
||||||
@return Timeout value.
|
|
||||||
|
|
||||||
**/
|
|
||||||
UINT16
|
|
||||||
EFIAPI
|
|
||||||
BdsLibGetTimeout (
|
|
||||||
VOID
|
|
||||||
);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Get boot mode by looking up configuration table and parsing HOB list
|
Get boot mode by looking up configuration table and parsing HOB list
|
||||||
|
|
||||||
|
|
|
@ -107,4 +107,7 @@
|
||||||
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdStatusCodeMemorySize|1|UINT16|0x00010025
|
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdStatusCodeMemorySize|1|UINT16|0x00010025
|
||||||
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdStatusCodeRuntimeMemorySize|128|UINT16|0x0001002e
|
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdStatusCodeRuntimeMemorySize|128|UINT16|0x0001002e
|
||||||
|
|
||||||
|
[PcdsDynamic.common]
|
||||||
|
## Timeout value for displaying progressing bar in before boot OS.
|
||||||
|
# According to UEFI 2.0 spec, it should treat the Timeout value as 0xffff.
|
||||||
|
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdPlatformBootTimeOut|0xffff|UINT16|0x40000001
|
||||||
|
|
|
@ -22,42 +22,6 @@ BOOLEAN mResetRequired = FALSE;
|
||||||
|
|
||||||
extern UINT16 gPlatformBootTimeOutDefault;
|
extern UINT16 gPlatformBootTimeOutDefault;
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
Return the default value for system Timeout variable.
|
|
||||||
|
|
||||||
@return Timeout value.
|
|
||||||
|
|
||||||
**/
|
|
||||||
UINT16
|
|
||||||
EFIAPI
|
|
||||||
BdsLibGetTimeout (
|
|
||||||
VOID
|
|
||||||
)
|
|
||||||
{
|
|
||||||
UINT16 Timeout;
|
|
||||||
UINTN Size;
|
|
||||||
EFI_STATUS Status;
|
|
||||||
|
|
||||||
//
|
|
||||||
// Return Timeout variable or 0xffff if no valid
|
|
||||||
// Timeout variable exists.
|
|
||||||
//
|
|
||||||
Size = sizeof (UINT16);
|
|
||||||
Status = gRT->GetVariable (L"Timeout", &gEfiGlobalVariableGuid, NULL, &Size, &Timeout);
|
|
||||||
if (EFI_ERROR (Status)) {
|
|
||||||
//
|
|
||||||
// According to UEFI 2.0 spec, it should treat the Timeout value as 0xffff
|
|
||||||
// (default value PcdPlatformBootTimeOutDefault) when L"Timeout" variable is not present.
|
|
||||||
// To make the current EFI Automatic-Test activity possible, platform can choose other value
|
|
||||||
// for automatic boot when the variable is not present.
|
|
||||||
//
|
|
||||||
Timeout = PcdGet16 (PcdPlatformBootTimeOutDefault);
|
|
||||||
}
|
|
||||||
|
|
||||||
return Timeout;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
The function will go through the driver option link list, load and start
|
The function will go through the driver option link list, load and start
|
||||||
every driver the driver option device path point to.
|
every driver the driver option device path point to.
|
||||||
|
|
|
@ -113,5 +113,4 @@
|
||||||
gEfiMdePkgTokenSpaceGuid.PcdUgaConsumeSupport
|
gEfiMdePkgTokenSpaceGuid.PcdUgaConsumeSupport
|
||||||
|
|
||||||
[Pcd]
|
[Pcd]
|
||||||
gEfiMdeModulePkgTokenSpaceGuid.PcdPlatformBootTimeOutDefault
|
|
||||||
gEfiMdeModulePkgTokenSpaceGuid.PcdDefaultBootFileName
|
gEfiMdeModulePkgTokenSpaceGuid.PcdDefaultBootFileName
|
||||||
|
|
|
@ -63,7 +63,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
#include <Library/CapsuleLib.h>
|
#include <Library/CapsuleLib.h>
|
||||||
#include <Library/HiiLib.h>
|
#include <Library/HiiLib.h>
|
||||||
#include <Library/ExtendedHiiLib.h>
|
#include <Library/ExtendedHiiLib.h>
|
||||||
|
#include <Library/PcdLib.h>
|
||||||
|
|
||||||
#include <Library/GenericBdsLib.h>
|
#include <Library/GenericBdsLib.h>
|
||||||
#include <Library/PlatformBdsLib.h>
|
#include <Library/PlatformBdsLib.h>
|
||||||
|
|
|
@ -111,6 +111,7 @@
|
||||||
UefiDriverEntryPoint
|
UefiDriverEntryPoint
|
||||||
PlatformBdsLib
|
PlatformBdsLib
|
||||||
CapsuleLib
|
CapsuleLib
|
||||||
|
PcdLib
|
||||||
|
|
||||||
[Guids]
|
[Guids]
|
||||||
gEfiGlobalVariableGuid ## SOMETIMES_PRODUCES ## Variable:L"BootNext" (The number of next boot option)
|
gEfiGlobalVariableGuid ## SOMETIMES_PRODUCES ## Variable:L"BootNext" (The number of next boot option)
|
||||||
|
@ -170,6 +171,7 @@
|
||||||
gEfiMdeModulePkgTokenSpaceGuid.PcdHardwareErrorRecordLevel
|
gEfiMdeModulePkgTokenSpaceGuid.PcdHardwareErrorRecordLevel
|
||||||
gEfiMdeModulePkgTokenSpaceGuid.PcdConOutRow
|
gEfiMdeModulePkgTokenSpaceGuid.PcdConOutRow
|
||||||
gEfiMdeModulePkgTokenSpaceGuid.PcdConOutColumn
|
gEfiMdeModulePkgTokenSpaceGuid.PcdConOutColumn
|
||||||
|
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdPlatformBootTimeOut
|
||||||
|
|
||||||
[Depex]
|
[Depex]
|
||||||
TRUE
|
TRUE
|
||||||
|
|
|
@ -610,16 +610,7 @@ ApplyChangeHandler (
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case FORM_TIME_OUT_ID:
|
case FORM_TIME_OUT_ID:
|
||||||
Status = gRT->SetVariable (
|
PcdSet16 (PcdPlatformBootTimeOut, CurrentFakeNVMap->BootTimeOut);
|
||||||
L"Timeout",
|
|
||||||
&gEfiGlobalVariableGuid,
|
|
||||||
VAR_FLAG,
|
|
||||||
sizeof (UINT16),
|
|
||||||
&(CurrentFakeNVMap->BootTimeOut)
|
|
||||||
);
|
|
||||||
if (EFI_ERROR (Status)) {
|
|
||||||
goto Error;
|
|
||||||
}
|
|
||||||
|
|
||||||
Private->BmmOldFakeNVData.BootTimeOut = CurrentFakeNVMap->BootTimeOut;
|
Private->BmmOldFakeNVData.BootTimeOut = CurrentFakeNVMap->BootTimeOut;
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -651,7 +651,7 @@ UpdateTimeOutPage (
|
||||||
|
|
||||||
UpdatePageStart (CallbackData);
|
UpdatePageStart (CallbackData);
|
||||||
|
|
||||||
BootTimeOut = BdsLibGetTimeout ();
|
BootTimeOut = PcdGet16 (PcdPlatformBootTimeOut);
|
||||||
|
|
||||||
CreateNumericOpCode (
|
CreateNumericOpCode (
|
||||||
(EFI_QUESTION_ID) BOOT_TIME_OUT_QUESTION_ID,
|
(EFI_QUESTION_ID) BOOT_TIME_OUT_QUESTION_ID,
|
||||||
|
|
Loading…
Reference in New Issue