Newer
Older
AMI-Aptio-BIOS-Reversed / CpuMpDxe / README.md
@Ajax Dong Ajax Dong 2 days ago 1 KB Init

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)

Platform

Purley (Intel Xeon Scalable), generic