Device/PCI
の編集
Top
>
Device
> PCI
[
ホーム
] [
一覧
|
検索
|
ヘルプ
]
-- 雛形とするページ --
!Template
A20
API
ATA/ATAPI
ATA/ATAPI/Command
ATA/ATAPI/I/O Port, Register
ATA/ATAPI/Transfer
ATA/ATAPI/Transfer/UltraDMA
Address space
Assembly language
BBS
Barn
Books
Boot process
Build
Comments/El Torito
Comments/Memo
Comments/OS glossary
Comments/Privilege levels
Comments/Projects/TestOS_CD
Computer language
Computer language/C
Computer language/C++
Computer language/C++/Class
Computer language/C++/Class/Inheritance
Computer language/C++/Operator
Computer language/C++/関数名forアセンブリ
Computer language/C/Complex sentence
Computer language/GNU Assembler
DMA
DMAC
DMAC/Intel 8237A
Development environment for Linux
Device
Device/82093AA
Device/8259
Device/PCI
Device/PCI to ISA Bridge
Device/PCI/Class Code
El Torito
Exception
FDC
FDC/82077AA
FDD boot
FDDブート
FileSystem
FileSystem/ISO 9660
FileSystem/Joliet
Format/FileFormat
Format/FileFormat/ELF
Format/FileFormat/PNG
FormattingRules
GCC
GHex
Help
Info
Info/Copyright Policy
Info/Introduction
Inline assembly
InterWikiName
I/O port address
I/O port address/0x0000~0x03ff
I/O port address/0x0c00~0x0fff
I/Oポートアドレス
KBC
KBC/Intel 8042
Kernel
Linker script
Links
MBR
Makefile
Memo
Memo/Flags
Memo/Linux
Memo/if文が遅い理由
Memo/アドレスの種類
Memo/クラス設計パターン
Memo/コメントアウト手法
Memo/ブートセクタ
Memo/メモリの連続領域(一次元)を多次元で扱う
Memo/リンカスクリプト
Memo/二重ループをアセンブリで書く
Memo/勉強会でのプレゼン
Memory management
Memory map
Menu
NDP
OS
OS glossary
OS用語集
PIC
PIT
PIT/Intel 8254
PORTA
PORTB
Page fault
Paging
Popular
Privilege levels
Projects
Projects/ML_Check
Projects/TestOS_CD
Projects/TestOS_FDD
QEMU
RTC
RTC/MC146818A
Recent
SandBox
Section
Stack
Stack switching
System port A
System port B
Top
Trouble Information
UEFI
VESA
arch/arm
x64
x64/Descriptor/Base
x64/Descriptor/Segment descriptor
x64/Descriptor/System descriptor
x64/Descriptor/System descriptor/System segment descriptor/LDT segment descriptor
x64/Descriptor/System descriptor/System segment descriptor/TSS descriptor
x64/Descriptor/System descriptor/Type
x86
x86/Descriptor
x86/Descriptor/AVL
x86/Descriptor/Base
x86/Descriptor/DPL
x86/Descriptor/D/B
x86/Descriptor/G
x86/Descriptor/Limit
x86/Descriptor/P
x86/Descriptor/S
x86/Descriptor/Segment descriptor
x86/Descriptor/Segment descriptor/A
x86/Descriptor/Segment descriptor/Type
x86/Descriptor/System descriptor
x86/Descriptor/System descriptor/Gate descriptor
x86/Descriptor/System descriptor/Gate descriptor/Call gate descriptor
x86/Descriptor/System descriptor/Gate descriptor/Interrupt gate descriptor
x86/Descriptor/System descriptor/Gate descriptor/Task gate descriptor
x86/Descriptor/System descriptor/Gate descriptor/Trap gate descriptor
x86/Descriptor/System descriptor/System segment descriptor
x86/Descriptor/System descriptor/System segment descriptor/LDT segment descriptor
x86/Descriptor/System descriptor/System segment descriptor/TSS descriptor
x86/Descriptor/System descriptor/Type
x86/GDT
x86/IDT
x86/Interrupt management
x86/LDT
x86/Register
x86/Segment selector
x86/Task management
x86/Task management/TSS
システム・ポートA
システム・ポートB
セクション
ヒデ
特権レベル
***書籍 [#u383412d]
タイムスタンプを変更しない
*PCI [#q3ebb795] **目次 [#lbda08ae] #contents **PCIコンフィグレーション空間 [#a9635f50] PCIバスにはI/O空間などとは別の、コンフィグレーション空間というものがある。~ 現在はさまざまなデバイスがPCIデバイスを使用しており、USBなどはPCIバスを前提としている。 **I/Oポート、レジスタ [#se15dc0a] ***PCIのI/Oポートマップ [#dc43e6c5] |~I/Oポート|~サイズ|~R/W|~説明| |0x0cf8|32bit|R/W|[[コンフィグレーション・アドレス・レジスタ>#tdd54f23]]| |0x0cfc|32bit|R/W|[[コンフィグレーション・データ・レジスタ>#wbb9d4d7]]| ***コンフィグレーション・アドレス・レジスタ(Port:0x0cf8) [#tdd54f23] |~31|~30|~29|~28|~27|~26|~25|~24|~23|~22|~21|~20|~19|~18|~17|~16|~15|~14|~13|~12|~11|~10|~09|~08|~07|~06|~05|~04|~03|~02|~01|~00|~ | ||>|>|>|>|>|>|CENTER:BGCOLOR(#ddd):|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|CENTER:|>|CENTER:BGCOLOR(#ddd):||c |[[EN>#qe0a5538]]|>|>|>|>|>|>|予約:0|>|>|>|>|>|>|>|[[BusNo>#o4d83948]]|>|>|>|>|[[DevNo>#xfe7e2c2]]|>|>|[[FuncNo>#d69fae9c]]|>|>|>|>|>|[[RegAddr>#z2579d81]]|0|0|~0x00| ****RegAddr : レジスタ・アドレス(bit:2-7) [#z2579d81] PCIコンフィグレーション・レジスタのアドレスを指定します。~ 4バイト単位で指定します。 ****FuncNo : ファンクション番号(bit:8-10) [#d69fae9c] 0~7までのファンクション番号を指定 ****DevNo : デバイス番号(bit:11-15) [#xfe7e2c2] 0~31までのデバイス番号を指定 ****BusNo : バス番号(bit:16-23) [#o4d83948] 0~255までのバス番号を指定 ****EN : コンフィグレーション・データ・レジスタ・イネーブル(bit:31) [#qe0a5538] コンフィグレーション・データ・レジスタを有効にするビット。 -0:無効 -1:有効 ***コンフィグレーション・データ・レジスタ(Port:0x0cfc) [#tdd54f23] **PCIコンフィグレーション・レジスタ [#wbb9d4d7] |>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|CENTER:||c |~31|~30|~29|~28|~27|~26|~25|~24|~23|~22|~21|~20|~19|~18|~17|~16|~15|~14|~13|~12|~11|~10|~09|~08|~07|~06|~05|~04|~03|~02|~01|~00|~ | |>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|BGCOLOR(#cef):デバイスID|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|BGCOLOR(#cef):ベンダID|~0x00| |>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|BGCOLOR(#cef):デバイス・ステータス|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|BGCOLOR(#cef):デバイス制御|~0x04| |>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|BGCOLOR(#cef):クラスコード|>|>|>|>|>|>|>|BGCOLOR(#cef):リビジョンID|~0x08| |>|>|>|>|>|>|>||>|>|>|>|>|>|>|BGCOLOR(#cef):ヘッダ・タイプ|>|>|>|>|>|>|>||>|>|>|>|>|>|>||~0x0c| |>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|ベース・アドレス0|~0x10| |>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|ベース・アドレス1|~0x14| |>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|ベース・アドレス2|~0x18| |>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|ベース・アドレス3|~0x1c| |>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|ベース・アドレス4|~0x20| |>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|ベース・アドレス5|~0x24| |>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>||~0x28| |>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|BGCOLOR(#cef):サブシステムID|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|BGCOLOR(#cef):サブシステム・ベンダID|~0x2c| |>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>||~0x30| |>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|BGCOLOR(#ddd):予約|>|>|>|>|>|>|>||~0x34| |>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|BGCOLOR(#ddd):予約|~0x38| |>|>|>|>|>|>|>||>|>|>|>|>|>|>||>|>|>|>|>|>|>|BGCOLOR(#cef):割り込みピン|>|>|>|>|>|>|>|BGCOLOR(#cef):割り込みライン|~0x3c| |>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|未定義|~0x40| |>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|~|~~| |>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|~|~0xfc| -&color(,#cef){ };:どのデバイスも実装すべきとされているレジスタ //-&color(,#cef){ };:通常のPCIデバイスで実装されているレジスタ ***ベンダID/デバイスID/リビジョンID/サブシステム・ベンダID/サブシステムID [#n7dc1c91] デバイスを一意に識別するための番号。 ****ベンダID [#u27ca8f0] メーカーに一意に割り振られる番号。 ****デバイスID [#u4e9bc5f] メーカーが独自に決めることができる、デバイスの番号 ****リビジョンID [#c55bf75c] 改訂番号。バージョン番号 ****サブシステム・ベンダID [#v526fd16] ****サブシステムID [#lda6dd6b] ***デバイス制御 [#qf62de97] |~15|~14|~13|~12|~11|~10|~09|~08|~07|~06|~05|~04|~03|~02|~01|~00| |>|>|>|>|CENTER:BGCOLOR(#ddd):|>|>|>|>|>|>|>|>|>|>|CENTER:|c |>|>|>|>|予約|||||||||||| ***デバイス・ステータス [#m21da126] |~31|~30|~29|~28|~27|~26|~25|~24|~23|~22|~21|~20|~19|~18|~17|~16| |>|>|>|>|>|>|>|>|>|>|>|>|CENTER|>|>|CENTER:BGCOLOR(#ddd):|c ||||||||||||||>|>|予約| ***クラスコード [#y1141fbb] デバイスの分類を表す。 |~31|~30|~29|~28|~27|~26|~25|~24|~23|~22|~21|~20|~19|~18|~17|~16|~15|~14|~13|~12|~11|~10|~09|~08| |>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|CENTER:|c |>|>|>|>|>|>|>|基本クラス|>|>|>|>|>|>|>|サブクラス|>|>|>|>|>|>|>|プログラム・インターフェース| ***ヘッダタイプ(Byte:0x0c[bit:23-16]) [#g0c603c2] |~23|~22|~21|~20|~19|~18|~17|~16| |>|>|>|>|>|>|>|CENTER:|c |MF|>|>|>|>|>|>|タイプ| ****MF : マルチファンクション(bit:23) [#jb53de29] -0:単機能ファンクション。同じデバイス/バス番号の、ファンクション番号1~7に機能は無い。 -1:マルチファンクション。同じデバイス/バス番号の、ファンクション番号1~7にも機能がある。 ****タイプ(bit:22-16) [#wc9d2558] 0~127までの128通りの表現ができるが、現在は0~2の3通りしかない。 -0x00:通常デバイス -0x01:PCIブリッジ・デバイス -0x02:Card Busブリッジ・デバイス **参考・関連 [#m60467d5] -[[OS-Wiki:PCI]] ***書籍 [#u383412d] ****PCIバス&PCI‐Xバスの徹底研究 [#a8847791] #amazon(4789833321,left); #clear
Since 2008 July. OS Project Wiki