# Smbios
**Index**: 0065 | **Size**: 45088 bytes | **Arch**: x64 | **Phase**: DXE

## Overview
Core SMBIOS table management DXE driver. Provides initialization and publishing of SMBIOS v2.x ("_SM_") and v3.0 ("_SM3_") entry points, runtime table update services (add/remove/modify structures), EndOfDxe event handler to lock table regions and program legacy F-segment entry points, and producer handle tracking. Installs both PI SMBIOS and AMI SMBIOS protocols.

## Key Functions
- `SmbiosDriverEntryPoint` -- Entry point; initializes SMBIOS table base (8KB default), entry points, and protocols
- `SmbiosPiAddStructure` / `SmbiosPiRemoveStructure` -- PI SMBIOS protocol add/remove operations
- `SmbiosPiUpdateString` / `SmbiosPiGetNextStructure` -- PI SMBIOS string update and enumeration
- `SmbiosEndOfDxe` -- Locks SMBIOS table, programs legacy entry point into E/F segment
- `SmbiosDynamicUpdate` -- Populates onboard device data and NVRAM-based structures at EndOfDxe
- `UpdateSmbiosTable` -- Internal add/insert/delete operation on the SMBIOS structure table

## Protocols / Dependencies
- EFI_SMBIOS_PROTOCOL (PI spec) and AMI_SMBIOS_PROTOCOL (custom extensions)
- Legacy Region Protocol, Firmware Volume 2 Protocol
- MM PCI Base Protocol, PCD Protocol
- SMBIOS handle table (512 entries), producer handle tracking

## Platform
HR650X, SMBIOS v2.x/v3.0 dual entry points, 8KB default table, onboard device types 41/42 support