MdeModulePkg: Clean up source files
1. Do not use tab characters 2. No trailing white space in one line 3. All files must end with CRLF Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Liming Gao <liming.gao@intel.com> Reviewed-by: Star Zeng <star.zeng@intel.com>
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
/** @file
|
||||
|
||||
Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions
|
||||
@@ -40,7 +40,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
#include <IndustryStandard/PeImage.h>
|
||||
#include "Common/CommonHeader.h"
|
||||
|
||||
#ifdef MDE_CPU_IA32
|
||||
#ifdef MDE_CPU_IA32
|
||||
|
||||
#pragma pack(1)
|
||||
|
||||
@@ -79,7 +79,7 @@ typedef union {
|
||||
UINT64 CacheDisabled:1; // 0 = Cached, 1=Non-Cached
|
||||
UINT64 Accessed:1; // 0 = Not accessed, 1 = Accessed (set by CPU)
|
||||
UINT64 Dirty:1; // 0 = Not Dirty, 1 = written by processor on access to page
|
||||
UINT64 MustBe1:1; // Must be 1
|
||||
UINT64 MustBe1:1; // Must be 1
|
||||
UINT64 Global:1; // 0 = Not global page, 1 = global page TLB not cleared on CR3 write
|
||||
UINT64 Available:3; // Available for use by system software
|
||||
UINT64 PAT:1; //
|
||||
@@ -103,7 +103,7 @@ typedef union {
|
||||
UINT64 CacheDisabled:1; // 0 = Cached, 1=Non-Cached
|
||||
UINT64 Accessed:1; // 0 = Not accessed, 1 = Accessed (set by CPU)
|
||||
UINT64 Dirty:1; // 0 = Not Dirty, 1 = written by processor on access to page
|
||||
UINT64 MustBe1:1; // Must be 1
|
||||
UINT64 MustBe1:1; // Must be 1
|
||||
UINT64 Global:1; // 0 = Not global page, 1 = global page TLB not cleared on CR3 write
|
||||
UINT64 Available:3; // Available for use by system software
|
||||
UINT64 PAT:1; //
|
||||
|
@@ -6,7 +6,7 @@
|
||||
# This external input must be validated carefully to avoid security issue like
|
||||
# buffer overflow, integer overflow.
|
||||
#
|
||||
# Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>
|
||||
# Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
# Copyright (c) 2017, AMD Incorporated. All rights reserved.<BR>
|
||||
#
|
||||
# This program and the accompanying materials
|
||||
@@ -39,7 +39,7 @@
|
||||
[Sources]
|
||||
UefiCapsule.c
|
||||
Capsule.h
|
||||
Common/CapsuleCoalesce.c
|
||||
Common/CapsuleCoalesce.c
|
||||
|
||||
[Packages]
|
||||
MdePkg/MdePkg.dec
|
||||
@@ -70,8 +70,8 @@
|
||||
[Ppis]
|
||||
gEfiPeiReadOnlyVariable2PpiGuid ## CONSUMES
|
||||
gEfiPeiCapsulePpiGuid ## PRODUCES
|
||||
|
||||
[Ppis.IA32]
|
||||
|
||||
[Ppis.IA32]
|
||||
gEfiPeiLoadFilePpiGuid ## SOMETIMES_CONSUMES
|
||||
|
||||
[Pcd.IA32]
|
||||
|
@@ -6,14 +6,14 @@
|
||||
// This external input must be validated carefully to avoid security issue like
|
||||
// buffer overflow, integer overflow.
|
||||
//
|
||||
// Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR>
|
||||
// Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
//
|
||||
// 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.
|
||||
//
|
||||
|
@@ -1,7 +1,7 @@
|
||||
// /** @file
|
||||
// CapsulePei Localized Strings and Content
|
||||
//
|
||||
// Copyright (c) 2013 - 2014, Intel Corporation. All rights reserved.<BR>
|
||||
// Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
//
|
||||
// This program and the accompanying materials
|
||||
// are licensed and made available under the terms and conditions
|
||||
@@ -14,8 +14,8 @@
|
||||
//
|
||||
// **/
|
||||
|
||||
#string STR_PROPERTIES_MODULE_NAME
|
||||
#language en-US
|
||||
#string STR_PROPERTIES_MODULE_NAME
|
||||
#language en-US
|
||||
"Firmware Update PEI Module"
|
||||
|
||||
|
||||
|
@@ -3,20 +3,20 @@
|
||||
//
|
||||
// The X64 entrypoint to process capsule in long mode.
|
||||
// This module is built as X64.
|
||||
//
|
||||
//
|
||||
// Caution: This module requires additional review when modified.
|
||||
// This driver will have external input - capsule image.
|
||||
// This external input must be validated carefully to avoid security issue like
|
||||
// buffer overflow, integer overflow.
|
||||
//
|
||||
// Copyright (c) 2011 - 2014, Intel Corporation. All rights reserved.<BR>
|
||||
// Copyright (c) 2011 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
//
|
||||
// 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.
|
||||
//
|
||||
|
@@ -1,7 +1,7 @@
|
||||
// /** @file
|
||||
// CapsuleX64 Localized Strings and Content
|
||||
//
|
||||
// Copyright (c) 2013 - 2014, Intel Corporation. All rights reserved.<BR>
|
||||
// Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
//
|
||||
// This program and the accompanying materials
|
||||
// are licensed and made available under the terms and conditions
|
||||
@@ -14,8 +14,8 @@
|
||||
//
|
||||
// **/
|
||||
|
||||
#string STR_PROPERTIES_MODULE_NAME
|
||||
#language en-US
|
||||
#string STR_PROPERTIES_MODULE_NAME
|
||||
#language en-US
|
||||
"Firmware Update PEI Module over 4GB"
|
||||
|
||||
|
||||
|
@@ -10,7 +10,7 @@
|
||||
into memory.
|
||||
|
||||
(C) Copyright 2014 Hewlett-Packard Development Company, L.P.<BR>
|
||||
Copyright (c) 2011 - 2017, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2011 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
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
|
||||
@@ -45,7 +45,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
@param MemSize The size of the block of memory pointed to by MemBase
|
||||
@param DataSize How big a free block we want to find
|
||||
|
||||
@return A pointer to a memory block of at least DataSize that lies somewhere
|
||||
@return A pointer to a memory block of at least DataSize that lies somewhere
|
||||
between MemBase and (MemBase + MemSize). The memory pointed to does not
|
||||
contain any of the capsule block descriptors or capsule blocks pointed to
|
||||
by the BlockList.
|
||||
@@ -75,7 +75,7 @@ FindFreeMem (
|
||||
@param MemSize size of the system memory pointed to by MemBase
|
||||
|
||||
@retval NULL could not relocate the descriptors
|
||||
@retval Pointer to the base of the successfully-relocated block descriptors.
|
||||
@retval Pointer to the base of the successfully-relocated block descriptors.
|
||||
|
||||
**/
|
||||
EFI_CAPSULE_BLOCK_DESCRIPTOR *
|
||||
@@ -93,7 +93,7 @@ RelocateBlockDescriptors (
|
||||
@param CapsuleHeader The pointer to EFI_CAPSULE_HEADER
|
||||
|
||||
@retval FALSE Capsule is OK
|
||||
@retval TRUE Capsule is corrupted
|
||||
@retval TRUE Capsule is corrupted
|
||||
|
||||
**/
|
||||
BOOLEAN
|
||||
@@ -153,7 +153,7 @@ GetCapsuleInfo (
|
||||
@param MemSize The size of the block of memory pointed to by MemBase
|
||||
@param DataSize How big a free block we want to find
|
||||
|
||||
@return A pointer to a memory block of at least DataSize that lies somewhere
|
||||
@return A pointer to a memory block of at least DataSize that lies somewhere
|
||||
between MemBase and (MemBase + MemSize). The memory pointed to does not
|
||||
contain any of the capsule block descriptors or capsule blocks pointed to
|
||||
by the BlockList.
|
||||
@@ -321,7 +321,7 @@ ValidateCapsuleIntegrity (
|
||||
// * The first capsule header flag
|
||||
// * The first capsule header HeaderSize
|
||||
// * Below check will be done in ValidateCapsuleByMemoryResource()
|
||||
// Length > MAX_ADDRESS
|
||||
// Length > MAX_ADDRESS
|
||||
// Ptr + sizeof (EFI_CAPSULE_BLOCK_DESCRIPTOR) > MAX_ADDRESS
|
||||
// DataBlock + Length > MAX_ADDRESS
|
||||
//
|
||||
@@ -450,7 +450,7 @@ ValidateCapsuleIntegrity (
|
||||
@param MemSize size of the system memory pointed to by MemBase
|
||||
|
||||
@retval NULL could not relocate the descriptors
|
||||
@retval Pointer to the base of the successfully-relocated block descriptors.
|
||||
@retval Pointer to the base of the successfully-relocated block descriptors.
|
||||
|
||||
**/
|
||||
EFI_CAPSULE_BLOCK_DESCRIPTOR *
|
||||
@@ -737,7 +737,7 @@ GetCapsuleInfo (
|
||||
@param CapsuleHeader The pointer to EFI_CAPSULE_HEADER
|
||||
|
||||
@retval FALSE Capsule is OK
|
||||
@retval TRUE Capsule is corrupted
|
||||
@retval TRUE Capsule is corrupted
|
||||
|
||||
**/
|
||||
BOOLEAN
|
||||
@@ -769,7 +769,7 @@ IsCapsuleCorrupted (
|
||||
capsule gets coalesced. This can be useful in narrowing down
|
||||
where capsule data corruption occurs.
|
||||
|
||||
The test pattern mode fills in memory with a counting UINT32 value.
|
||||
The test pattern mode fills in memory with a counting UINT32 value.
|
||||
If the capsule is not divided up in a multiple of 4-byte blocks, then
|
||||
things get messy doing the check. Therefore there are some cases
|
||||
here where we just give up and skip the pre-coalesce check.
|
||||
@@ -865,7 +865,7 @@ EFI_STATUS
|
||||
BuildCapsuleDescriptors (
|
||||
IN EFI_PHYSICAL_ADDRESS *BlockListBuffer,
|
||||
IN MEMORY_RESOURCE_DESCRIPTOR *MemoryResource,
|
||||
OUT EFI_CAPSULE_BLOCK_DESCRIPTOR **BlockDescriptorList
|
||||
OUT EFI_CAPSULE_BLOCK_DESCRIPTOR **BlockDescriptorList
|
||||
)
|
||||
{
|
||||
UINTN Index;
|
||||
@@ -908,7 +908,7 @@ BuildCapsuleDescriptors (
|
||||
}
|
||||
Index ++;
|
||||
}
|
||||
|
||||
|
||||
if (HeadBlock != NULL) {
|
||||
*BlockDescriptorList = HeadBlock;
|
||||
return EFI_SUCCESS;
|
||||
@@ -930,7 +930,7 @@ BuildCapsuleDescriptors (
|
||||
| ------------------------- | |
|
||||
| | Capsule [0] | | |
|
||||
| ------------------------- | |
|
||||
| Capsule Image | |
|
||||
| Capsule Image | |
|
||||
CapsuleImageBase-->+---------------------------+
|
||||
| ------------------------- | |
|
||||
| | CapsuleOffset[Num-1] | | |
|
||||
@@ -1004,9 +1004,9 @@ CapsuleDataCoalesce (
|
||||
UINT8 *DestPtr;
|
||||
UINTN DestLength;
|
||||
UINT8 *RelocPtr;
|
||||
UINTN CapsuleTimes;
|
||||
UINT64 SizeLeft;
|
||||
UINT64 CapsuleImageSize;
|
||||
UINTN CapsuleTimes;
|
||||
UINT64 SizeLeft;
|
||||
UINT64 CapsuleImageSize;
|
||||
UINTN CapsuleSize;
|
||||
UINTN CapsuleNumber;
|
||||
UINTN DescriptorsSize;
|
||||
@@ -1265,7 +1265,7 @@ CapsuleDataCoalesce (
|
||||
//
|
||||
//Here is the end of the current capsule image.
|
||||
//
|
||||
CapsuleBeginFlag = TRUE;
|
||||
CapsuleBeginFlag = TRUE;
|
||||
}
|
||||
} else {
|
||||
//
|
||||
|
@@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
Capsule update PEIM for UEFI2.0
|
||||
|
||||
Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2017, AMD Incorporated. All rights reserved.<BR>
|
||||
|
||||
This program and the accompanying materials
|
||||
@@ -133,7 +133,7 @@ Create4GPageTables (
|
||||
IN EFI_PHYSICAL_ADDRESS PageTablesAddress,
|
||||
IN BOOLEAN Page1GSupport
|
||||
)
|
||||
{
|
||||
{
|
||||
UINT8 PhysicalAddressBits;
|
||||
EFI_PHYSICAL_ADDRESS PageAddress;
|
||||
UINTN IndexOfPml4Entries;
|
||||
@@ -172,7 +172,7 @@ Create4GPageTables (
|
||||
}
|
||||
|
||||
//
|
||||
// Pre-allocate big pages to avoid later allocations.
|
||||
// Pre-allocate big pages to avoid later allocations.
|
||||
//
|
||||
BigPageAddress = (UINTN) PageTablesAddress;
|
||||
|
||||
@@ -201,7 +201,7 @@ Create4GPageTables (
|
||||
|
||||
if (Page1GSupport) {
|
||||
PageDirectory1GEntry = (VOID *) PageDirectoryPointerEntry;
|
||||
|
||||
|
||||
for (IndexOfPageDirectoryEntries = 0; IndexOfPageDirectoryEntries < 512; IndexOfPageDirectoryEntries++, PageDirectory1GEntry++, PageAddress += SIZE_1GB) {
|
||||
//
|
||||
// Fill in the Page Directory entries
|
||||
@@ -216,7 +216,7 @@ Create4GPageTables (
|
||||
//
|
||||
// Each Directory Pointer entries points to a page of Page Directory entires.
|
||||
// So allocate space for them and fill them in in the IndexOfPageDirectoryEntries loop.
|
||||
//
|
||||
//
|
||||
PageDirectoryEntry = (VOID *) BigPageAddress;
|
||||
BigPageAddress += SIZE_4KB;
|
||||
|
||||
@@ -360,7 +360,7 @@ Thunk32To64 (
|
||||
if ((UINTN) ReturnContext->ReturnStatus != 0) {
|
||||
Status = ENCODE_ERROR ((UINTN) ReturnContext->ReturnStatus);
|
||||
}
|
||||
|
||||
|
||||
return Status;
|
||||
}
|
||||
|
||||
@@ -401,7 +401,7 @@ ModeSwitch (
|
||||
|
||||
ZeroMem (&Context, sizeof (SWITCH_32_TO_64_CONTEXT));
|
||||
ZeroMem (&ReturnContext, sizeof (SWITCH_64_TO_32_CONTEXT));
|
||||
|
||||
|
||||
MemoryBase64 = (UINT64) (UINTN) *MemoryBase;
|
||||
MemorySize64 = (UINT64) (UINTN) *MemorySize;
|
||||
MemoryEnd64 = MemoryBase64 + MemorySize64;
|
||||
@@ -409,7 +409,7 @@ ModeSwitch (
|
||||
Page1GSupport = IsPage1GSupport ();
|
||||
|
||||
//
|
||||
// Merge memory range reserved for stack and page table
|
||||
// Merge memory range reserved for stack and page table
|
||||
//
|
||||
if (LongModeBuffer->StackBaseAddress < LongModeBuffer->PageTableAddress) {
|
||||
ReservedRangeBase = LongModeBuffer->StackBaseAddress;
|
||||
@@ -462,14 +462,14 @@ ModeSwitch (
|
||||
// Will save the return status of processing capsule
|
||||
//
|
||||
ReturnContext.ReturnStatus = 0;
|
||||
|
||||
|
||||
//
|
||||
// Save original GDT
|
||||
//
|
||||
AsmReadGdtr ((IA32_DESCRIPTOR *)&ReturnContext.Gdtr);
|
||||
|
||||
|
||||
Status = Thunk32To64 (LongModeBuffer->PageTableAddress, &Context, &ReturnContext);
|
||||
|
||||
|
||||
if (!EFI_ERROR (Status)) {
|
||||
*MemoryBase = (VOID *) (UINTN) MemoryBase64;
|
||||
*MemorySize = (UINTN) MemorySize64;
|
||||
@@ -685,7 +685,7 @@ MergeMemoryResourceDescriptor (
|
||||
if (NewMemoryResourceEntry != MemoryResourceEntry) {
|
||||
NewMemoryResourceEntry->ResourceLength += NextMemoryResourceEntry->ResourceLength;
|
||||
}
|
||||
|
||||
|
||||
NextMemoryResourceEntry = NextMemoryResourceEntry + 1;
|
||||
}
|
||||
|
||||
@@ -743,7 +743,7 @@ BuildMemoryResourceDescriptor (
|
||||
Status = PeiServicesAllocatePool ((1 + 1) * sizeof (MEMORY_RESOURCE_DESCRIPTOR), (VOID **) &MemoryResource);
|
||||
ASSERT_EFI_ERROR (Status);
|
||||
ZeroMem (MemoryResource, (1 + 1) * sizeof (MEMORY_RESOURCE_DESCRIPTOR));
|
||||
|
||||
|
||||
MemoryResource[0].PhysicalStart = 0;
|
||||
MemoryResource[0].ResourceLength = LShiftU64 (1, GetPhysicalAddressBits ());
|
||||
DEBUG ((EFI_D_INFO, "MemoryResource[0x0] - Start(0x%0lx) Length(0x%0lx)\n",
|
||||
@@ -828,7 +828,7 @@ GetCapsuleDescriptors (
|
||||
CapsuleVarName[0] = 0;
|
||||
ValidIndex = 0;
|
||||
CapsuleDataPtr64 = 0;
|
||||
|
||||
|
||||
Status = PeiServicesLocatePpi (
|
||||
&gEfiPeiReadOnlyVariable2PpiGuid,
|
||||
0,
|
||||
@@ -885,7 +885,7 @@ GetCapsuleDescriptors (
|
||||
if (EFI_ERROR (Status)) {
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// If this BlockList has been linked before, skip this variable
|
||||
//
|
||||
@@ -901,7 +901,7 @@ GetCapsuleDescriptors (
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Cache BlockList which has been processed
|
||||
//
|
||||
@@ -909,7 +909,7 @@ GetCapsuleDescriptors (
|
||||
Index ++;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
|
||||
@@ -949,7 +949,7 @@ CapsuleCoalesce (
|
||||
UINTN VariableCount;
|
||||
CHAR16 CapsuleVarName[30];
|
||||
CHAR16 *TempVarName;
|
||||
EFI_PHYSICAL_ADDRESS CapsuleDataPtr64;
|
||||
EFI_PHYSICAL_ADDRESS CapsuleDataPtr64;
|
||||
EFI_STATUS Status;
|
||||
EFI_BOOT_MODE BootMode;
|
||||
EFI_PEI_READ_ONLY_VARIABLE2_PPI *PPIVariableServices;
|
||||
@@ -973,11 +973,11 @@ CapsuleCoalesce (
|
||||
//
|
||||
Status = PeiServicesGetBootMode (&BootMode);
|
||||
if (EFI_ERROR (Status) || (BootMode != BOOT_ON_FLASH_UPDATE)) {
|
||||
DEBUG ((EFI_D_ERROR, "Boot mode is not correct for capsule update path.\n"));
|
||||
DEBUG ((EFI_D_ERROR, "Boot mode is not correct for capsule update path.\n"));
|
||||
Status = EFI_NOT_FOUND;
|
||||
goto Done;
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// User may set the same ScatterGatherList with several different variables,
|
||||
// so cache all ScatterGatherList for check later.
|
||||
@@ -1022,9 +1022,9 @@ CapsuleCoalesce (
|
||||
VariableCount++;
|
||||
Index++;
|
||||
}
|
||||
|
||||
|
||||
DEBUG ((EFI_D_INFO,"Capsule variable count = %d\n", VariableCount));
|
||||
|
||||
|
||||
//
|
||||
// The last entry is the end flag.
|
||||
//
|
||||
@@ -1037,9 +1037,9 @@ CapsuleCoalesce (
|
||||
DEBUG ((EFI_D_ERROR, "AllocatePages Failed!, Status = %x\n", Status));
|
||||
goto Done;
|
||||
}
|
||||
|
||||
|
||||
ZeroMem (VariableArrayAddress, (VariableCount + 1) * sizeof (EFI_PHYSICAL_ADDRESS));
|
||||
|
||||
|
||||
//
|
||||
// Find out if we actually have a capsule.
|
||||
// GetCapsuleDescriptors depends on variable PPI, so it should run in 32-bit environment.
|
||||
@@ -1068,7 +1068,7 @@ CapsuleCoalesce (
|
||||
Status = EFI_NOT_FOUND;
|
||||
goto Done;
|
||||
}
|
||||
|
||||
|
||||
Status = FindCapsuleCoalesceImage (&CoalesceImageEntryPoint, &CoalesceImageMachineType);
|
||||
if ((EFI_ERROR (Status)) || (CoalesceImageMachineType != EFI_IMAGE_MACHINE_X64)) {
|
||||
DEBUG ((EFI_D_ERROR, "Fail to find CapsuleX64 module in FV!\n"));
|
||||
@@ -1090,13 +1090,13 @@ CapsuleCoalesce (
|
||||
//
|
||||
Status = CapsuleDataCoalesce (PeiServices, (EFI_PHYSICAL_ADDRESS *)(UINTN)VariableArrayAddress, MemoryResource, MemoryBase, MemorySize);
|
||||
#endif
|
||||
|
||||
|
||||
DEBUG ((EFI_D_INFO, "Capsule Coalesce Status = %r!\n", Status));
|
||||
|
||||
if (Status == EFI_BUFFER_TOO_SMALL) {
|
||||
DEBUG ((EFI_D_ERROR, "There is not enough memory to process capsule!\n"));
|
||||
}
|
||||
|
||||
|
||||
if (Status == EFI_NOT_FOUND) {
|
||||
DEBUG ((EFI_D_ERROR, "Fail to parse capsule descriptor in memory!\n"));
|
||||
REPORT_STATUS_CODE (
|
||||
@@ -1129,9 +1129,9 @@ CheckCapsuleUpdate (
|
||||
return Status;
|
||||
}
|
||||
/**
|
||||
This function will look at a capsule and determine if it's a test pattern.
|
||||
This function will look at a capsule and determine if it's a test pattern.
|
||||
If it is, then it will verify it and emit an error message if corruption is detected.
|
||||
|
||||
|
||||
@param PeiServices Standard pei services pointer
|
||||
@param CapsuleBase Base address of coalesced capsule, which is preceeded
|
||||
by private data. Very implementation specific.
|
||||
@@ -1220,7 +1220,7 @@ CreateState (
|
||||
UINT32 Index;
|
||||
EFI_PHYSICAL_ADDRESS BaseAddress;
|
||||
UINT64 Length;
|
||||
|
||||
|
||||
PrivateData = (EFI_CAPSULE_PEIM_PRIVATE_DATA *) CapsuleBase;
|
||||
if (PrivateData->Signature != EFI_CAPSULE_PEIM_PRIVATE_DATA_SIGNATURE) {
|
||||
return EFI_VOLUME_CORRUPTED;
|
||||
@@ -1276,7 +1276,7 @@ CreateState (
|
||||
|
||||
BuildCvHob (BaseAddress, Length);
|
||||
}
|
||||
|
||||
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
|
||||
|
@@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
The X64 entrypoint is used to process capsule in long mode.
|
||||
|
||||
Copyright (c) 2011 - 2016, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2011 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2017, AMD Incorporated. All rights reserved.<BR>
|
||||
|
||||
This program and the accompanying materials
|
||||
@@ -165,7 +165,7 @@ PageFaultHandler (
|
||||
//
|
||||
// Get the IDT Descriptor.
|
||||
//
|
||||
AsmReadIdtr ((IA32_DESCRIPTOR *) &Idtr);
|
||||
AsmReadIdtr ((IA32_DESCRIPTOR *) &Idtr);
|
||||
//
|
||||
// Then get page fault context by IDT Descriptor.
|
||||
//
|
||||
@@ -233,7 +233,7 @@ _ModuleEntryPoint (
|
||||
//
|
||||
// Save the IA32 IDT Descriptor
|
||||
//
|
||||
AsmReadIdtr ((IA32_DESCRIPTOR *) &Ia32Idtr);
|
||||
AsmReadIdtr ((IA32_DESCRIPTOR *) &Ia32Idtr);
|
||||
|
||||
//
|
||||
// Setup X64 IDT table
|
||||
@@ -241,7 +241,7 @@ _ModuleEntryPoint (
|
||||
ZeroMem (PageFaultIdtTable.IdtEntryTable, sizeof (IA32_IDT_GATE_DESCRIPTOR) * EXCEPTION_VECTOR_NUMBER);
|
||||
X64Idtr.Base = (UINTN) PageFaultIdtTable.IdtEntryTable;
|
||||
X64Idtr.Limit = (UINT16) (sizeof (IA32_IDT_GATE_DESCRIPTOR) * EXCEPTION_VECTOR_NUMBER - 1);
|
||||
AsmWriteIdtr ((IA32_DESCRIPTOR *) &X64Idtr);
|
||||
AsmWriteIdtr ((IA32_DESCRIPTOR *) &X64Idtr);
|
||||
|
||||
//
|
||||
// Setup the default CPU exception handlers
|
||||
@@ -272,7 +272,7 @@ _ModuleEntryPoint (
|
||||
(VOID **) (UINTN) EntrypointContext->MemoryBase64Ptr,
|
||||
(UINTN *) (UINTN) EntrypointContext->MemorySize64Ptr
|
||||
);
|
||||
|
||||
|
||||
ReturnContext->ReturnStatus = Status;
|
||||
|
||||
DEBUG ((
|
||||
@@ -290,8 +290,8 @@ _ModuleEntryPoint (
|
||||
//
|
||||
// Restore IA32 IDT table
|
||||
//
|
||||
AsmWriteIdtr ((IA32_DESCRIPTOR *) &Ia32Idtr);
|
||||
|
||||
AsmWriteIdtr ((IA32_DESCRIPTOR *) &Ia32Idtr);
|
||||
|
||||
//
|
||||
// Finish to coalesce capsule, and return to 32-bit mode.
|
||||
//
|
||||
@@ -301,8 +301,8 @@ _ModuleEntryPoint (
|
||||
(UINT32) (UINTN) EntrypointContext,
|
||||
(UINT32) (UINTN) ReturnContext,
|
||||
(UINT32) (EntrypointContext->StackBufferBase + EntrypointContext->StackBufferLength)
|
||||
);
|
||||
|
||||
);
|
||||
|
||||
//
|
||||
// Should never be here.
|
||||
//
|
||||
|
Reference in New Issue
Block a user