Newer
Older
AMI-Aptio-BIOS-Reversed / AmiModulePkg / LegacySerialRedirection / LegacySmmSredir / README.md
@Ajax Dong Ajax Dong 2 days ago 1 KB Full restructure

LegacySmmSredir

  • Index: 0197
  • Size: 7,428 bytes (7.3 KB)
  • Phase: SMM (System Management Mode)
  • PE Format: PE32+ x86-64, 5 sections (.text, .rdata, .data, section_3, .xdata)

Overview

SMM driver for legacy serial redirection, sourced from AmiModulePkg/LegacySerialRedirection. This driver provides SMM-based I/O access to serial ports for legacy serial console redirection during boot. It installs an SMM communicate handler that services read/write/block-fill commands targeting an I/O base address (serial port registers). The driver includes a CMOS-based platform detection mechanism (CMOS offset 0x4C) to determine whether legacy serial redirect is supported on the board. 20 functions across 0x1080 bytes of .text.

Key Functions

  • _ModuleEntryPoint (0x420) -- Standard SMM entry; calls init then dispatch
  • sub_44C (0x44C) -- AutoGen library init; locates SmmBase2 and buffer validation protocols
  • sub_618 (0x618) -- Main entry; checks board support via CMOS, dispatches to main logic
  • sub_C58 (0xC58) -- Primary dispatch; opens SMM subsystem, initializes globals
  • sub_9E8 (0x9E8) -- Registers communicate handler, SW dispatch, and notification callbacks
  • sub_6CC (0x6CC) -- Core handler: decodes read(1)/write(2)/fill(3) commands with width support
  • sub_115C (0x115C) -- CMOS 0x4C platform detection

Protocols

  • SmmBase2 -- SMM entry; AmiBufferValidationLib -- buffer security check
  • SmmCommunicate -- handler registration; SmmIo -- I/O space access
  • DebugLib -- DEBUG/ASSERT support; SmmSwDispatch -- software SMI registration

Platform

  • Build: HR6N0XMLK DEBUG_VS2015 X64
  • Source: AmiModulePkg/LegacySerialRedirection
  • Part of: HR650X BIOS SMM infrastructure (indices 0195-0199, 0201-0203)