summaryrefslogtreecommitdiff
path: root/EdkModulePkg/Universal/GenericMemoryTest/Pei
diff options
context:
space:
mode:
Diffstat (limited to 'EdkModulePkg/Universal/GenericMemoryTest/Pei')
-rw-r--r--EdkModulePkg/Universal/GenericMemoryTest/Pei/BaseMemoryTest.c151
-rw-r--r--EdkModulePkg/Universal/GenericMemoryTest/Pei/BaseMemoryTest.h87
-rw-r--r--EdkModulePkg/Universal/GenericMemoryTest/Pei/BaseMemoryTest.msa56
3 files changed, 0 insertions, 294 deletions
diff --git a/EdkModulePkg/Universal/GenericMemoryTest/Pei/BaseMemoryTest.c b/EdkModulePkg/Universal/GenericMemoryTest/Pei/BaseMemoryTest.c
deleted file mode 100644
index 4cf51f4f0c..0000000000
--- a/EdkModulePkg/Universal/GenericMemoryTest/Pei/BaseMemoryTest.c
+++ /dev/null
@@ -1,151 +0,0 @@
-/*++
-
-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,
- EFI_COMPUTING_UNIT_MEMORY + EFI_CU_MEMORY_PC_TEST
- );
-
- 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,
- 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
deleted file mode 100644
index 791a66c54c..0000000000
--- a/EdkModulePkg/Universal/GenericMemoryTest/Pei/BaseMemoryTest.h
+++ /dev/null
@@ -1,87 +0,0 @@
-/*++
-
-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_
-
-//
-// 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.msa b/EdkModulePkg/Universal/GenericMemoryTest/Pei/BaseMemoryTest.msa
deleted file mode 100644
index 95c5c274b4..0000000000
--- a/EdkModulePkg/Universal/GenericMemoryTest/Pei/BaseMemoryTest.msa
+++ /dev/null
@@ -1,56 +0,0 @@
-<?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> \ No newline at end of file