2011-10-15 21 views
5

我通過「catting」我的電腦的Linux的/ proc/ioports文件奇怪的文字,是什麼/ proc中的內容的含義/ ioports

0000-001f : dma1 
0020-003f : pic1 
0040-005f : timer 
0060-006f : keyboard 
0070-007f : rtc0 
... 

什麼我不明白的是前部例如,查看第一個條目,是否意味着由dma1佔用31(十六進制0x1f)端口?如果這是真的,我無法想象x86處理器上有多少個端口,因爲我知道8位MCU上只有幾個8位端口。

任何人都可以詳細說明數字的意義,以及x86處理器的io端口?

回答

0

/proc/ioports列出了由Linux驅動程序聲明和處理的端口範圍的端口範圍內的設備驅動程序提供的端口範圍和名稱。

作爲一個例子,Io端口0070-007f由RTC Linux內核驅動程序聲明。

可以假定驅動程序聲稱的端口範圍對應於相應硬件提供的適當端口範圍,但您應該注意實際上沒有確保它們的機制。

5

這是內核驅動程序使用內核函數request_region聲明的I/O端口區域列表。所以這不是可用的I/O端口或設備的完整列表,只有那些已被各種內核驅動程序聲明的端口或設備。 request_region機制允許內核阻止多個驅動程序向同一設備通話。