CpuMpDxe
Index: 0045 | Size: 171136 bytes | Arch: x64 | Phase: DXE
Overview
CPU Multi-Processor DXE driver for the Purley platform (Intel Xeon Scalable). This is a large (171 KB, 304 functions) driver handling MP services initialization, CPU feature detection, and per-processor configuration of EIST, VT-x, C-States, machine check, thermal management, microcode update, prefetcher control, and SMBIOS processor subtype data.
Key Functions
- CpuMpDxeDriverEntry / ModuleEntryPoint — Driver entry: initializes DXE services, HII, MM PCI base, serial port, baud rate detection
- ProcessorConfigInit — Allocates per-CPU context blocks and shared config buffer pages
- SelectCpuFeatures — Reads CPUID feature masks, enables platform-specific features via PCDs
- StartAllCpus / StartCpu — INIT-SIPI-SIPI sequence for AP startup with timeout management
- CpuMpDxeInit — Orchestrates data collection, feature init, MP protocol installation
- SaveS3BootScript — Writes S3 boot script entries for MSR restore
Protocols / Dependencies
- MP Services Protocol
- EFI_HII_DATABASE_PROTOCOL, HII String / Config Routing / Config Access protocols
- DXE Services Table
- MM PCI Base Protocol (memory-mapped PCI config access)
- S3 Boot Script Protocol
- CpuConfigLib PCDs (CPU count, platform type, feature enables)
Purley (Intel Xeon Scalable), generic