Qemu源码里面有许多虚拟的硬件,今天手痒,尝试自己写个简单的虚拟硬件。
hw_me.c,初始化放在serial_init()后面,注册端口,当Qemu执行到目标代码访问外部IO的时候,
见我之前的 Qemu分析 – 03 (仿真IO操作)
为了简单访问这个硬件,我直接在BIOS代码中操作这个端口,后续有空再写到linux driver里面。
修改bios的POST代码,加上下面两句,读1044端口寄存器
然后gdb断点调试,哈哈,搞定!