mirror of
https://github.com/chipsec/chipsec
synced 2026-06-08 13:31:00 +00:00
Dump the communication buffer before and after triggering the SMI.
This commit is contained in:
@@ -34,7 +34,7 @@ import struct
|
||||
import uuid
|
||||
|
||||
from chipsec.hal import hal_base
|
||||
from chipsec.logger import logger
|
||||
from chipsec.logger import logger, print_buffer_bytes
|
||||
from chipsec.hal.acpi import ACPI
|
||||
from chipsec.hal.acpi_tables import UEFI_TABLE
|
||||
from chipsec.defines import bytestostring
|
||||
@@ -173,7 +173,18 @@ MdeModulePkg/Core/PiSmmCore/PiSmmCorePrivateData.h
|
||||
self.cs.mem.write_physical_mem(smmc + CommBuffer_offset, 8, struct.pack("Q", payload_loc))
|
||||
self.cs.mem.write_physical_mem(smmc + BufferSize_offset, 8, struct.pack("Q", payload_sz))
|
||||
self.cs.mem.write_physical_mem(payload_loc, len(data_hdr), data_hdr)
|
||||
|
||||
if self.logger.VERBOSE:
|
||||
self.logger.log("[*] Communication buffer on input")
|
||||
print_buffer_bytes(self.cs.mem.read_physical_mem(payload_loc, payload_sz))
|
||||
self.logger.log("")
|
||||
|
||||
self.send_SMI_APMC(CommandPort, DataPort)
|
||||
|
||||
if self.logger.VERBOSE:
|
||||
self.logger.log("[*] Communication buffer on output")
|
||||
print_buffer_bytes(self.cs.mem.read_physical_mem(payload_loc, payload_sz))
|
||||
self.logger.log("")
|
||||
|
||||
ReturnStatus = struct.unpack("Q", self.cs.mem.read_physical_mem(smmc + ReturnStatus_offset, 8))[0]
|
||||
return ReturnStatus
|
||||
|
||||
Reference in New Issue
Block a user