WeHack BBS
正在体验SerialICE - 可打印的版本

+- WeHack BBS (https://bbs.wehack.space)
+-- 版块: 计算机技术 (https://bbs.wehack.space/forum-5.html)
+--- 版块: 固件技术讨论区 (https://bbs.wehack.space/forum-8.html)
+--- 主题: 正在体验SerialICE (/thread-162.html)



正在体验SerialICE - vimacs - 05-21-2020

这星期我仔细看了下SerialICE.这个项目一直发展得很慢,gerrit上也没什么人提交代码。我看了下SerialICE的代码,给目标(被调试)机器的代码其实很直接,就是一个bootblock,里面初始化了南桥和串口,然后在串口上开了个控制台接收命令并返回结果。而想串口发消息的这端是个改过的QEMU,作为模拟器使用,功能估计就是模拟执行到BIOS的内存读写、I/O读写、CPUID之类的指令时,转发到SerialICE的控制台,然后得到目标返回的结果,再继续模拟执行。总体来说,两端的实现都非常简单和直接。

我尝试给ASRock H81M-HDS移植SerialICE. 南桥我就直接用ICH7的代码,PCH的代码到LynxPoint-H应该都通用。Super I/O的代码就直接从coreboot移过来,也很简单。现在我已经能看到串口了。

剩下的部分应该是要写Lua脚本过滤BIOS的一些行为了,例如防止串口被重复初始化之类的。Lua我还不会,还需要学习。