pci配置空間讀取實例_第1頁
pci配置空間讀取實例_第2頁
pci配置空間讀取實例_第3頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、原貼內容:聽說PCI配置空間一共是256個字節(jié),0cf8-0cff只有8個字節(jié).那256個字節(jié)是放在什么地方的?內存?在x86 AT兼容機上訪問PCI配置空間的方法是讀寫cf8h到cfch的10空 間。其中cf8h-cfbh是地址空間,cfch-cffh是數(shù)據(jù)空間。訪問的時候具體做法是 先把一個32bit的地址信息out到cf8h,然后再讀寫cfch的數(shù)據(jù)。這個32bit的地址信息的含義是這樣的,它包括了 PCI的bus號,device 號,dunction號以及register號。一個機器可以有256條PCI總線,一條總線上有 32個設備,一個設備可以有8個functiono在確定了了這3個

2、數(shù)以后,就能訪問 PCI配置空間了。一個設備可以是一個真正的PCI設備,也可以是一個PCI橋或者 是cardbus橋。他們的配置空間的各個byte的定義不同?,F(xiàn)在拿一個真正的設備 舉例。他的配置空間大小是256bytes,分成頭部和自定義部分。頭部中的各個特定 btyes是定死的,每個PCI設備都要實現(xiàn)。廠商號和設備號就是第一二個byteo通 過讀取他們就可以獲得相應信息。你把這256字節(jié)和cf8h-cfch搞混了。后者是10端口,而前者是存在于PCI 設備上的,相當于特殊的寄存器,并不占用10或者內存空間。至于為PCI設備分配 內存空間那又是另一個概念了。以下是一個PCI讀入函數(shù):;GET_

3、PCI:改變PCI配置空間信息;入口: CL/CX要讀入的寄存器也就是設備號,func號,寄存器號(不包括總線號);出口: AL/AX讀入值;破壞:AX, DXGET.PCI PROC NEARxchg ax,ex ;shl ecx,16 ;xchg ax, ex ;保存 axmov ax, 8000H :PCI地址的最高位置1來是的這次讀寫有效;詳細參見PCI標準文檔shl eax, 16 ;形成地址高16位,總線號0;這個總線號0與具體芯片組有關mov ax, ex ;讀入設備號,func號,寄存器號(低八位)and al, NOT 03h ;把bitO和bitl清零,表示是一個type。配置讀寫;typeO表示讀寫本bus設備;typel表示讀寫本bus上的PCI橋連接的那個bus的設備;具體看文檔;山此只能得到4的倍數(shù)的的配置空間里的bytes,但是不要緊;因為讀入 cfch-cffh 的是 32bits, =8*4;正好可以讀入不能訪問的bytesmov dx, OcfSh ;往 0cf8h 寫地址out dx, eaxadd dl, 4 ;0cfch 數(shù)據(jù)口,mov al, cland al, 03h ;取4個bytes中的需

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論