gpt4 book ai didi

simics - Simics 使用 SMM 吗?

转载 作者:行者123 更新时间:2023-12-04 14:04:24 25 4
gpt4 key购买 nike

我想了解 QSP-x86 项目是否在模拟 SMM。我在 GUI 调试器的可用寄存器/内存中没有看到任何提示我可以查看 SMRAM/SMI 处理程序代码的方法。因此,我想知道我是否可以使用它来调试一些 SMM 代码。

我找到了一个页面,上面写着“Simics 快速启动平台是一个基于 Intel 的平台,从 TianoCore 基础启动...”,所以 Simics QSP 源代码在某处可用吗?或者它只是一个特殊的 EDK2/UDK 版本?如果是这样,哪个构建以及如何构建它? (因为如果它只是一个我可以摆弄的特定 TianoCore 构建,那会让我的生活更轻松。)

最佳答案

关于 UEFI:

如果你看https://software.intel.com/content/www/us/en/develop/articles/simics-simulator.html有一个链接到 https://github.com/tianocore/edk2-platforms/tree/master/Platform/Intel/SimicsOpenBoardPkg

您还可以查看另一个 QSP 兼容 BIOS 的 Slim Boot Loader 项目:https://slimbootloader.github.io/supported-hardware/qsp.html

SMM:

要在目标内核进入 SMM 时停止,请使用 hap 断点(目前没有可用的专用命令)。即,bp.hap.break

如果您在运行 qsp-client-core.simics 脚本后使用它,您应该会看到:

simics> bp.hap.break X86_Enter_SMM
Breakpoint 1: Break on hap X86_Enter_SMM
simics> bp.list
┌──┬──────────────────────────┬───────┬───────┬────────────┬─────────┐
│ID│ Description │Enabled│Oneshot│Ignore count│Hit count│
├──┼──────────────────────────┼───────┼───────┼────────────┼─────────┤
│ 1│Break on hap X86_Enter_SMM│ true │ false │ 0│ 0│
└──┴──────────────────────────┴───────┴───────┴────────────┴─────────┘
simics> r
[board.mb.sb.lpc.bank.cs_conf unimpl] Write to unimplemented field cs_conf.oic.aen (0x31ff) (value written = 0x01, contents = 0x00), will not warn again.
[board.mb.cpu0.core[1][0]] Breakpoint 1: board.mb.cpu0.core[1][0] X86_Enter_SMM 0
[board.mb.cpu0.core[1][0]] Breakpoint 1: board.mb.cpu0.core[1][0] X86_Enter_SMM 1
simics> pselect board.mb.cpu0.core[1][0]
Setting new inspection object: board.mb.cpu0.core[1][0]
simics> si
[board.mb.cpu0.core[1][0]] cs:0x0000000000008000 p:0x0000038000 mov ebp,dword ptr cs:[0x8010]
simics>

当任何处理器内核进入 SMM 时,Simics 就会停止。请注意,您可能必须选择执行停止的处理器。另请注意,精确输出可能会随着 Simics 基础和模型的版本而变化。

关于simics - Simics 使用 SMM 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68989604/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com