Changes for V4 ============== 1) Remove Unicode character from C source file 2) Move delete of QuarkSocPkg\QuarkNorthCluster\Binary\QuarkMicrocode from QuarkPlatformPkg commit to QuarkSocPkg commit Changes for V2 ============== 1) Sync with new APIs in SmmCpuFeaturesLib class 2) Use new generic PCI serial driver PciSioSerialDxe in MdeModulePkg 3) Remove PCI serial driver from QuarkSocPkg 4) Apply optimizations to MtrrLib from MtrrLib in UefiCpuPkg 5) Convert all UNI files to utf-8 6) Replace tabs with spaces and remove trailing spaces 7) Add License.txt Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Michael Kinney <michael.d.kinney@intel.com> Acked-by: Jordan Justen <jordan.l.justen@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19286 6f19259b-4bc3-4df7-8a09-765794883524
73 lines
1.7 KiB
C
73 lines
1.7 KiB
C
/** @file
|
|
HTE handling routines for MRC use.
|
|
|
|
Copyright (c) 2013-2015 Intel Corporation.
|
|
|
|
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 __HTE_H
|
|
#define __HTE_H
|
|
|
|
#define STATIC static
|
|
#define VOID void
|
|
|
|
#if !defined(__GNUC__) && (__STDC_VERSION__ < 199901L)
|
|
typedef uint32_t UINT32;
|
|
typedef uint16_t UINT16;
|
|
typedef uint8_t UINT8;
|
|
#endif
|
|
|
|
typedef enum
|
|
{
|
|
MrcNoHaltSystemOnError,
|
|
MrcHaltSystemOnError,
|
|
MrcHaltHteEngineOnError,
|
|
MrcNoHaltHteEngineOnError
|
|
} HALT_TYPE;
|
|
|
|
typedef enum
|
|
{
|
|
MrcMemInit, MrcMemTest
|
|
} MEM_INIT_OR_TEST;
|
|
|
|
#define READ_TRAIN 1
|
|
#define WRITE_TRAIN 2
|
|
|
|
#define HTE_MEMTEST_NUM 2
|
|
#define HTE_LOOP_CNT 5 // EXP_LOOP_CNT field of HTE_CMD_CTL. This CANNOT be less than 4
|
|
#define HTE_LFSR_VICTIM_SEED 0xF294BA21 // Random seed for victim.
|
|
#define HTE_LFSR_AGRESSOR_SEED 0xEBA7492D // Random seed for aggressor.
|
|
UINT32
|
|
HteMemInit(
|
|
MRC_PARAMS *CurrentMrcData,
|
|
UINT8 MemInitFlag,
|
|
UINT8 HaltHteEngineOnError);
|
|
|
|
UINT16
|
|
BasicWriteReadHTE(
|
|
MRC_PARAMS *CurrentMrcData,
|
|
UINT32 Address,
|
|
UINT8 FirstRun,
|
|
UINT8 Mode);
|
|
|
|
UINT16
|
|
WriteStressBitLanesHTE(
|
|
MRC_PARAMS *CurrentMrcData,
|
|
UINT32 Address,
|
|
UINT8 FirstRun);
|
|
|
|
VOID
|
|
HteMemOp(
|
|
UINT32 Address,
|
|
UINT8 FirstRun,
|
|
UINT8 IsWrite);
|
|
|
|
#endif
|