/// Processor trace output scheme selection.\r
///\r
typedef enum {\r
- OutputSchemeSingleRange = 0,\r
- OutputSchemeToPA,\r
- OutputSchemeInvalid\r
-} PROC_TRACE_OUTPUT_SCHEME;\r
+ RtitOutputSchemeSingleRange = 0,\r
+ RtitOutputSchemeToPA\r
+} RTIT_OUTPUT_SCHEME;\r
\r
typedef struct {\r
BOOLEAN ProcTraceSupported;\r
// Check if ProcTraceMemorySize option is enabled (0xFF means disable by user)\r
//\r
ProcTraceData = (PROC_TRACE_DATA *) ConfigData;\r
+ ASSERT (ProcTraceData != NULL);\r
if ((ProcTraceData->ProcTraceMemSize > RtitTopaMemorySize128M) ||\r
- (ProcTraceData->ProcTraceOutputScheme > ProcTraceOutputSchemeToPA)) {\r
+ (ProcTraceData->ProcTraceOutputScheme > RtitOutputSchemeToPA)) {\r
return FALSE;\r
}\r
\r
AsmCpuidEx (CPUID_INTEL_PROCESSOR_TRACE, CPUID_INTEL_PROCESSOR_TRACE_MAIN_LEAF, NULL, NULL, &Ecx.Uint32, NULL);\r
ProcTraceData->ProcessorData[ProcessorNumber].TopaSupported = (BOOLEAN) (Ecx.Bits.RTIT == 1);\r
ProcTraceData->ProcessorData[ProcessorNumber].SingleRangeSupported = (BOOLEAN) (Ecx.Bits.SingleRangeOutput == 1);\r
- if (ProcTraceData->ProcessorData[ProcessorNumber].TopaSupported || \r
- ProcTraceData->ProcessorData[ProcessorNumber].SingleRangeSupported) {\r
+ if ((ProcTraceData->ProcessorData[ProcessorNumber].TopaSupported && (ProcTraceData->ProcTraceOutputScheme == RtitOutputSchemeToPA)) ||\r
+ (ProcTraceData->ProcessorData[ProcessorNumber].SingleRangeSupported && (ProcTraceData->ProcTraceOutputScheme == RtitOutputSchemeSingleRange))) {\r
return TRUE;\r
}\r
\r
RTIT_TOPA_TABLE_ENTRY *TopaEntryPtr;\r
\r
ProcTraceData = (PROC_TRACE_DATA *) ConfigData;\r
+ ASSERT (ProcTraceData != NULL);\r
\r
MemRegionBaseAddr = 0;\r
FirstIn = FALSE;\r
// Single Range output scheme\r
//\r
if (ProcTraceData->ProcessorData[ProcessorNumber].SingleRangeSupported && \r
- (ProcTraceData->ProcTraceOutputScheme == OutputSchemeSingleRange)) {\r
+ (ProcTraceData->ProcTraceOutputScheme == RtitOutputSchemeSingleRange)) {\r
if (FirstIn) {\r
DEBUG ((DEBUG_INFO, "ProcTrace: Enabling Single Range Output scheme \n"));\r
}\r
// Program the Mask bits for the Memory Region to MSR IA32_RTIT_OUTPUT_MASK_PTRS (561h)\r
//\r
OutputMaskPtrsReg.Bits.MaskOrTableOffset = ((MemRegionSize - 1) >> 7) & 0x01FFFFFF;\r
- OutputMaskPtrsReg.Bits.OutputOffset = RShiftU64 ((UINT64) (MemRegionSize - 1), 32) & 0xFFFFFFFF;\r
+ OutputMaskPtrsReg.Bits.OutputOffset = RShiftU64 (MemRegionSize - 1, 32) & 0xFFFFFFFF;\r
CPU_REGISTER_TABLE_WRITE64 (\r
ProcessorNumber,\r
Msr,\r
// ToPA(Table of physical address) scheme\r
//\r
if (ProcTraceData->ProcessorData[ProcessorNumber].TopaSupported && \r
- (ProcTraceData->ProcTraceOutputScheme == OutputSchemeToPA)) {\r
+ (ProcTraceData->ProcTraceOutputScheme == RtitOutputSchemeToPA)) {\r
//\r
// Create ToPA structure aligned at 4KB for each logical thread\r
// with at least 2 entries by 8 bytes size each. The first entry\r