# IsSecRecoveryPEI

| Field       | Value                                         |
|-------------|-----------------------------------------------|
| Index       | 383                                           |
| Module      | IsSecRecoveryPEI                              |
| Size        | 2368 bytes (0x940)                            |
| Phase       | PEI (pre-memory)                              |
| Format      | PE32                                          |
| Machine     | x86 (0x014C)                                  |
| Sections    | .text, .rdata, .data, .reloc                  |
| Entry Point | 0x315                                         |

## Overview

IsSecRecoveryPEI is a minimal PEIM that determines whether the system is booting in recovery mode during the pre-memory PEI phase. It provides helper memory routines (memset, memmove, memset32) for use before main memory is available and checks the boot mode by locating PPIs to confirm a secure recovery condition.

This module is among the earliest PEIMs executed, running directly from cache-as-RAM (CAR) before DRAM initialization, and plays a role in the secure boot path decision for the firmware recovery process.

## Key Functions

- **ModuleEntryPoint** -- Entry point; locates the recovery PPI and asserts if not found at the expected revision.
- **SecRecoveryMemset** -- Byte-level memory fill for pre-memory operation.
- **SecRecoveryMemmove** -- Overlap-safe memory copy for pre-memory use.
- **SecRecoveryMemset32Pairs** -- 32-bit pair memory fill in counted loops.
- **SecRecoveryMemset32** -- 32-bit value memory fill wrapper.

## Dependencies

- SEC/PEI recovery PPI
- PeiServices (revision check)
- Pre-memory execution environment (CAR)

## Platform

Intel Purley platform, pre-memory SEC/PEI phase, 32-bit X64 dump.