# PciTableInit

| Field       | Value                                      |
|-------------|--------------------------------------------|
| Index       | 397                                        |
| Module      | PciTableInit                               |
| Size        | 2,468 bytes (9A4h)                         |
| Phase       | PEI (Library)                              |
| SHA256      | 423d394c79dc70b99dafa9db7af46c2cdc8ad3cef5679eb7bbf02f28b11063d1 |
| Functions   | 26                                         |

## Overview

PciTableInit is a lightweight PEI module from AmiCspLib (AmiChipsetModulePkg) that provides PCI table initialization support. It registers PPI notification and installation dispatch callbacks via CspLibPei_Init to manage PCI table data structures. It produces a PPI (gPciTableInitPpiGuid) that enables other modules to configure PCI device registers during the PEI phase.

## Key Functions

- **CspLibPei_Init** -- Module entry; initializes PCI table PPI notification/dispatch structures
- **PpiNotifyDispatch / PpiInstallDispatch** -- Callback functions for PPI notification and installation
- PciTableInit dispatch -- Processes PCI register tables (config space reads/writes) based on platform policy

## Dependencies

- PiPei, Uefi base libraries
- BaseMemoryLib, DebugLib, PeiServicesLib
- PeiServicesTablePointerLib
- IoLib for PCI config space access
- AmiCspLib PPI interfaces

## Platform

- **Architecture**: IA-32 (x86)
- **Subsystem**: EFI_BOOT_SERVICE_DRIVER (0x0B)
- **Source**: AmiChipsetModulePkg/Library/AmiCspLib/PciTableInit
- **PDB**: AmiChipsetModulePkg/Library/AmiCspLib/PciTableInit/DEBUG/PciTableInit.pdb
- **Linker**: MSVS 2015