【iopl使用方式】
For Linux
For Linux
功能描述:
改變當前I/O埠的權能級別,可存取所有 65536個I/O埠。但因為使用較高的I/O權限,將
會使中斷禁能,這可能導致系統的crash,不推薦那樣做。一般I/O權限設定為0。
用法:
#include <sys/io.h>
int iopl(int level);
參數:
level:新的I/O訪問級,範圍是[0~3]。(3->最大權限)
返回說明:
成功執行時,返回0。失敗返回-1,errno被設為以下的某個值
EINVAL:參數無效,level大於3
ENOSYS:平臺不支援這個系統調用
EPERM:調用進程沒有許可權使用iopl,要求CAP_SYS_RAWIO權能
成功執行時,返回0。失敗返回-1,errno被設為以下的某個值
EINVAL:參數無效,level大於3
ENOSYS:平臺不支援這個系統調用
EPERM:調用進程沒有許可權使用iopl,要求CAP_SYS_RAWIO權能
Example:
main()
{
iopl(3);
outb(0xcfc);
inb(0xcfc);
iopl(0);
}
1 則留言:
烏漆媽黑的給鬼看阿
張貼留言