# IpmiDeviceAmount

| Field       | Value                                    |
|-------------|------------------------------------------|
| Index       | 0094                                     |
| Module      | IpmiDeviceAmount                         |
| Image       | IpmiDeviceAmount.efi                     |
| Size        | 14,784 bytes (5 sections, PE32+)         |
| SHA256      | eba02ebe3909c2b17b490fe17465ee3fc761c4.. |
| Subsystem   | DXE Driver (0Bh)                         |
| Functions   | ~18                                      |

## Overview

DXE driver that enumerates SATA/AHCI devices attached to the system, counts HDDs and SSDs separately, calculates total storage capacity, and reports device counts via IPMI to the BMC. Uses EFI_ATA_PASS_THRU_PROTOCOL and EFI_BLOCK_IO_PROTOCOL for device enumeration. Source: LenovoServerPkg/IpmiDeviceAmount/LnvIpmiDeviceAmount.c.

## Key Functions

- `ModuleEntryPoint` -- UEFI entry point, initializes protocol pointers
- ATA pass-through enumeration and classification routines
- Capacity calculation logic
- IPMI reporting functions to communicate device counts to BMC

## Dependencies

- EFI_ATA_PASS_THRU_PROTOCOL
- EFI_BLOCK_IO_PROTOCOL
- EFI_STORAGE_SECURITY_COMMAND_PROTOCOL
- IPMI transport protocol

## Platform

Lenovo HR650X, Purley platform.