Newer
Older
AMI-Aptio-BIOS-Reversed / PcRtcSmm / README.md
@Ajax Dong Ajax Dong 2 days ago 970 bytes Init

PcRtcSmm, 0171, 12 KB, SMM

SMM driver managing the MC146818-compatible RTC controller for Purley platform. Registers four RSC handlers: GetTime, SetTime, GetWakeupTime, and SetWakeupTime. Handles BCD/binary, 12hr/24hr conversions, century rollover via CMOS offset, alarm proximity validation, and TSC-based microsecond delays.

Key Functions: PcRtcGetTime (read + convert from register format), PcRtcSetTime (write with SET bit freeze), PcRtcGetWakeupTime (alarm register + RTCALARM variable), PcRtcSetWakeupTime (alarm set with 24-hour proximity validation), PcRtcInitRtcHardware (chip init with Register A/B configuration and software reset fallback), PcRtcWaitForUpdateComplete (UIP polling with timeout).

Protocols/Dependencies: SMM_RSC_HANDLER_PROTOCOL, SMM Variable Protocol, SMM CPU Protocol, PCD Protocol, SMM PCI Express Library, RTC CMOS ports 0x74/0x75 (SMM alias).

Platform: Intel Purley (Skylake-SP) / HR650X server, PcAtChipsetPkg/PcatRealTimeClockSmm