mirror of https://github.com/acidanthera/audk.git
Rename the MemoryTest Pei and Dxe.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3361 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
aced30c670
commit
05177bef44
|
@ -405,9 +405,9 @@
|
||||||
$(WORKSPACE)/MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
|
$(WORKSPACE)/MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
|
||||||
$(WORKSPACE)/MdeModulePkg/Universal/SecurityStubDxe/SecurityStub.inf
|
$(WORKSPACE)/MdeModulePkg/Universal/SecurityStubDxe/SecurityStub.inf
|
||||||
|
|
||||||
$(WORKSPACE)/MdeModulePkg/Universal/GenericMemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf
|
|
||||||
$(WORKSPACE)/MdeModulePkg/Universal/FirmwareVolume/FaultTolerantWriteDxe/FtwLite.inf
|
$(WORKSPACE)/MdeModulePkg/Universal/FirmwareVolume/FaultTolerantWriteDxe/FtwLite.inf
|
||||||
$(WORKSPACE)/MdeModulePkg/Universal/BaseMemoryTestPei/BaseMemoryTest.inf
|
$(WORKSPACE)/MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf
|
||||||
|
$(WORKSPACE)/MdeModulePkg/Universal/MemoryTest/BaseMemoryTestPei/BaseMemoryTestPei.inf
|
||||||
$(WORKSPACE)/MdeModulePkg/Universal/FirmwareVolume/Crc32SectionExtractDxe/Crc32SectionExtractDxe.inf
|
$(WORKSPACE)/MdeModulePkg/Universal/FirmwareVolume/Crc32SectionExtractDxe/Crc32SectionExtractDxe.inf
|
||||||
$(WORKSPACE)/MdeModulePkg/Universal/RuntimeDxe/Runtime.inf
|
$(WORKSPACE)/MdeModulePkg/Universal/RuntimeDxe/Runtime.inf
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,145 @@
|
||||||
|
/*++
|
||||||
|
|
||||||
|
Copyright (c) 2006 - 2007, 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.
|
||||||
|
|
||||||
|
Module Name:
|
||||||
|
|
||||||
|
BaseMemoryTest.c
|
||||||
|
|
||||||
|
Abstract:
|
||||||
|
|
||||||
|
The PEI memory test support
|
||||||
|
|
||||||
|
--*/
|
||||||
|
|
||||||
|
#include <BaseMemoryTest.h>
|
||||||
|
|
||||||
|
static PEI_BASE_MEMORY_TEST_PPI mPeiBaseMemoryTestPpi = { BaseMemoryTest };
|
||||||
|
|
||||||
|
static EFI_PEI_PPI_DESCRIPTOR PpiListPeiBaseMemoryTest = {
|
||||||
|
(EFI_PEI_PPI_DESCRIPTOR_PPI | EFI_PEI_PPI_DESCRIPTOR_TERMINATE_LIST),
|
||||||
|
&gPeiBaseMemoryTestPpiGuid,
|
||||||
|
&mPeiBaseMemoryTestPpi
|
||||||
|
};
|
||||||
|
|
||||||
|
EFI_STATUS
|
||||||
|
EFIAPI
|
||||||
|
PeiBaseMemoryTestInit (
|
||||||
|
IN EFI_FFS_FILE_HEADER *FfsHeader,
|
||||||
|
IN EFI_PEI_SERVICES **PeiServices
|
||||||
|
)
|
||||||
|
/*++
|
||||||
|
Description:
|
||||||
|
|
||||||
|
Entry point function of BaseMemoryTestInit Peim.
|
||||||
|
|
||||||
|
Arguments:
|
||||||
|
|
||||||
|
PeiServices - General purpose services available to every PEIM.
|
||||||
|
FfsHeader - Ffs header pointer
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
|
||||||
|
Status - Result of InstallPpi
|
||||||
|
|
||||||
|
--*/
|
||||||
|
{
|
||||||
|
EFI_STATUS Status;
|
||||||
|
|
||||||
|
Status = (**PeiServices).InstallPpi (PeiServices, &PpiListPeiBaseMemoryTest);
|
||||||
|
|
||||||
|
return Status;
|
||||||
|
}
|
||||||
|
|
||||||
|
EFI_STATUS
|
||||||
|
EFIAPI
|
||||||
|
BaseMemoryTest (
|
||||||
|
IN EFI_PEI_SERVICES **PeiServices,
|
||||||
|
IN PEI_BASE_MEMORY_TEST_PPI *This,
|
||||||
|
IN EFI_PHYSICAL_ADDRESS BeginAddress,
|
||||||
|
IN UINT64 MemoryLength,
|
||||||
|
IN PEI_MEMORY_TEST_OP Operation,
|
||||||
|
OUT EFI_PHYSICAL_ADDRESS *ErrorAddress
|
||||||
|
)
|
||||||
|
/*++
|
||||||
|
Description:
|
||||||
|
|
||||||
|
Test base memory.
|
||||||
|
|
||||||
|
Arguments:
|
||||||
|
|
||||||
|
PeiServices - General purpose services available to every PEIM.
|
||||||
|
This - Pei memory test PPI pointer.
|
||||||
|
BeginAddress - Beginning of the memory address to be checked.
|
||||||
|
MemoryLength - Bytes of memory range to be checked.
|
||||||
|
Operation - Type of memory check operation to be performed.
|
||||||
|
ErrorAddress - Return the address of the error memory address.
|
||||||
|
ErrorAddress - Address which has error when checked.
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
|
||||||
|
Status - Result of InstallPpi
|
||||||
|
|
||||||
|
--*/
|
||||||
|
{
|
||||||
|
UINT32 TestPattern;
|
||||||
|
EFI_PHYSICAL_ADDRESS TempAddress;
|
||||||
|
UINT32 SpanSize;
|
||||||
|
|
||||||
|
REPORT_STATUS_CODE (EFI_PROGRESS_CODE, PcdGet32 (PcdStatusCodeValueMemoryTestStarted));
|
||||||
|
|
||||||
|
TestPattern = TEST_PATTERN;
|
||||||
|
SpanSize = 0;
|
||||||
|
|
||||||
|
//
|
||||||
|
// Make sure we don't try and test anything above the max physical address range
|
||||||
|
//
|
||||||
|
ASSERT (BeginAddress + MemoryLength < EFI_MAX_ADDRESS);
|
||||||
|
|
||||||
|
switch (Operation) {
|
||||||
|
case Extensive:
|
||||||
|
SpanSize = 0x4;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case Sparse:
|
||||||
|
case Quick:
|
||||||
|
SpanSize = COVER_SPAN;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case Ignore:
|
||||||
|
goto Done;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
//
|
||||||
|
// Write the test pattern into memory range
|
||||||
|
//
|
||||||
|
TempAddress = BeginAddress;
|
||||||
|
while (TempAddress < BeginAddress + MemoryLength) {
|
||||||
|
(*(UINT32 *) (UINTN) TempAddress) = TestPattern;
|
||||||
|
TempAddress += SpanSize;
|
||||||
|
}
|
||||||
|
//
|
||||||
|
// Read pattern from memory and compare it
|
||||||
|
//
|
||||||
|
TempAddress = BeginAddress;
|
||||||
|
while (TempAddress < BeginAddress + MemoryLength) {
|
||||||
|
if ((*(UINT32 *) (UINTN) TempAddress) != TestPattern) {
|
||||||
|
*ErrorAddress = TempAddress;
|
||||||
|
REPORT_STATUS_CODE (EFI_ERROR_CODE | EFI_ERROR_UNRECOVERED, PcdGet32 (PcdStatusCodeValueUncorrectableMemoryError));
|
||||||
|
|
||||||
|
return EFI_DEVICE_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
|
TempAddress += SpanSize;
|
||||||
|
}
|
||||||
|
|
||||||
|
Done:
|
||||||
|
return EFI_SUCCESS;
|
||||||
|
}
|
|
@ -0,0 +1,95 @@
|
||||||
|
/*++
|
||||||
|
|
||||||
|
Copyright (c) 2006 - 2007, 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.
|
||||||
|
|
||||||
|
Module Name:
|
||||||
|
|
||||||
|
BaseMemoryTest.h
|
||||||
|
|
||||||
|
Abstract:
|
||||||
|
|
||||||
|
Tiano PEIM to provide a PEI memory test service.
|
||||||
|
|
||||||
|
--*/
|
||||||
|
|
||||||
|
#ifndef _PEI_BASE_MEMORY_TEST_H_
|
||||||
|
#define _PEI_BASE_MEMORY_TEST_H_
|
||||||
|
|
||||||
|
#include <PiPei.h>
|
||||||
|
#include <Ppi/BaseMemoryTest.h>
|
||||||
|
#include <Library/DebugLib.h>
|
||||||
|
#include <Library/PeimEntryPoint.h>
|
||||||
|
#include <Library/ReportStatusCodeLib.h>
|
||||||
|
#include <Library/PcdLib.h>
|
||||||
|
|
||||||
|
|
||||||
|
//
|
||||||
|
// Some global define
|
||||||
|
//
|
||||||
|
#define COVER_SPAN 0x40000
|
||||||
|
#define TEST_PATTERN 0x5A5A5A5A
|
||||||
|
|
||||||
|
EFI_STATUS
|
||||||
|
EFIAPI
|
||||||
|
PeiBaseMemoryTestInit (
|
||||||
|
IN EFI_FFS_FILE_HEADER *FfsHeader,
|
||||||
|
IN EFI_PEI_SERVICES **PeiServices
|
||||||
|
)
|
||||||
|
/*++
|
||||||
|
|
||||||
|
Routine Description:
|
||||||
|
|
||||||
|
TODO: Add function description
|
||||||
|
|
||||||
|
Arguments:
|
||||||
|
|
||||||
|
FfsHeader - TODO: add argument description
|
||||||
|
PeiServices - TODO: add argument description
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
|
||||||
|
TODO: add return values
|
||||||
|
|
||||||
|
--*/
|
||||||
|
;
|
||||||
|
|
||||||
|
EFI_STATUS
|
||||||
|
EFIAPI
|
||||||
|
BaseMemoryTest (
|
||||||
|
IN EFI_PEI_SERVICES **PeiServices,
|
||||||
|
IN PEI_BASE_MEMORY_TEST_PPI *This,
|
||||||
|
IN EFI_PHYSICAL_ADDRESS BeginAddress,
|
||||||
|
IN UINT64 MemoryLength,
|
||||||
|
IN PEI_MEMORY_TEST_OP Operation,
|
||||||
|
OUT EFI_PHYSICAL_ADDRESS *ErrorAddress
|
||||||
|
)
|
||||||
|
/*++
|
||||||
|
|
||||||
|
Routine Description:
|
||||||
|
|
||||||
|
TODO: Add function description
|
||||||
|
|
||||||
|
Arguments:
|
||||||
|
|
||||||
|
PeiServices - TODO: add argument description
|
||||||
|
This - TODO: add argument description
|
||||||
|
BeginAddress - TODO: add argument description
|
||||||
|
MemoryLength - TODO: add argument description
|
||||||
|
Operation - TODO: add argument description
|
||||||
|
ErrorAddress - TODO: add argument description
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
|
||||||
|
TODO: add return values
|
||||||
|
|
||||||
|
--*/
|
||||||
|
;
|
||||||
|
|
||||||
|
#endif
|
|
@ -0,0 +1,56 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ModuleSurfaceArea xmlns="http://www.TianoCore.org/2006/Edk2.0">
|
||||||
|
<MsaHeader>
|
||||||
|
<ModuleName>PeiBaseMemoryTestInit</ModuleName>
|
||||||
|
<ModuleType>PEIM</ModuleType>
|
||||||
|
<GuidValue>736EB068-8C01-47c5-964B-1C57BD5D4D64</GuidValue>
|
||||||
|
<Version>1.0</Version>
|
||||||
|
<Abstract>Component description file for PeiBaseMemoryTestInit module.</Abstract>
|
||||||
|
<Description>This driver provides memory test ppi for memory test in Pei Phase.</Description>
|
||||||
|
<Copyright>Copyright (c) 2006 - 2007, Intel Corporation</Copyright>
|
||||||
|
<License>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.</License>
|
||||||
|
<Specification>FRAMEWORK_BUILD_PACKAGING_SPECIFICATION 0x00000052</Specification>
|
||||||
|
</MsaHeader>
|
||||||
|
<ModuleDefinitions>
|
||||||
|
<SupportedArchitectures>IA32 X64 IPF EBC</SupportedArchitectures>
|
||||||
|
<BinaryModule>false</BinaryModule>
|
||||||
|
<OutputFileBasename>PeiBaseMemoryTestInit</OutputFileBasename>
|
||||||
|
</ModuleDefinitions>
|
||||||
|
<LibraryClassDefinitions>
|
||||||
|
<LibraryClass Usage="ALWAYS_CONSUMED" RecommendedInstanceGuid="bda39d3a-451b-4350-8266-81ab10fa0523">
|
||||||
|
<Keyword>DebugLib</Keyword>
|
||||||
|
<HelpText>Recommended libary Instance is PeiDxeDebugLibReportStatusCode instance in MdePkg.</HelpText>
|
||||||
|
</LibraryClass>
|
||||||
|
<LibraryClass Usage="ALWAYS_CONSUMED">
|
||||||
|
<Keyword>PeimEntryPoint</Keyword>
|
||||||
|
</LibraryClass>
|
||||||
|
<LibraryClass Usage="ALWAYS_CONSUMED">
|
||||||
|
<Keyword>ReportStatusCodeLib</Keyword>
|
||||||
|
</LibraryClass>
|
||||||
|
</LibraryClassDefinitions>
|
||||||
|
<SourceFiles>
|
||||||
|
<Filename>BaseMemoryTest.h</Filename>
|
||||||
|
<Filename>BaseMemoryTest.c</Filename>
|
||||||
|
</SourceFiles>
|
||||||
|
<PackageDependencies>
|
||||||
|
<Package PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec"/>
|
||||||
|
<Package PackageGuid="68169ab0-d41b-4009-9060-292c253ac43d"/>
|
||||||
|
</PackageDependencies>
|
||||||
|
<PPIs>
|
||||||
|
<Ppi Usage="ALWAYS_PRODUCED">
|
||||||
|
<PpiCName>gPeiBaseMemoryTestPpiGuid</PpiCName>
|
||||||
|
</Ppi>
|
||||||
|
</PPIs>
|
||||||
|
<Externs>
|
||||||
|
<Specification>EFI_SPECIFICATION_VERSION 0x00020000</Specification>
|
||||||
|
<Specification>EDK_RELEASE_VERSION 0x00020000</Specification>
|
||||||
|
<Extern>
|
||||||
|
<ModuleEntryPoint>PeiBaseMemoryTestInit</ModuleEntryPoint>
|
||||||
|
</Extern>
|
||||||
|
</Externs>
|
||||||
|
</ModuleSurfaceArea>
|
|
@ -0,0 +1,48 @@
|
||||||
|
#/** @file
|
||||||
|
# Component description file for PeiBaseMemoryTestInit module.
|
||||||
|
#
|
||||||
|
# This driver provides memory test ppi for memory test in Pei Phase.
|
||||||
|
# Copyright (c) 2006 - 2007, 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.
|
||||||
|
#
|
||||||
|
#
|
||||||
|
#**/
|
||||||
|
|
||||||
|
[Defines]
|
||||||
|
INF_VERSION = 0x00010005
|
||||||
|
BASE_NAME = PeiBaseMemoryTestInit
|
||||||
|
FILE_GUID = 736EB068-8C01-47c5-964B-1C57BD5D4D64
|
||||||
|
MODULE_TYPE = PEIM
|
||||||
|
VERSION_STRING = 1.0
|
||||||
|
EDK_RELEASE_VERSION = 0x00020000
|
||||||
|
EFI_SPECIFICATION_VERSION = 0x00020000
|
||||||
|
|
||||||
|
ENTRY_POINT = PeiBaseMemoryTestInit
|
||||||
|
|
||||||
|
# VALID_ARCHITECTURES = IA32 X64 IPF EBC
|
||||||
|
|
||||||
|
[Sources.common]
|
||||||
|
BaseMemoryTest.c
|
||||||
|
BaseMemoryTest.h
|
||||||
|
|
||||||
|
[Packages]
|
||||||
|
MdePkg/MdePkg.dec
|
||||||
|
|
||||||
|
[LibraryClasses]
|
||||||
|
ReportStatusCodeLib
|
||||||
|
PeimEntryPoint
|
||||||
|
DebugLib
|
||||||
|
|
||||||
|
[Ppis]
|
||||||
|
gPeiBaseMemoryTestPpiGuid # PPI ALWAYS_PRODUCED
|
||||||
|
|
||||||
|
[PcdsFixedAtBuild.common]
|
||||||
|
PcdStatusCodeValueMemoryTestStarted|gEfiMdePkgTokenSpaceGuid
|
||||||
|
PcdStatusCodeValueUncorrectableMemoryError|gEfiMdePkgTokenSpaceGuid
|
||||||
|
|
|
@ -0,0 +1,214 @@
|
||||||
|
/*++
|
||||||
|
|
||||||
|
Copyright (c) 2006 - 2007, 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.
|
||||||
|
|
||||||
|
Module Name:
|
||||||
|
|
||||||
|
NullMemoryTest.c
|
||||||
|
|
||||||
|
Abstract:
|
||||||
|
|
||||||
|
--*/
|
||||||
|
|
||||||
|
|
||||||
|
#include "NullMemoryTest.h"
|
||||||
|
|
||||||
|
//
|
||||||
|
// Module global members
|
||||||
|
//
|
||||||
|
UINT64 mTestedSystemMemory = 0;
|
||||||
|
UINT64 mTotalSystemMemory = 0;
|
||||||
|
EFI_HANDLE mGenericMemoryTestHandle;
|
||||||
|
|
||||||
|
//
|
||||||
|
// Driver entry here
|
||||||
|
//
|
||||||
|
EFI_GENERIC_MEMORY_TEST_PROTOCOL mGenericMemoryTest = {
|
||||||
|
InitializeMemoryTest,
|
||||||
|
GenPerformMemoryTest,
|
||||||
|
GenMemoryTestFinished,
|
||||||
|
GenCompatibleRangeTest
|
||||||
|
};
|
||||||
|
|
||||||
|
EFI_STATUS
|
||||||
|
EFIAPI
|
||||||
|
GenericMemoryTestEntryPoint (
|
||||||
|
IN EFI_HANDLE ImageHandle,
|
||||||
|
IN EFI_SYSTEM_TABLE *SystemTable
|
||||||
|
)
|
||||||
|
/*++
|
||||||
|
|
||||||
|
Routine Description:
|
||||||
|
|
||||||
|
The generic memory test driver's entry point, it can initialize private data
|
||||||
|
to default value
|
||||||
|
|
||||||
|
Arguments:
|
||||||
|
|
||||||
|
ImageHandle of the loaded driver
|
||||||
|
Pointer to the System Table
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
|
||||||
|
Status
|
||||||
|
|
||||||
|
EFI_SUCCESS - Protocol successfully installed
|
||||||
|
EFI_OUT_OF_RESOURCES - Can not allocate protocol data structure in base
|
||||||
|
memory
|
||||||
|
|
||||||
|
--*/
|
||||||
|
{
|
||||||
|
EFI_STATUS Status;
|
||||||
|
|
||||||
|
//
|
||||||
|
// Install the protocol
|
||||||
|
//
|
||||||
|
Status = gBS->InstallProtocolInterface (
|
||||||
|
&mGenericMemoryTestHandle,
|
||||||
|
&gEfiGenericMemTestProtocolGuid,
|
||||||
|
EFI_NATIVE_INTERFACE,
|
||||||
|
&mGenericMemoryTest
|
||||||
|
);
|
||||||
|
|
||||||
|
return Status;
|
||||||
|
}
|
||||||
|
//
|
||||||
|
// EFI_GENERIC_MEMORY_TEST_PROTOCOL implementation
|
||||||
|
//
|
||||||
|
EFI_STATUS
|
||||||
|
EFIAPI
|
||||||
|
InitializeMemoryTest (
|
||||||
|
IN EFI_GENERIC_MEMORY_TEST_PROTOCOL *This,
|
||||||
|
IN EXTENDMEM_COVERAGE_LEVEL Level,
|
||||||
|
OUT BOOLEAN *RequireSoftECCInit
|
||||||
|
)
|
||||||
|
/*++
|
||||||
|
|
||||||
|
Routine Description:
|
||||||
|
|
||||||
|
Arguments:
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
|
||||||
|
--*/
|
||||||
|
{
|
||||||
|
UINTN NumberOfDescriptors;
|
||||||
|
EFI_GCD_MEMORY_SPACE_DESCRIPTOR *MemorySpaceMap;
|
||||||
|
UINTN Index;
|
||||||
|
|
||||||
|
gDS->GetMemorySpaceMap (&NumberOfDescriptors, &MemorySpaceMap);
|
||||||
|
for (Index = 0; Index < NumberOfDescriptors; Index++) {
|
||||||
|
if (MemorySpaceMap[Index].GcdMemoryType == EfiGcdMemoryTypeReserved &&
|
||||||
|
(MemorySpaceMap[Index].Capabilities & (EFI_MEMORY_PRESENT | EFI_MEMORY_INITIALIZED | EFI_MEMORY_TESTED)) ==
|
||||||
|
(EFI_MEMORY_PRESENT | EFI_MEMORY_INITIALIZED)
|
||||||
|
) {
|
||||||
|
gDS->RemoveMemorySpace (
|
||||||
|
MemorySpaceMap[Index].BaseAddress,
|
||||||
|
MemorySpaceMap[Index].Length
|
||||||
|
);
|
||||||
|
|
||||||
|
gDS->AddMemorySpace (
|
||||||
|
EfiGcdMemoryTypeSystemMemory,
|
||||||
|
MemorySpaceMap[Index].BaseAddress,
|
||||||
|
MemorySpaceMap[Index].Length,
|
||||||
|
MemorySpaceMap[Index].Capabilities &~
|
||||||
|
(EFI_MEMORY_PRESENT | EFI_MEMORY_INITIALIZED | EFI_MEMORY_TESTED | EFI_MEMORY_RUNTIME)
|
||||||
|
);
|
||||||
|
|
||||||
|
mTestedSystemMemory += MemorySpaceMap[Index].Length;
|
||||||
|
mTotalSystemMemory += MemorySpaceMap[Index].Length;
|
||||||
|
} else if (MemorySpaceMap[Index].GcdMemoryType == EfiGcdMemoryTypeSystemMemory) {
|
||||||
|
mTotalSystemMemory += MemorySpaceMap[Index].Length;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
FreePool (MemorySpaceMap);
|
||||||
|
|
||||||
|
*RequireSoftECCInit = FALSE;
|
||||||
|
return EFI_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
EFI_STATUS
|
||||||
|
EFIAPI
|
||||||
|
GenPerformMemoryTest (
|
||||||
|
IN EFI_GENERIC_MEMORY_TEST_PROTOCOL *This,
|
||||||
|
IN OUT UINT64 *TestedMemorySize,
|
||||||
|
OUT UINT64 *TotalMemorySize,
|
||||||
|
OUT BOOLEAN *ErrorOut,
|
||||||
|
IN BOOLEAN TestAbort
|
||||||
|
)
|
||||||
|
/*++
|
||||||
|
|
||||||
|
Routine Description:
|
||||||
|
|
||||||
|
Arguments:
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
|
||||||
|
--*/
|
||||||
|
{
|
||||||
|
*ErrorOut = FALSE;
|
||||||
|
*TestedMemorySize = mTestedSystemMemory;
|
||||||
|
*TotalMemorySize = mTotalSystemMemory;
|
||||||
|
|
||||||
|
return EFI_NOT_FOUND;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
EFI_STATUS
|
||||||
|
EFIAPI
|
||||||
|
GenMemoryTestFinished (
|
||||||
|
IN EFI_GENERIC_MEMORY_TEST_PROTOCOL *This
|
||||||
|
)
|
||||||
|
/*++
|
||||||
|
|
||||||
|
Routine Description:
|
||||||
|
|
||||||
|
Arguments:
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
|
||||||
|
--*/
|
||||||
|
{
|
||||||
|
return EFI_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
EFI_STATUS
|
||||||
|
EFIAPI
|
||||||
|
GenCompatibleRangeTest (
|
||||||
|
IN EFI_GENERIC_MEMORY_TEST_PROTOCOL *This,
|
||||||
|
IN EFI_PHYSICAL_ADDRESS StartAddress,
|
||||||
|
IN UINT64 Length
|
||||||
|
)
|
||||||
|
/*++
|
||||||
|
|
||||||
|
Routine Description:
|
||||||
|
|
||||||
|
Arguments:
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
|
||||||
|
--*/
|
||||||
|
{
|
||||||
|
EFI_GCD_MEMORY_SPACE_DESCRIPTOR descriptor;
|
||||||
|
|
||||||
|
gDS->GetMemorySpaceDescriptor (StartAddress, &descriptor);
|
||||||
|
|
||||||
|
gDS->RemoveMemorySpace (StartAddress, Length);
|
||||||
|
|
||||||
|
gDS->AddMemorySpace (
|
||||||
|
EfiGcdMemoryTypeSystemMemory,
|
||||||
|
StartAddress,
|
||||||
|
Length,
|
||||||
|
descriptor.Capabilities &~(EFI_MEMORY_PRESENT | EFI_MEMORY_INITIALIZED | EFI_MEMORY_TESTED | EFI_MEMORY_RUNTIME)
|
||||||
|
);
|
||||||
|
|
||||||
|
return EFI_SUCCESS;
|
||||||
|
}
|
|
@ -0,0 +1,124 @@
|
||||||
|
/*++
|
||||||
|
|
||||||
|
Copyright (c) 2006, 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.
|
||||||
|
|
||||||
|
Module Name:
|
||||||
|
|
||||||
|
NullMemoryTest.h
|
||||||
|
|
||||||
|
Abstract:
|
||||||
|
The generic memory test driver definition
|
||||||
|
|
||||||
|
--*/
|
||||||
|
|
||||||
|
#ifndef _NULL_MEMORY_TEST_H
|
||||||
|
#define _NULL_MEMORY_TEST_H
|
||||||
|
|
||||||
|
//
|
||||||
|
// The package level header files this module uses
|
||||||
|
//
|
||||||
|
#include <PiDxe.h>
|
||||||
|
|
||||||
|
//
|
||||||
|
// The protocols, PPI and GUID defintions for this module
|
||||||
|
//
|
||||||
|
#include <Protocol/GenericMemoryTest.h>
|
||||||
|
//
|
||||||
|
// The Library classes this module consumes
|
||||||
|
//
|
||||||
|
#include <Library/DebugLib.h>
|
||||||
|
#include <Library/UefiDriverEntryPoint.h>
|
||||||
|
#include <Library/DxeServicesTableLib.h>
|
||||||
|
#include <Library/UefiBootServicesTableLib.h>
|
||||||
|
#include <Library/MemoryAllocationLib.h>
|
||||||
|
|
||||||
|
//
|
||||||
|
// attributes for reserved memory before it is promoted to system memory
|
||||||
|
//
|
||||||
|
#define EFI_MEMORY_PRESENT 0x0100000000000000ULL
|
||||||
|
#define EFI_MEMORY_INITIALIZED 0x0200000000000000ULL
|
||||||
|
#define EFI_MEMORY_TESTED 0x0400000000000000ULL
|
||||||
|
|
||||||
|
|
||||||
|
//
|
||||||
|
// Some global define
|
||||||
|
//
|
||||||
|
#define GENERIC_CACHELINE_SIZE 0x40
|
||||||
|
|
||||||
|
//
|
||||||
|
// The SPARSE_SPAN_SIZE size can not small then the MonoTestSize
|
||||||
|
//
|
||||||
|
#define TEST_BLOCK_SIZE 0x2000000
|
||||||
|
#define QUICK_SPAN_SIZE (TEST_BLOCK_SIZE >> 2)
|
||||||
|
#define SPARSE_SPAN_SIZE (TEST_BLOCK_SIZE >> 4)
|
||||||
|
|
||||||
|
//
|
||||||
|
// This structure records every nontested memory range parsed through GCD
|
||||||
|
// service.
|
||||||
|
//
|
||||||
|
#define EFI_NONTESTED_MEMORY_RANGE_SIGNATURE EFI_SIGNATURE_32 ('N', 'T', 'M', 'E')
|
||||||
|
typedef struct {
|
||||||
|
UINTN Signature;
|
||||||
|
LIST_ENTRY Link;
|
||||||
|
EFI_PHYSICAL_ADDRESS StartAddress;
|
||||||
|
UINT64 Length;
|
||||||
|
UINT64 Capabilities;
|
||||||
|
BOOLEAN Above4G;
|
||||||
|
BOOLEAN AlreadyMapped;
|
||||||
|
} NONTESTED_MEMORY_RANGE;
|
||||||
|
|
||||||
|
#define NONTESTED_MEMORY_RANGE_FROM_LINK(link) \
|
||||||
|
CR(link, NONTESTED_MEMORY_RANGE, Link, EFI_NONTESTED_MEMORY_RANGE_SIGNATURE)
|
||||||
|
|
||||||
|
//
|
||||||
|
// This is the memory test driver's structure definition
|
||||||
|
//
|
||||||
|
#define EFI_GENERIC_MEMORY_TEST_PRIVATE_SIGNATURE EFI_SIGNATURE_32 ('G', 'E', 'M', 'T')
|
||||||
|
|
||||||
|
//
|
||||||
|
// Function Prototypes
|
||||||
|
//
|
||||||
|
EFI_STATUS
|
||||||
|
EFIAPI
|
||||||
|
InitializeMemoryTest (
|
||||||
|
IN EFI_GENERIC_MEMORY_TEST_PROTOCOL *This,
|
||||||
|
IN EXTENDMEM_COVERAGE_LEVEL Level,
|
||||||
|
OUT BOOLEAN *RequireSoftECCInit
|
||||||
|
)
|
||||||
|
;
|
||||||
|
|
||||||
|
EFI_STATUS
|
||||||
|
EFIAPI
|
||||||
|
GenPerformMemoryTest (
|
||||||
|
IN EFI_GENERIC_MEMORY_TEST_PROTOCOL *This,
|
||||||
|
IN OUT UINT64 *TestedMemorySize,
|
||||||
|
OUT UINT64 *TotalMemorySize,
|
||||||
|
OUT BOOLEAN *ErrorOut,
|
||||||
|
IN BOOLEAN TestAbort
|
||||||
|
)
|
||||||
|
;
|
||||||
|
|
||||||
|
EFI_STATUS
|
||||||
|
EFIAPI
|
||||||
|
GenMemoryTestFinished (
|
||||||
|
IN EFI_GENERIC_MEMORY_TEST_PROTOCOL *This
|
||||||
|
)
|
||||||
|
;
|
||||||
|
|
||||||
|
EFI_STATUS
|
||||||
|
EFIAPI
|
||||||
|
GenCompatibleRangeTest (
|
||||||
|
IN EFI_GENERIC_MEMORY_TEST_PROTOCOL *This,
|
||||||
|
IN EFI_PHYSICAL_ADDRESS StartAddress,
|
||||||
|
IN UINT64 Length
|
||||||
|
)
|
||||||
|
;
|
||||||
|
|
||||||
|
#endif
|
|
@ -0,0 +1,50 @@
|
||||||
|
#/** @file
|
||||||
|
# Component description file for NullMemoryTest module.
|
||||||
|
#
|
||||||
|
# This driver installs EFI_GENERIC_MEMORY_TEST_PROTOCOL to
|
||||||
|
# provide simple generic memory test functions.
|
||||||
|
# Copyright (c) 2006 - 2007, 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.
|
||||||
|
#
|
||||||
|
#
|
||||||
|
#**/
|
||||||
|
|
||||||
|
[Defines]
|
||||||
|
INF_VERSION = 0x00010005
|
||||||
|
BASE_NAME = NullMemoryTestDxe
|
||||||
|
FILE_GUID = 96B5C032-DF4C-4b6e-8232-438DCF448D0E
|
||||||
|
MODULE_TYPE = DXE_DRIVER
|
||||||
|
VERSION_STRING = 1.0
|
||||||
|
EDK_RELEASE_VERSION = 0x00020000
|
||||||
|
EFI_SPECIFICATION_VERSION = 0x00020000
|
||||||
|
|
||||||
|
ENTRY_POINT = GenericMemoryTestEntryPoint
|
||||||
|
|
||||||
|
# VALID_ARCHITECTURES = IA32 X64 IPF EBC
|
||||||
|
|
||||||
|
[Sources.common]
|
||||||
|
NullMemoryTest.h
|
||||||
|
NullMemoryTest.c
|
||||||
|
|
||||||
|
[Packages]
|
||||||
|
MdeModulePkg/MdeModulePkg.dec
|
||||||
|
MdePkg/MdePkg.dec
|
||||||
|
|
||||||
|
[LibraryClasses]
|
||||||
|
MemoryAllocationLib
|
||||||
|
UefiBootServicesTableLib
|
||||||
|
DxeServicesTableLib
|
||||||
|
UefiDriverEntryPoint
|
||||||
|
DebugLib
|
||||||
|
|
||||||
|
[Protocols]
|
||||||
|
gEfiGenericMemTestProtocolGuid # PROTOCOL ALWAYS_PRODUCED
|
||||||
|
|
||||||
|
[Depex]
|
||||||
|
TRUE
|
|
@ -0,0 +1,64 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ModuleSurfaceArea xmlns="http://www.TianoCore.org/2006/Edk2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||||
|
<MsaHeader>
|
||||||
|
<ModuleName>NullMemoryTest</ModuleName>
|
||||||
|
<ModuleType>DXE_DRIVER</ModuleType>
|
||||||
|
<GuidValue>96B5C032-DF4C-4b6e-8232-438DCF448D0E</GuidValue>
|
||||||
|
<Version>1.0</Version>
|
||||||
|
<Abstract>Component description file for NullMemoryTest module.</Abstract>
|
||||||
|
<Description>This driver installs EFI_GENERIC_MEMORY_TEST_PROTOCOL to
|
||||||
|
provide simple generic memory test functions.</Description>
|
||||||
|
<Copyright>Copyright (c) 2006 - 2007, Intel Corporation</Copyright>
|
||||||
|
<License>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.</License>
|
||||||
|
<Specification>FRAMEWORK_BUILD_PACKAGING_SPECIFICATION 0x00000052</Specification>
|
||||||
|
</MsaHeader>
|
||||||
|
<ModuleDefinitions>
|
||||||
|
<SupportedArchitectures>IA32 X64 IPF EBC</SupportedArchitectures>
|
||||||
|
<BinaryModule>false</BinaryModule>
|
||||||
|
<OutputFileBasename>NullMemoryTest</OutputFileBasename>
|
||||||
|
</ModuleDefinitions>
|
||||||
|
<LibraryClassDefinitions>
|
||||||
|
<LibraryClass Usage="ALWAYS_CONSUMED">
|
||||||
|
<Keyword>DebugLib</Keyword>
|
||||||
|
</LibraryClass>
|
||||||
|
<LibraryClass Usage="ALWAYS_CONSUMED">
|
||||||
|
<Keyword>UefiDriverEntryPoint</Keyword>
|
||||||
|
</LibraryClass>
|
||||||
|
<LibraryClass Usage="ALWAYS_CONSUMED">
|
||||||
|
<Keyword>DxeServicesTableLib</Keyword>
|
||||||
|
</LibraryClass>
|
||||||
|
<LibraryClass Usage="ALWAYS_CONSUMED">
|
||||||
|
<Keyword>UefiBootServicesTableLib</Keyword>
|
||||||
|
</LibraryClass>
|
||||||
|
<LibraryClass Usage="ALWAYS_CONSUMED">
|
||||||
|
<Keyword>MemoryAllocationLib</Keyword>
|
||||||
|
</LibraryClass>
|
||||||
|
</LibraryClassDefinitions>
|
||||||
|
<SourceFiles>
|
||||||
|
<Filename>Common.h</Filename>
|
||||||
|
<Filename>NullMemoryTest.c</Filename>
|
||||||
|
<Filename>NullMemoryTest.h</Filename>
|
||||||
|
<Filename>NullMemoryTest.dxs</Filename>
|
||||||
|
</SourceFiles>
|
||||||
|
<PackageDependencies>
|
||||||
|
<Package PackageGuid="1E73767F-8F52-4603-AEB4-F29B510B6766"/>
|
||||||
|
<Package PackageGuid="BA0D78D6-2CAF-414b-BD4D-B6762A894288"/>
|
||||||
|
</PackageDependencies>
|
||||||
|
<Protocols>
|
||||||
|
<Protocol Usage="ALWAYS_PRODUCED">
|
||||||
|
<ProtocolCName>gEfiGenericMemTestProtocolGuid</ProtocolCName>
|
||||||
|
</Protocol>
|
||||||
|
</Protocols>
|
||||||
|
<Externs>
|
||||||
|
<Specification>EFI_SPECIFICATION_VERSION 0x00020000</Specification>
|
||||||
|
<Specification>EDK_RELEASE_VERSION 0x00020000</Specification>
|
||||||
|
<Extern>
|
||||||
|
<ModuleEntryPoint>GenericMemoryTestEntryPoint</ModuleEntryPoint>
|
||||||
|
</Extern>
|
||||||
|
</Externs>
|
||||||
|
</ModuleSurfaceArea>
|
|
@ -363,7 +363,7 @@
|
||||||
$(WORKSPACE)/IntelFrameworkModulePkg/Universal/StatusCode/Pei/PeiStatusCode.inf
|
$(WORKSPACE)/IntelFrameworkModulePkg/Universal/StatusCode/Pei/PeiStatusCode.inf
|
||||||
$(WORKSPACE)/Nt32Pkg/BootModePei/BootModePei.inf
|
$(WORKSPACE)/Nt32Pkg/BootModePei/BootModePei.inf
|
||||||
$(WORKSPACE)/Nt32Pkg/WinNtFlashMapPei/WinNtFlashMapPei.inf
|
$(WORKSPACE)/Nt32Pkg/WinNtFlashMapPei/WinNtFlashMapPei.inf
|
||||||
$(WORKSPACE)/MdeModulePkg/Universal/BaseMemoryTestPei/BaseMemoryTest.inf
|
$(WORKSPACE)/MdeModulePkg/Universal/MemoryTest/BaseMemoryTestPei/BaseMemoryTestPei.inf
|
||||||
$(WORKSPACE)/MdeModulePkg/Universal/VariablePei/VariablePei.inf
|
$(WORKSPACE)/MdeModulePkg/Universal/VariablePei/VariablePei.inf
|
||||||
$(WORKSPACE)/Nt32Pkg/WinNtAutoScanPei/WinNtAutoScanPei.inf
|
$(WORKSPACE)/Nt32Pkg/WinNtAutoScanPei/WinNtAutoScanPei.inf
|
||||||
$(WORKSPACE)/Nt32Pkg/WinNtFirmwareVolumePei/WinNtFirmwareVolumePei.inf
|
$(WORKSPACE)/Nt32Pkg/WinNtFirmwareVolumePei/WinNtFirmwareVolumePei.inf
|
||||||
|
@ -386,7 +386,7 @@
|
||||||
$(WORKSPACE)/MdeModulePkg/Universal/SecurityStubDxe/SecurityStub.inf
|
$(WORKSPACE)/MdeModulePkg/Universal/SecurityStubDxe/SecurityStub.inf
|
||||||
$(WORKSPACE)/IntelFrameworkModulePkg/Universal/DataHubDxe/DataHubDxe.inf
|
$(WORKSPACE)/IntelFrameworkModulePkg/Universal/DataHubDxe/DataHubDxe.inf
|
||||||
$(WORKSPACE)/MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
|
$(WORKSPACE)/MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
|
||||||
$(WORKSPACE)/MdeModulePkg/Universal/GenericMemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf
|
$(WORKSPACE)/MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf
|
||||||
$(WORKSPACE)/IntelFrameworkModulePkg/Universal/HiiDataBaseDxe/HiiDatabase.inf
|
$(WORKSPACE)/IntelFrameworkModulePkg/Universal/HiiDataBaseDxe/HiiDatabase.inf
|
||||||
$(WORKSPACE)/Nt32Pkg/WinNtThunkDxe/WinNtThunkDxe.inf
|
$(WORKSPACE)/Nt32Pkg/WinNtThunkDxe/WinNtThunkDxe.inf
|
||||||
$(WORKSPACE)/MdeModulePkg/Universal/FirmwareVolume/Crc32SectionExtractDxe/Crc32SectionExtractDxe.inf
|
$(WORKSPACE)/MdeModulePkg/Universal/FirmwareVolume/Crc32SectionExtractDxe/Crc32SectionExtractDxe.inf
|
||||||
|
|
|
@ -117,7 +117,7 @@ INF $(WORKSPACE)/MdeModulePkg/Universal/PCD/Pei/Pcd.inf
|
||||||
INF $(WORKSPACE)/IntelFrameworkModulePkg/Universal/StatusCode/Pei/PeiStatusCode.inf
|
INF $(WORKSPACE)/IntelFrameworkModulePkg/Universal/StatusCode/Pei/PeiStatusCode.inf
|
||||||
INF $(WORKSPACE)/Nt32Pkg/BootModePei/BootModePei.inf
|
INF $(WORKSPACE)/Nt32Pkg/BootModePei/BootModePei.inf
|
||||||
INF $(WORKSPACE)/Nt32Pkg/WinNtFlashMapPei/WinNtFlashMapPei.inf
|
INF $(WORKSPACE)/Nt32Pkg/WinNtFlashMapPei/WinNtFlashMapPei.inf
|
||||||
INF $(WORKSPACE)/MdeModulePkg/Universal/BaseMemoryTestPei/BaseMemoryTest.inf
|
INF $(WORKSPACE)/MdeModulePkg/Universal/MemoryTest/BaseMemoryTestPei/BaseMemoryTestPei.inf
|
||||||
INF $(WORKSPACE)/MdeModulePkg/Universal/VariablePei/VariablePei.inf
|
INF $(WORKSPACE)/MdeModulePkg/Universal/VariablePei/VariablePei.inf
|
||||||
INF $(WORKSPACE)/Nt32Pkg/WinNtAutoScanPei/WinNtAutoScanPei.inf
|
INF $(WORKSPACE)/Nt32Pkg/WinNtAutoScanPei/WinNtAutoScanPei.inf
|
||||||
INF $(WORKSPACE)/Nt32Pkg/WinNtFirmwareVolumePei/WinNtFirmwareVolumePei.inf
|
INF $(WORKSPACE)/Nt32Pkg/WinNtFirmwareVolumePei/WinNtFirmwareVolumePei.inf
|
||||||
|
@ -137,7 +137,7 @@ INF $(WORKSPACE)/Nt32Pkg/FvbServicesRuntimeDxe/FvbServicesRuntimeDxe.inf
|
||||||
INF $(WORKSPACE)/MdeModulePkg/Universal/SecurityStubDxe/SecurityStub.inf
|
INF $(WORKSPACE)/MdeModulePkg/Universal/SecurityStubDxe/SecurityStub.inf
|
||||||
INF $(WORKSPACE)/IntelFrameworkModulePkg/Universal/DataHubDxe/DataHubDxe.inf
|
INF $(WORKSPACE)/IntelFrameworkModulePkg/Universal/DataHubDxe/DataHubDxe.inf
|
||||||
INF $(WORKSPACE)/MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
|
INF $(WORKSPACE)/MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
|
||||||
INF $(WORKSPACE)/MdeModulePkg/Universal/GenericMemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf
|
INF $(WORKSPACE)/MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf
|
||||||
INF $(WORKSPACE)/IntelFrameworkModulePkg/Universal/HiiDataBaseDxe/HiiDatabase.inf
|
INF $(WORKSPACE)/IntelFrameworkModulePkg/Universal/HiiDataBaseDxe/HiiDatabase.inf
|
||||||
INF $(WORKSPACE)/Nt32Pkg/WinNtThunkDxe/WinNtThunkDxe.inf
|
INF $(WORKSPACE)/Nt32Pkg/WinNtThunkDxe/WinNtThunkDxe.inf
|
||||||
INF $(WORKSPACE)/MdeModulePkg/Universal/FirmwareVolume/Crc32SectionExtractDxe/Crc32SectionExtractDxe.inf
|
INF $(WORKSPACE)/MdeModulePkg/Universal/FirmwareVolume/Crc32SectionExtractDxe/Crc32SectionExtractDxe.inf
|
||||||
|
|
Loading…
Reference in New Issue