# MultiSkuDistinctionPei

| Field       | Value                                           |
|-------------|-------------------------------------------------|
| Index       | 419                                             |
| Module      | MultiSkuDistinctionPei                           |
| Size        | 2,724 bytes (PE32 .text: 1,103 / .rdata: 804 / .data: 89 / .reloc: 56) |
| Phase       | PEI                                             |
| Functions   | ~19                                             |

## Overview

MultiSkuDistinctionPei detects the platform SKU (Stock Keeping Unit) during early PEI by reading CMOS register 0x4A and querying a GUID-extended HOB for CrystalRidge SKU data. It installs the appropriate PPI to inform downstream PEIMs which SKU variant is active, enabling them to adapt their initialization behavior accordingly.

## Key Functions

- `SkuDetectionEntry` -- Main entry: reads CMOS and HOB data to determine SKU
- `InstallDefaultSkuPpi` -- Installs PPI for the default (non-specific) SKU path
- `InstallActiveSkuPpi` -- Installs PPI when a specific SKU sentinel is detected (0x55)
- `GetCrystalRidgeSkuData` -- Queries CrystalRidge HOB for extended SKU info

## Dependencies

- CMOS RTC (ports 0x70/0x71)
- PEI Services (PeiServices)
- CrystalRidge HOB GUID
- PPI notification mechanism

## Platform

- **Architecture**: IA32 (x86, PE32)
- **Subsystem**: EFI Boot Service Driver (0x000B)
- **Machine**: 0x014C (i386)
- **Entry Point**: 0x320