AMI-Aptio-BIOS-Reversed / AmiIpmiPkg / Ipmi / DxeIpmiUsb /
@Ajax Dong Ajax Dong authored 2 days ago
..
DxeIpmiUsb.c Full restructure 2 days ago
DxeIpmiUsb.h Full restructure 2 days ago
DxeIpmiUsb.md Full restructure 2 days ago
README.md Full restructure 2 days ago
README.md

DxeIpmiUsb

Index Module Size Phase
276 DxeIpmiUsb 9 KB (8996 bytes) DXE

Overview

DxeIpmiUsb is a UEFI DXE driver that provides IPMI (Intelligent Platform Management Interface) transport over USB for the Lenovo HR650X platform. The driver discovers USB HID class interfaces with vendor-specific class codes (0xFF/0x01/0x86 per IPMI v2.0) and implements SendIpmiCommand/ReceiveIpmiResponse protocol functions using USB control and interrupt transfers.

The driver allocates an IPMI_USB_DEVICE structure (32 KB), performs a self-test via IPMI Get Device ID, and installs the IPMI transport protocol on the USB handle. IPMI messages are exchanged using USB SET_REPORT/GET_REPORT requests over endpoint 0 and interrupt endpoints for streaming.

Key Functions

  • DxeIpmiUsbEntryPoint / _ModuleEntryPoint -- DXE driver entry point
  • Supported() -- USB IO protocol handler, checks for IPMI USB class
  • Start() -- Allocates device context, discovers endpoints, installs protocol
  • SendIpmiCommand -- Sends IPMI command via USB control transfer
  • ReceiveIpmiResponse -- Receives IPMI response via USB interrupt transfer
  • GetHobList -- Locates HOB list from system table

Dependencies

  • UEFI USB IO Protocol
  • PCI Express MMIO configuration
  • IPMI v2.0 specification (USB HID transport)
  • UEFI HOB (Hand-Off Block) list

Platform

Lenovo HR650X (x86_64, PE32+)