ProcTraceData = (PROC_TRACE_DATA *) ConfigData;\r
ASSERT (ProcTraceData != NULL);\r
\r
- MemRegionBaseAddr = 0;\r
- FirstIn = FALSE;\r
-\r
- if (ProcTraceData->ThreadMemRegionTable == NULL) {\r
- FirstIn = TRUE;\r
- DEBUG ((DEBUG_INFO, "Initialize Processor Trace\n"));\r
- }\r
-\r
- ///\r
- /// Refer to PROC_TRACE_MEM_SIZE Table for Size Encoding\r
- ///\r
- MemRegionSize = (UINT32) (1 << (ProcTraceData->ProcTraceMemSize + 12));\r
- if (FirstIn) {\r
- DEBUG ((DEBUG_INFO, "ProcTrace: MemSize requested: 0x%X \n", MemRegionSize));\r
- }\r
-\r
//\r
// Clear MSR_IA32_RTIT_CTL[0] and IA32_RTIT_STS only if MSR_IA32_RTIT_CTL[0]==1b\r
//\r
);\r
}\r
\r
+ if (!State) {\r
+ return RETURN_SUCCESS;\r
+ }\r
+\r
+ MemRegionBaseAddr = 0;\r
+ FirstIn = FALSE;\r
+\r
+ if (ProcTraceData->ThreadMemRegionTable == NULL) {\r
+ FirstIn = TRUE;\r
+ DEBUG ((DEBUG_INFO, "Initialize Processor Trace\n"));\r
+ }\r
+\r
+ ///\r
+ /// Refer to PROC_TRACE_MEM_SIZE Table for Size Encoding\r
+ ///\r
+ MemRegionSize = (UINT32) (1 << (ProcTraceData->ProcTraceMemSize + 12));\r
+ if (FirstIn) {\r
+ DEBUG ((DEBUG_INFO, "ProcTrace: MemSize requested: 0x%X \n", MemRegionSize));\r
+ }\r
+\r
if (FirstIn) {\r
//\r
// Let BSP allocate and create the necessary memory region (Aligned to the size of\r
CtrlReg.Bits.OS = 1;\r
CtrlReg.Bits.User = 1;\r
CtrlReg.Bits.BranchEn = 1;\r
- if (!State) {\r
- CtrlReg.Bits.TraceEn = 0;\r
- } else {\r
- CtrlReg.Bits.TraceEn = 1;\r
- }\r
+ CtrlReg.Bits.TraceEn = 1;\r
CPU_REGISTER_TABLE_WRITE64 (\r
ProcessorNumber,\r
Msr,\r