|
|
请教:我写了一段程序,如果我对硬盘的port下command为什么会当机?
假如:硬盘的port的基址是1F0,那么1F7就是它的command port,对它下相应的command就会死机。而对1F0--1F6的port写一些值就没关系。是不是linux对command port做了一些保护工作?望高手赐
#include <sys/io.h>
int main(int args, char *argv[])
{
iopl(3);
outb(0xe0, 0x1f6); /*不会当机*/
outb(0xe2, 0x1f7); /*0xe2是HDD STANDBY command, 0x1f7是command port, 会当机*/
iopl(0);
return 0;
} |
|