# QuiesceSupport

## Index
0182

## Size
25824h (153,636 bytes)

## Phase
DXE SMM (System Management Mode driver)

## Source Package
PurleySktPkg/Smm/Ras/QuiesceSupport

## Overview
QuiesceSupport is an SMM driver that manages system quiescence for RAS (Reliability, Availability, Serviceability) operations. It provides support for gracefully halting CPU cores and platform agents during error handling scenarios such as PCIe error containment, memory error processing, and system reset sequences. The large data segment (136,968 bytes) suggests it maintains extensive state tables for multi-socket quiescence coordination.

## Key Functions
- **ModuleEntryPoint** (0x580): Entry point; registers SMI handlers and initializes quiescence state management.
- **sub_634 (39 callees)**: Main initialization dispatcher; sets up quiescence policies and platform-specific hardware state tracking.
- **sub_9D4 (16 callees)**: Core quiescence logic; implements the state machine for coordinating CPU and IO quiescence sequences.
- **sub_330 / sub_440**: SMM base library protocol management (registration and cleanup).
- **sub_1DC8**: Error path handler invoked when quiescence operations fail.

## Strings
- Build path: `PurleySktPkg\Smm\Ras\QuiesceSupport`
- References to `PurleyPlatPkg\Ras\Library\mpsyncdatalib` for multi-processor sync data
- References to `PurleyRpPkg\Library\SetupLib\DxeSetupLib` for setup variable access
- Debug assertion messages from AutoGen.c (lines 589, 604)

## Libraries Referenced
- SetupLib (PurleyRpPkg)
- mpsyncdatalib (PurleyPlatPkg)
- DxeHobLib, DxeServicesTableLib, SmmMemoryAllocationLib

## Platform
Intel Purley (HR650X server platform)