- Via the Global Non-Volatile Storage (GNVS). This is a region in the non-volatile storage area. I'm not 100% sure about the physical implementation of the GNVS, but it's part of RAM reserved for Non-Volatile Storage by ACPI BIOS subsystem on the motherboard. [Thanks to Kun-Yi Chen for pointing out].
- Via General Puupose Registers (GPRs). In this technique physical address pointer is passed via GPR to the SMI handler code. I've been thinking about giving some IDA Pro disassembly for this one. Maybe later.
Welcome to the dark corner of BIOS reverse engineering, code injection and various modification techniques only deemed by those immensely curious about BIOS
Wednesday, February 22, 2012
Passing Parameter(s) to BIOS/UEFI SMI Handlers
There are two ways to pass parameter(s) to SMI handler(s) in BIOS/UEFI:
Hi Kun-Yi Chen, thanks for the correction. I have just realized it when waking-up this morning and reading ACPI 4.0 Specification.
ReplyDelete