From 878ddf1fc3540a715f63594ed22b6929e881afb4 Mon Sep 17 00:00:00 2001 From: bbahnsen Date: Fri, 21 Apr 2006 22:54:32 +0000 Subject: Initial import. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3 6f19259b-4bc3-4df7-8a09-765794883524 --- .../Universal/GenericMemoryTest/Dxe/Common.h | 59 ++++++ .../GenericMemoryTest/Dxe/NullMemoryTest.c | 214 +++++++++++++++++++++ .../GenericMemoryTest/Dxe/NullMemoryTest.dxs | 26 +++ .../GenericMemoryTest/Dxe/NullMemoryTest.h | 65 +++++++ .../GenericMemoryTest/Dxe/NullMemoryTest.mbd | 44 +++++ .../GenericMemoryTest/Dxe/NullMemoryTest.msa | 60 ++++++ .../Universal/GenericMemoryTest/Dxe/build.xml | 47 +++++ .../GenericMemoryTest/Pei/BaseMemoryTest.c | 154 +++++++++++++++ .../GenericMemoryTest/Pei/BaseMemoryTest.h | 89 +++++++++ .../GenericMemoryTest/Pei/BaseMemoryTest.mbd | 39 ++++ .../GenericMemoryTest/Pei/BaseMemoryTest.msa | 54 ++++++ .../Universal/GenericMemoryTest/Pei/build.xml | 47 +++++ 12 files changed, 898 insertions(+) create mode 100644 EdkModulePkg/Universal/GenericMemoryTest/Dxe/Common.h create mode 100644 EdkModulePkg/Universal/GenericMemoryTest/Dxe/NullMemoryTest.c create mode 100644 EdkModulePkg/Universal/GenericMemoryTest/Dxe/NullMemoryTest.dxs create mode 100644 EdkModulePkg/Universal/GenericMemoryTest/Dxe/NullMemoryTest.h create mode 100644 EdkModulePkg/Universal/GenericMemoryTest/Dxe/NullMemoryTest.mbd create mode 100644 EdkModulePkg/Universal/GenericMemoryTest/Dxe/NullMemoryTest.msa create mode 100644 EdkModulePkg/Universal/GenericMemoryTest/Dxe/build.xml create mode 100644 EdkModulePkg/Universal/GenericMemoryTest/Pei/BaseMemoryTest.c create mode 100644 EdkModulePkg/Universal/GenericMemoryTest/Pei/BaseMemoryTest.h create mode 100644 EdkModulePkg/Universal/GenericMemoryTest/Pei/BaseMemoryTest.mbd create mode 100644 EdkModulePkg/Universal/GenericMemoryTest/Pei/BaseMemoryTest.msa create mode 100644 EdkModulePkg/Universal/GenericMemoryTest/Pei/build.xml (limited to 'EdkModulePkg/Universal/GenericMemoryTest') diff --git a/EdkModulePkg/Universal/GenericMemoryTest/Dxe/Common.h b/EdkModulePkg/Universal/GenericMemoryTest/Dxe/Common.h new file mode 100644 index 0000000000..7a1ab78a1e --- /dev/null +++ b/EdkModulePkg/Universal/GenericMemoryTest/Dxe/Common.h @@ -0,0 +1,59 @@ +/*++ + +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: + + Common.h + +Abstract: + The generic memory test driver definition + +--*/ + +#ifndef _COMMON_H +#define _COMMON_H + +// +// 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') + +#endif diff --git a/EdkModulePkg/Universal/GenericMemoryTest/Dxe/NullMemoryTest.c b/EdkModulePkg/Universal/GenericMemoryTest/Dxe/NullMemoryTest.c new file mode 100644 index 0000000000..7bad347f24 --- /dev/null +++ b/EdkModulePkg/Universal/GenericMemoryTest/Dxe/NullMemoryTest.c @@ -0,0 +1,214 @@ +/*++ + +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.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; + } + } + + gBS->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; +} diff --git a/EdkModulePkg/Universal/GenericMemoryTest/Dxe/NullMemoryTest.dxs b/EdkModulePkg/Universal/GenericMemoryTest/Dxe/NullMemoryTest.dxs new file mode 100644 index 0000000000..9f281b3d7d --- /dev/null +++ b/EdkModulePkg/Universal/GenericMemoryTest/Dxe/NullMemoryTest.dxs @@ -0,0 +1,26 @@ +/*++ + +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.dxs + +Abstract: + + Dependency expression source file. + +--*/ +#include +#include + +DEPENDENCY_START + TRUE +DEPENDENCY_END diff --git a/EdkModulePkg/Universal/GenericMemoryTest/Dxe/NullMemoryTest.h b/EdkModulePkg/Universal/GenericMemoryTest/Dxe/NullMemoryTest.h new file mode 100644 index 0000000000..b4a0720f6b --- /dev/null +++ b/EdkModulePkg/Universal/GenericMemoryTest/Dxe/NullMemoryTest.h @@ -0,0 +1,65 @@ +/*++ + +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 + +#include "Common.h" + +// +// 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 diff --git a/EdkModulePkg/Universal/GenericMemoryTest/Dxe/NullMemoryTest.mbd b/EdkModulePkg/Universal/GenericMemoryTest/Dxe/NullMemoryTest.mbd new file mode 100644 index 0000000000..2b770fe63d --- /dev/null +++ b/EdkModulePkg/Universal/GenericMemoryTest/Dxe/NullMemoryTest.mbd @@ -0,0 +1,44 @@ + + + + + NullMemoryTest + 96B5C032-DF4C-4b6e-8232-438DCF448D0E + 0 + FIX ME! + Copyright (c) 2004-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. + + 2006-03-12 17:09 + 2006-03-19 15:19 + + + UefiBootServicesTableLib + BaseLib + UefiMemoryLib + UefiLib + UefiDriverEntryPoint + DxeServicesTableLib + DxeReportStatusCodeLib + BaseDebugLibReportStatusCode + DxeMemoryAllocationLib + + + _ModuleEntryPoint + + diff --git a/EdkModulePkg/Universal/GenericMemoryTest/Dxe/NullMemoryTest.msa b/EdkModulePkg/Universal/GenericMemoryTest/Dxe/NullMemoryTest.msa new file mode 100644 index 0000000000..89c1b40348 --- /dev/null +++ b/EdkModulePkg/Universal/GenericMemoryTest/Dxe/NullMemoryTest.msa @@ -0,0 +1,60 @@ + + + + + NullMemoryTest + DXE_DRIVER + BS_DRIVER + 96B5C032-DF4C-4b6e-8232-438DCF448D0E + 0 + Component description file for DiskIo module. + FIX ME! + Copyright (c) 2004-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. + + 0 + 2006-03-12 17:09 + 2006-03-19 15:19 + + + DebugLib + UefiDriverEntryPoint + DxeServicesTableLib + BaseLib + MemoryAllocationLib + UefiBootServicesTableLib + + + Common.h + NullMemoryTest.c + NullMemoryTest.h + NullMemoryTest.dxs + + + MdePkg + EdkModulePkg + + + GenericMemTest + + + + GenericMemoryTestEntryPoint + + + diff --git a/EdkModulePkg/Universal/GenericMemoryTest/Dxe/build.xml b/EdkModulePkg/Universal/GenericMemoryTest/Dxe/build.xml new file mode 100644 index 0000000000..c392081b01 --- /dev/null +++ b/EdkModulePkg/Universal/GenericMemoryTest/Dxe/build.xml @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/EdkModulePkg/Universal/GenericMemoryTest/Pei/BaseMemoryTest.c b/EdkModulePkg/Universal/GenericMemoryTest/Pei/BaseMemoryTest.c new file mode 100644 index 0000000000..e091ae18fb --- /dev/null +++ b/EdkModulePkg/Universal/GenericMemoryTest/Pei/BaseMemoryTest.c @@ -0,0 +1,154 @@ +/*++ + +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: + + BaseMemoryTest.c + +Abstract: + + The PEI memory test support + +--*/ + +#include +#include + +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; + UINT32 TestMask; + EFI_PHYSICAL_ADDRESS TempAddress; + UINT32 SpanSize; + + REPORT_STATUS_CODE ( + EFI_PROGRESS_CODE, + EFI_COMPUTING_UNIT_MEMORY + EFI_CU_MEMORY_PC_TEST + ); + + TestPattern = TEST_PATTERN; + TestMask = 0; + SpanSize = 0; + + // + // Make sure we don't try and test anything above the max physical address range + // + ASSERT_EFI_ERROR (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, + EFI_COMPUTING_UNIT_MEMORY | EFI_CU_MEMORY_EC_UNCORRECTABLE + ); + + return EFI_DEVICE_ERROR; + } + + TempAddress += SpanSize; + } + +Done: + return EFI_SUCCESS; +} diff --git a/EdkModulePkg/Universal/GenericMemoryTest/Pei/BaseMemoryTest.h b/EdkModulePkg/Universal/GenericMemoryTest/Pei/BaseMemoryTest.h new file mode 100644 index 0000000000..15d6c61bd4 --- /dev/null +++ b/EdkModulePkg/Universal/GenericMemoryTest/Pei/BaseMemoryTest.h @@ -0,0 +1,89 @@ +/*++ + +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: + + 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 + +// +// 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 diff --git a/EdkModulePkg/Universal/GenericMemoryTest/Pei/BaseMemoryTest.mbd b/EdkModulePkg/Universal/GenericMemoryTest/Pei/BaseMemoryTest.mbd new file mode 100644 index 0000000000..59c52c9718 --- /dev/null +++ b/EdkModulePkg/Universal/GenericMemoryTest/Pei/BaseMemoryTest.mbd @@ -0,0 +1,39 @@ + + + + + PeiBaseMemoryTestInit + 736EB068-8C01-47c5-964B-1C57BD5D4D64 + 0 + FIX ME! + Copyright (c) 2004-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. + + 2006-03-12 17:09 + 2006-03-19 15:19 + + + PeimEntryPoint + PeiReportStatusCodeLib + BaseDebugLibReportStatusCode + PeiServicesTablePointerLib + PeiMemoryLib + PeiCoreLib + BaseLib + + diff --git a/EdkModulePkg/Universal/GenericMemoryTest/Pei/BaseMemoryTest.msa b/EdkModulePkg/Universal/GenericMemoryTest/Pei/BaseMemoryTest.msa new file mode 100644 index 0000000000..ff96a6b210 --- /dev/null +++ b/EdkModulePkg/Universal/GenericMemoryTest/Pei/BaseMemoryTest.msa @@ -0,0 +1,54 @@ + + + + + PeiBaseMemoryTestInit + PEIM + PE32_PEIM + 736EB068-8C01-47c5-964B-1C57BD5D4D64 + 0 + Component description file for DiskIo module. + FIX ME! + Copyright (c) 2004-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. + + 0 + 2006-03-12 17:09 + 2006-03-19 15:19 + + + DebugLib + PeimEntryPoint + PeiCoreLib + + + BaseMemoryTest.c + + + MdePkg + EdkModulePkg + + + BaseMemoryTest + + + + PeiBaseMemoryTestInit + + + diff --git a/EdkModulePkg/Universal/GenericMemoryTest/Pei/build.xml b/EdkModulePkg/Universal/GenericMemoryTest/Pei/build.xml new file mode 100644 index 0000000000..4a96b6bda8 --- /dev/null +++ b/EdkModulePkg/Universal/GenericMemoryTest/Pei/build.xml @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file -- cgit v1.2.3