# PcRtc

| Field       | Value                                |
|-------------|--------------------------------------|
| Index       | 0034                                 |
| Module      | PcRtc                                |
| Image       | PcRtc.efi                            |
| Size        | 16,384 bytes (5 sections, PE32+)     |
| SHA256      | 64ce22dcd9beff0a0dcdaffad292ce9d508..|
| Subsystem   | Runtime Driver (0Ch)                 |
| Functions   | ~15                                  |

## Overview

PC-AT Real-Time Clock Runtime DXE driver that implements the standard EFI RealTimeClock services (GetTime, SetTime, GetWakeupTime, SetWakeupTime) by directly accessing the MC146818-compatible CMOS RTC hardware via legacy I/O ports 0x70/0x71. Derived from PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe and installed as a UEFI Runtime Driver (0Ch), meaning its services remain available after ExitBootServices().

## Key Functions

- `PcRtcEntryPoint` -- initializes the RTC arch protocol and registers time services
- `PcRtcGetTime` -- reads current time from CMOS RTC registers
- `PcRtcSetTime` -- writes time to CMOS RTC registers
- `PcRtcGetWakeupTime` -- reads alarm/wakeup time from CMOS
- `PcRtcSetWakeupTime` -- sets alarm/wakeup time in CMOS

## Dependencies

- RTC Architecture Protocol (27CFAC87-46CC-11D4-9A38-0090273FC14D)
- DXE Services Table
- HOB List GUID
- Legacy I/O ports 0x70 (index, NMI bit 7) / 0x71 (data)

## Platform

Lenovo HR650X, Purley platform. Standard MC146818 RTC.