Newer
Older
AMI-Aptio-BIOS-Reversed / CpuIoDxe / README.md
@Ajax Dong Ajax Dong 2 days ago 1 KB Init

CpuIoDxe

Index: 0084 (84)
Size: 7680 bytes (PE32+ body)
Phase: DXE (Driver eXecution Environment)
Subsystem: EFI_BOOT_SERVICE_DRIVER (0x0C, EFI_RUNTIME_DRIVER)

Overview

EFI CPU I/O Protocol DXE Driver. Implements and produces the EFI_CPU_IO_PROTOCOL for validated access to memory-mapped I/O (MMIO) space and port I/O space. This is the older Framework CPU I/O protocol from the IntelFrameworkModulePkg. Unlike the newer EFI_CPU_IO2_PROTOCOL (in UefiCpuPkg), the access function signatures do NOT include a 'This' pointer as the first parameter. Provides width-and-stride-aware I/O read/write operations with parameter validation, supporting 1, 2, 4, and 8-byte accesses including FIFO and fill modes.

Key Functions

  • CpuIoDriverEntry -- Module entry point; installs the EFI_CPU_IO_PROTOCOL interface
  • CpuIoCheckParameter -- Validates I/O access parameters (address, width, count) against platform constraints
  • CpuIoReadMmio -- Reads from memory-mapped I/O space with specified width and stride
  • CpuIoWriteMmio -- Writes to memory-mapped I/O space with specified width and stride
  • CpuIoReadPort -- Reads from I/O port space with specified width and stride
  • CpuIoWritePort -- Writes to I/O port space with specified width and stride

Protocols / Dependencies

  • EFI_CPU_IO_PROTOCOL -- Framework CPU I/O Protocol providing validated MMIO and port I/O access
  • IntelFrameworkModulePkg/Universal/CpuIoDxe -- EDK2 Intel Framework module
  • UEFI Boot Services -- Protocol installation

Platform

HR650X BIOS, x86-64 architecture. Source originates from e:\hs\IntelFrameworkModulePkg\Universal\CpuIoDxe\CpuIo.c. This is the older Framework protocol variant (without 'This' pointer in access functions) from the IntelFrameworkModulePkg.