From 08c4ca5bca647d1848cb803f03153ff6de4f8209 Mon Sep 17 00:00:00 2001 From: eric_tian Date: Wed, 4 Mar 2009 02:43:10 +0000 Subject: [PATCH] retire gEfiBootStateGuid and replace it with dynamic hii pcd. so the different boot times can know whether it needs to do full/minimal/no_changes configuration. [Impact] EDK still keep this guid. and if we ports such platforms to EDKII, it will do full configuration git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7793 6f19259b-4bc3-4df7-8a09-765794883524 --- .../IntelFrameworkModulePkg.dec | 1 + .../Universal/BdsDxe/Bds.h | 1 - .../Universal/BdsDxe/BdsDxe.inf | 4 +-- .../Universal/BdsDxe/MemoryTest.c | 29 +++++-------------- MdeModulePkg/Include/Guid/BootState.h | 28 ------------------ MdeModulePkg/MdeModulePkg.dec | 4 --- 6 files changed, 11 insertions(+), 56 deletions(-) delete mode 100644 MdeModulePkg/Include/Guid/BootState.h diff --git a/IntelFrameworkModulePkg/IntelFrameworkModulePkg.dec b/IntelFrameworkModulePkg/IntelFrameworkModulePkg.dec index d84ba3875d..76bebcd100 100644 --- a/IntelFrameworkModulePkg/IntelFrameworkModulePkg.dec +++ b/IntelFrameworkModulePkg/IntelFrameworkModulePkg.dec @@ -85,6 +85,7 @@ [PcdsDynamic.common] gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdStatusCodeMemorySize|1|UINT16|0x00010025 gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdStatusCodeRuntimeMemorySize|128|UINT16|0x0001002e + gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdBootState|FALSE|BOOLEAN|0x0001002f [PcdsFeatureFlag.common] gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdStatusCodeUseSerial|TRUE|BOOLEAN|0x00010022 diff --git a/IntelFrameworkModulePkg/Universal/BdsDxe/Bds.h b/IntelFrameworkModulePkg/Universal/BdsDxe/Bds.h index 077718a041..2471c12be7 100644 --- a/IntelFrameworkModulePkg/Universal/BdsDxe/Bds.h +++ b/IntelFrameworkModulePkg/Universal/BdsDxe/Bds.h @@ -20,7 +20,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. #include #include #include -#include #include #include #include diff --git a/IntelFrameworkModulePkg/Universal/BdsDxe/BdsDxe.inf b/IntelFrameworkModulePkg/Universal/BdsDxe/BdsDxe.inf index d009977952..19294ae9d3 100644 --- a/IntelFrameworkModulePkg/Universal/BdsDxe/BdsDxe.inf +++ b/IntelFrameworkModulePkg/Universal/BdsDxe/BdsDxe.inf @@ -130,7 +130,6 @@ ## SOMETIMES_CONSUMES ## Variable:L"ConIn" (The device path of console in device) ## SOMETIMES_CONSUMES ## Variable:L"ConOut" (The device path of console out device) ## SOMETIMES_CONSUMES ## Variable:L"ErrOut" (The device path of error out device) - gEfiBootStateGuid ## SOMETIMES_PRODUCES (Produce when status has not been set yet) ## Variable:L"BootState" (Indicate the state of last boot) gEfiFileSystemVolumeLabelInfoIdGuid ## CONSUMES ## GUID (Indicate the information type is volume) gEfiFileInfoGuid ## CONSUMES ## GUID (Indicate the information type is file) gEfiMiscSubClassGuid ## CONSUMES ## GUID (Indicate the datahub for holding misc sub class record) @@ -171,7 +170,8 @@ gEfiMdeModulePkgTokenSpaceGuid.PcdConOutRow gEfiMdeModulePkgTokenSpaceGuid.PcdConOutColumn gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdPlatformBootTimeOut - + gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdBootState + [Depex] TRUE diff --git a/IntelFrameworkModulePkg/Universal/BdsDxe/MemoryTest.c b/IntelFrameworkModulePkg/Universal/BdsDxe/MemoryTest.c index fabdf24310..854f8952c4 100644 --- a/IntelFrameworkModulePkg/Universal/BdsDxe/MemoryTest.c +++ b/IntelFrameworkModulePkg/Universal/BdsDxe/MemoryTest.c @@ -229,9 +229,7 @@ BdsMemoryTest ( EFI_GRAPHICS_OUTPUT_BLT_PIXEL Foreground; EFI_GRAPHICS_OUTPUT_BLT_PIXEL Background; EFI_GRAPHICS_OUTPUT_BLT_PIXEL Color; - UINT8 Value; - UINTN DataSize; - UINT32 Attributes; + BOOLEAN IsFirstBoot; UINT32 TempData; ReturnStatus = EFI_SUCCESS; @@ -401,24 +399,13 @@ Done: FreePool (Pos); - DataSize = sizeof (Value); - Status = gRT->GetVariable ( - L"BootState", - &gEfiBootStateGuid, - &Attributes, - &DataSize, - &Value - ); - - if (EFI_ERROR (Status)) { - Value = 1; - gRT->SetVariable ( - L"BootState", - &gEfiBootStateGuid, - EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS, - sizeof (Value), - &Value - ); + // + // Use a DynamicHii type pcd to save the boot status, which is used to + // control configuration mode, such as FULL/MINIMAL/NO_CHANGES configuration. + // + IsFirstBoot = PcdGetBool(PcdBootState); + if (IsFirstBoot) { + PcdSetBool(PcdBootState, FALSE); } return ReturnStatus; diff --git a/MdeModulePkg/Include/Guid/BootState.h b/MdeModulePkg/Include/Guid/BootState.h deleted file mode 100644 index 1fa7bf588f..0000000000 --- a/MdeModulePkg/Include/Guid/BootState.h +++ /dev/null @@ -1,28 +0,0 @@ -/** @file - This file defines variable name and variable GUID for boot state. - This variable is to mark if the machine has complete one boot cycle before. - After the complete boot, the variable BootState will be set to 1. - -Copyright (c) 2006 - 2008, Intel Corporation.
-All rights reserved. This program and the accompanying materials -are licensed and made available under the terms and conditions of the BSD License -which accompanies this distribution. The full text of the license may be found at -http://opensource.org/licenses/bsd-license.php - -THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. - -**/ - -#ifndef __BOOT_STATE_H__ -#define __BOOT_STATE_H__ - -typedef UINT32 EFI_BOOT_STATE; - -#define BOOT_STATE_VARIABLE_NAME L"BootState" - -#define EFI_BOOT_STATE_VARIABLE_GUID \ - {0x60b5e939, 0xfcf, 0x4227, {0xba, 0x83, 0x6b, 0xbe, 0xd4, 0x5b, 0xc0, 0xe3} } - -extern EFI_GUID gEfiBootStateGuid; -#endif diff --git a/MdeModulePkg/MdeModulePkg.dec b/MdeModulePkg/MdeModulePkg.dec index deda06eede..5f649b5dde 100644 --- a/MdeModulePkg/MdeModulePkg.dec +++ b/MdeModulePkg/MdeModulePkg.dec @@ -125,10 +125,6 @@ ## Include/Guid/PrimaryStandardErrorDevice.h gEfiPrimaryStandardErrorDeviceGuid = { 0x5A68191B, 0x9B97, 0x4752, { 0x99, 0x46, 0xE3, 0x6A, 0x5D, 0xA9, 0x42, 0xB1 }} - ## Variale guid specify boot state. - ## Include/Guid/BootState.h - gEfiBootStateGuid = { 0x60B5E939, 0x0FCF, 0x4227, { 0xBA, 0x83, 0x6B, 0xBE, 0xD4, 0x5B, 0xC0, 0xE3 }} - ## Hob and Variable guid specify the platform memory type information. ## Include/Guid/MemoryTypeInformation.h gEfiMemoryTypeInformationGuid = { 0x4C19049F, 0x4137, 0x4DD3, { 0x9C, 0x10, 0x8B, 0x97, 0xA8, 0x3F, 0xFD, 0xFA }}