以下代码如何重启系统,任何人都可以提供有关此方面的文档
#define KEYBOARD_PORT 0x64 ioperm(KEYBOARD_PORT, 0x01, 0x01); outb(0xfe, KEYBOARD_PORT);
在键盘端口上写入“ 0xfe”的意义是什么?
最初的8042“ PS / 2键盘控制器”设计在控制器上有一些额外的引脚,而那些精明的IBM工程师确实在这些额外的引脚上连接了很多东西。一个引脚连接到CPU复位引脚,另一个未使用的引脚用于修复80286地址环绕式不兼容问题,该修复称为A20门。
该命令字节的0xFx
含义是“将选定的线向下脉冲6毫秒”,并E
选择复位线(位0为零)。这样做的结果是复位CPU,使其根据启动顺序开始执行代码。
自然,当前的PC没有Intel 8042微控制器,只是其仿真...
Osdev Wiki文章Reboot和PS / 2 Controller中的更多信息。