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:
klu2 2009-02-26 07:18:21 +00:00
parent 7f3a617984
commit 8c81cb83b9
8 changed files with 12 additions and 65 deletions

View File

@ -196,18 +196,6 @@ BdsLibBuildOptionFromShell (
//
// 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

View File

@ -106,5 +106,8 @@
[PcdsPatchableInModule.common]
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdStatusCodeMemorySize|1|UINT16|0x00010025
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

View File

@ -22,42 +22,6 @@ BOOLEAN mResetRequired = FALSE;
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
every driver the driver option device path point to.

View File

@ -113,5 +113,4 @@
gEfiMdePkgTokenSpaceGuid.PcdUgaConsumeSupport
[Pcd]
gEfiMdeModulePkgTokenSpaceGuid.PcdPlatformBootTimeOutDefault
gEfiMdeModulePkgTokenSpaceGuid.PcdDefaultBootFileName

View File

@ -63,7 +63,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#include <Library/CapsuleLib.h>
#include <Library/HiiLib.h>
#include <Library/ExtendedHiiLib.h>
#include <Library/PcdLib.h>
#include <Library/GenericBdsLib.h>
#include <Library/PlatformBdsLib.h>

View File

@ -111,7 +111,8 @@
UefiDriverEntryPoint
PlatformBdsLib
CapsuleLib
PcdLib
[Guids]
gEfiGlobalVariableGuid ## SOMETIMES_PRODUCES ## Variable:L"BootNext" (The number of next boot option)
## SOMETIMES_PRODUCES ## Variable:L"BootXX" (Boot option variable)
@ -170,7 +171,8 @@
gEfiMdeModulePkgTokenSpaceGuid.PcdHardwareErrorRecordLevel
gEfiMdeModulePkgTokenSpaceGuid.PcdConOutRow
gEfiMdeModulePkgTokenSpaceGuid.PcdConOutColumn
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdPlatformBootTimeOut
[Depex]
TRUE

View File

@ -610,16 +610,7 @@ ApplyChangeHandler (
break;
case FORM_TIME_OUT_ID:
Status = gRT->SetVariable (
L"Timeout",
&gEfiGlobalVariableGuid,
VAR_FLAG,
sizeof (UINT16),
&(CurrentFakeNVMap->BootTimeOut)
);
if (EFI_ERROR (Status)) {
goto Error;
}
PcdSet16 (PcdPlatformBootTimeOut, CurrentFakeNVMap->BootTimeOut);
Private->BmmOldFakeNVData.BootTimeOut = CurrentFakeNVMap->BootTimeOut;
break;

View File

@ -651,7 +651,7 @@ UpdateTimeOutPage (
UpdatePageStart (CallbackData);
BootTimeOut = BdsLibGetTimeout ();
BootTimeOut = PcdGet16 (PcdPlatformBootTimeOut);
CreateNumericOpCode (
(EFI_QUESTION_ID) BOOT_TIME_OUT_QUESTION_ID,