Newer
Older
AMI-Aptio-BIOS-Reversed / AmiModulePkg / Terminal / SerialIo / README.md
@Ajax Dong Ajax Dong 2 days ago 1 KB Restructure the repo

SerialIo

Index Module Size Phase
133 SerialIo 17,248 bytes (17 KB) Decompiled

SerialIo implements the EFI_SERIAL_IO_PROTOCOL on top of NS16550/PC16550D-compatible UART hardware. It supports three access backends -- legacy I/O (in/out instructions on ISA UARTs COM1-COM10), PCI I/O protocol (MMIO or I/O) on PCI UARTs, and direct MMIO register access. The driver follows the UEFI Driver Binding pattern, detecting UART type via device path probing and allocating a SERIAL_IO_PRIVATE context with automatic FIFO detection through the standard 8250/16550 loopback test.

Key Functions

  • SerialIoDriverBindingSupported, SerialIoDriverBindingStart, SerialIoDriverBindingStop
  • SerialIoReset, SerialIoSetAttributes, SerialIoSetControl, SerialIoGetControl
  • SerialIoWrite, SerialIoRead
  • UartReadRegister, UartWriteRegister (dispatch to legacy/PCI/MMIO backends)
  • SerialIoComponentNameGetDriverName, SerialIoComponentNameGetControllerName

Dependencies

  • EFI_SERIAL_IO_PROTOCOL, EFI_DEVICE_PATH_PROTOCOL, EFI_PCI_IO_PROTOCOL
  • UefiBootServicesTableLib, UefiRuntimeServicesTableLib, BaseMemoryLib, DebugLib

Platform

x86-64, PE32+, UEFI DXE driver, 6 sections (.text/.rdata/.data/section_3/.xdata/.reloc), entry at 0x390