HomeFreeBSD

MFamd64: Use initializecpu() to set various model-specific registers on

Description

MFamd64: Use initializecpu() to set various model-specific registers on
AP startup and AP resume (it was already used for BSP startup and BSP
resume).

  • Split code to do one-time probing of cache properties out of initializecpu() and into initializecpucache(). This is called once on the BSP during boot.
  • Move enable_sse() into initializecpu().
  • Call initializecpu() for AP startup instead of enable_sse() and manually frobbing MSR_EFER to enable PG_NX.
  • Call initializecpu() when an AP resumes. In theory this will now properly re-enable PG_NX in MSR_EFER when resuming a PAE kernel on APs.

Details

Provenance
jhbAuthored on
Parents
rS271408: To workaround an errata on certain Pentium Pro CPUs, i386 disables
Branches
Unknown
Tags
Unknown

Event Timeline