CheckProcessorFeature() invokes MpService->StartupAllAps() to detect
XD/BTS features on normal boot path. It's not necessary and may cause
performance impact, because INIT-SIPI-SIPI must be sent to APs if APs
are in hlt-loop mode. XD/BTS feature detection is moved to
SmmInitHandler() in SMM relocation during normal boot path.
Cc: Michael Kinney <michael.d.kinney@intel.com>
Cc: Feng Tian <feng.tian@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com>
Reviewed-by: Feng Tian <feng.tian@intel.com>
Reviewed-by: Michael Kinney <michael.d.kinney@intel.com>
Regression-tested-by: Laszlo Ersek <lersek@redhat.com>
&mCpuHotPlugData\r
);\r
\r
+ if (!mSmmS3Flag) {\r
+ //\r
+ // Check XD and BTS features on each processor on normal boot\r
+ //\r
+ CheckFeatureSupported (NULL);\r
+ }\r
+\r
if (mIsBsp) {\r
//\r
// BSP rebase is already done above.\r
}\r
}\r
\r
- //\r
- // Check XD and BTS features\r
- //\r
- CheckProcessorFeature ();\r
-\r
//\r
// Initialize SMM Profile feature\r
//\r
//\r
// The flag indicates if execute-disable is supported by processor.\r
//\r
-BOOLEAN mXdSupported = FALSE;\r
+BOOLEAN mXdSupported = TRUE;\r
\r
//\r
// The flag indicates if execute-disable is enabled on processor.\r
//\r
// The flag indicates if BTS is supported by processor.\r
//\r
-BOOLEAN mBtsSupported = FALSE;\r
+BOOLEAN mBtsSupported = TRUE;\r
\r
//\r
// The flag indicates if SMM profile starts to record data.\r