# CRBDxe

| Field     | Value                         |
|-----------|-------------------------------|
| Index     | 0085                          |
| Size      | 16,672 bytes (PE32+ body)     |
| Phase     | DXE                           |
| Subsystem | EFI_BOOT_SERVICE_DRIVER (0x0B)|
| Arch      | x86-64                        |

## Overview

`CRBDxe` is a recovered DXE driver from the AmiCRBPkg CRB/PCH RC path. Despite
the name, the visible recovered code is centered on PCH runtime configuration,
PCIe/SMBIOS Type 9 slot discovery, GPIO pad validation, and protocol-notify
registration. TPM CRB initialization is represented by `CrbDriverEntryPoint`,
but many lower-level names and types still come directly from the decompiler.

The cleaned header is a navigation aid, not a claim that original EDK2 types
have been fully reconstructed.

## Recovered Areas

- `ModuleEntryPoint` and `UefiBootServicesTableLibConstructor` initialize global
  UEFI service pointers and dispatch into the PCH RC entry path.
- `PchRcConfigDriverEntry`, `PchRcConfigUpdate`, and `OptimizedBootConfig`
  register protocol notifications and synchronize firmware configuration data.
- `SmbiosType9FillSlotTable`, `SmbiosType9TableUpdate`, and related helpers
  populate slot data from PCIe link and platform configuration.
- `PciConfigBitParse`, `MmioRead16`, `MmioWrite16`, and `MmioGetBaseAddr`
  provide recovered PCI/MMIO access helpers.
- `GpioPadCfgValidate`, `GpioGroupCheck`, and related GPIO helpers validate
  chipset pad configuration.

## Files

- `CRBDxe.c` - IDA regenerated source with function address comments.
- `CRBDxe.h` - cleaned reverse-engineering header with grouped prototypes.
- `CRBDxe.md` - compact function map for quick scanning.

## Notes

Keep address comments and decompiler names intact unless a rename is backed by
clear evidence. Prefer adding clarifying comments or documentation over changing
control flow in this recovered source.
