为了方便,直接将pci上的USB Controller给VM使用,但是发现系统启动过程,从grub到系统起来这段时间USB设备都是失效的,为什么?
原因很简单,bios里面没有初始化这个pci设备,当然不能用咯。
可以查看seabios的源码:src/fw/pciinit.c中有个结构体数组:pci_device_tbl,这个列表中定义了bios中初始化的pci设备列表,以及初始化函数。可以很明显的看到并没有这个设备:[8086:9d2f]。
简单说一下seabios初始化流程:
初始化涉及的文件:
src/romlayout.S
src/post.c
初始化流程: