在现代机器中,由于新接口良好的扩展性,和替代性。让以前很多ISA 设备都会觉得可有可无。比如KBC的存在。很逗项目中都会遇到不使用KBC的情况,HW上可以不使用,SW上就不要将其Disable掉。
多次遇到这样的问题,
机器重启的时候发现不能正常关机,一直当在“正在关机”的画面。究其原因,就与板子上KBC的线路有关。客户底板上SIO的KBC相关线路没有接,直接悬空了。
处理该问题有两种思路:
1,HW需要修改线路,将KBC的相关Pin均上拉。
2,在BIOS中需要将KBC 部分disable。
BIOS code中的解法:
a,首先disable KBC;
b,打开USB emulator,因为usb的code中会用到原始的60h、64hport。或者说enable legacy free support。
c,将FACP Table中的数据拿掉与KBC相关的部分。
AMI: 将“iapc_boot_arch”中的KBC部分关掉[TBLACPI.Dat].Award :Boot_Arch中将KBC部分拿到。
另外也遇到过没有KBC的情况下,打开A20需要另外注意。