| Zeile 12: | Zeile 12: | ||
{| {{Prettytable}} | {| {{Prettytable}} | ||
|- align="center" | |- align="center" | ||
| − | ! Register | + | ! Register !! width="22%" | 31-24 !! width="22%" | 23-16 !! width="22%" | 15-8 !! width="22%" | 7-0 |
|- align="center" | |- align="center" | ||
| 0x000 || colspan="2" | Device ID || colspan="2" | Vendor ID | | 0x000 || colspan="2" | Device ID || colspan="2" | Vendor ID | ||
| Zeile 56: | Zeile 56: | ||
{| {{Prettytable}} | {| {{Prettytable}} | ||
|- align="center" | |- align="center" | ||
| − | ! Header Type | + | ! Header Type !! Kurze Beschreibung |
|- align="center" | |- align="center" | ||
| 0x00 || [[#Header_Type_0x00|Standard]] | | 0x00 || [[#Header_Type_0x00|Standard]] | ||
| Zeile 71: | Zeile 71: | ||
{| {{Prettytable}} | {| {{Prettytable}} | ||
|- align="center" | |- align="center" | ||
| − | ! Register | + | ! Register !! width="22%" | 31-24 !! width="22%" | 23-16 !! width="22%" | 15-8 !! width="22%" | 7-0 |
|- align="center" | |- align="center" | ||
| 0x010 || colspan="4" | Base Address #0 (BAR0) | | 0x010 || colspan="4" | Base Address #0 (BAR0) | ||
| Zeile 190: | Zeile 190: | ||
==== Base-Address-Register ==== | ==== Base-Address-Register ==== | ||
| − | Die Base-Address-Register dienen dem Zuweisen von Adressen an die Ressourcen des PCI-Gerätes. Ein PCI-Gerät kann bis zu 6, bei Bridges nur maximal 2, Ressourcen anbieten dehnen das BIOS oder OS eine Adresse zuweist über welche diese Ressource dann ansprechbar ist. Als Ressourcen können Speicherbereiche aber auch IO-Bereiche angeboten werden, der IO-Adress-Raum wird aber nicht auf jeder Plattform unterstützt, eigentlich nur beim PC. Die IO-Ressourcen haben verschiedene Nachteile, u.a. sind sie langsamer da es keine Burst-Zugriffe gibt und es gibt Einschränkungen bei der Adressenraumgröße. Speicher-Ressourcen können bis zu 64 Bit Adressen nutzen, wofür dann aber 2 hintereinander liegende BARs für eine Ressource benutzt werden müssen. | + | Die Base-Address-Register dienen dem Zuweisen von Adressen an die Ressourcen des PCI-Gerätes. Ein PCI-Gerät kann bis zu 6, bei Bridges nur maximal 2, Ressourcen anbieten dehnen das BIOS oder OS eine Adresse zuweist über welche diese Ressource dann ansprechbar ist. Als Ressourcen können Speicherbereiche aber auch IO-Bereiche angeboten werden, der IO-Adress-Raum wird aber nicht auf jeder Plattform unterstützt, eigentlich nur beim PC. Die IO-Ressourcen haben verschiedene Nachteile, u.a. sind sie langsamer da es keine Burst-Zugriffe gibt und es gibt Einschränkungen bei der Adressenraumgröße. Speicher-Ressourcen können bis zu 64 Bit Adressen nutzen, wofür dann aber 2 hintereinander liegende BARs für eine Ressource benutzt werden müssen, das folgende BAR enthält dann die oberen 32 Bit der Base-Adresse. |
Nur alleine durch lesen eines BAR-Register kann man nicht auf die Größe der betreffenden Ressource schließen. | Nur alleine durch lesen eines BAR-Register kann man nicht auf die Größe der betreffenden Ressource schließen. | ||
| Zeile 201: | Zeile 201: | ||
| Base Address || P || Typ || 0 | | Base Address || P || Typ || 0 | ||
|} | |} | ||
| − | Das Bit 0 signalisiert mit seinem Wert 0 das es sich bei dem betreffenden BAR um eine Speicher-Ressource handelt | + | Das Bit 0 signalisiert mit seinem Wert 0 das es sich bei dem betreffenden BAR um eine Speicher-Ressource handelt und die Werte 00 und 01 in den Bits 2-1 signalisieren das es sich um einen 32Bit-BAR handelt. Die Bits 31-4 geben die Basis-Adressbits 31-4 der Speicher-Ressource an. |
===== Base-Address-Register für Speicher-Ressourcen mit 64 Bit Adresse ===== | ===== Base-Address-Register für Speicher-Ressourcen mit 64 Bit Adresse ===== | ||
| Zeile 210: | Zeile 210: | ||
| Base Address || P || Typ || 0 | | Base Address || P || Typ || 0 | ||
|} | |} | ||
| − | Das Bit 0 signalisiert mit seinem Wert 0 das es sich bei dem betreffenden BAR um eine Speicher-Ressource handelt | + | Das Bit 0 signalisiert mit seinem Wert 0 das es sich bei dem betreffenden BAR um eine Speicher-Ressource handelt und der Wert 10 in den Bits 2-1 signalisiert das es sich um einen 64-Bit-BAR handelt. Die Bits 63-4 geben die Basis-Adressbits 63-4 der Speicher-Ressource an. |
===== Base-Address-Register für IO-Ressourcen ===== | ===== Base-Address-Register für IO-Ressourcen ===== | ||
| Zeile 227: | Zeile 227: | ||
{| {{Prettytable}} | {| {{Prettytable}} | ||
|- align="center" | |- align="center" | ||
| − | ! 31 | + | ! 31 !! 30-24 !! 23-16 !! 15-11 !! 10-8 !! 7-0 |
|- align="center" | |- align="center" | ||
| − | | Enable Bit || bgcolor="#bbb" | Reserviert || Busnummer || Gerätenummer || Funktionsnummer || Registernummer<br /> | + | | Enable Bit || bgcolor="#bbb" | Reserviert || Busnummer || Gerätenummer || Funktionsnummer || Registernummer<br /> Bit 0 u. Bit 1 sind 0 |
|} | |} | ||
| Zeile 270: | Zeile 270: | ||
== Classcodes == | == Classcodes == | ||
{| {{Prettytable}} | {| {{Prettytable}} | ||
| − | ! Class | + | ! Class !! Beschreibung |
|- | |- | ||
| − | | 0x00 | + | | 0x00 || [[#Class_0x00_-_Pre_2.0 | Alle Geräte die gebaut wurden bevor Classcodes eingeführt wurden]] |
|- | |- | ||
| − | | 0x01 | + | | 0x01 || [[#Class_0x01_-_Massenspeicher | Massenspeicher]] |
|- | |- | ||
| − | | 0x02 | + | | 0x02 || [[#Class_0x02_-_Netzwerk-Controller | Netzwerk-Controller]] |
|- | |- | ||
| − | | 0x03 | + | | 0x03 || [[#Class_0x03_-_Bildschirm-Controller | Bildschirm-Controller]] |
|- | |- | ||
| − | | 0x04 | + | | 0x04 || [[#Class_0x04_-_Multimedia-Geräte | Multimedia-Geräte]] |
|- | |- | ||
| − | | 0x05 | + | | 0x05 || [[#Class_0x05_-_Speicher-Controller | Speicher-Controller]] |
|- | |- | ||
| − | | 0x06 | + | | 0x06 || [[#Class_0x06_-_Bridge-Geräte | Bridge-Geräte]] |
|- | |- | ||
| − | | 0x07 | + | | 0x07 || [[#Class_0x07_-_Controller_zur_einfachen_Kommunikation | Controller zur einfachen Kommunikation]] |
|- | |- | ||
| − | | 0x08 | + | | 0x08 || [[#Class_0x08_-_System-Peripherie | System-Peripherie]] |
|- | |- | ||
| − | | 0x09 | + | | 0x09 || [[#Class_0x09_-_Input-Geräte | Input-Geräte]] |
|- | |- | ||
| − | | 0x0A | + | | 0x0A || [[#Class_0x0A_-_Docking-Stationen | Docking-Stationen]] |
|- | |- | ||
| − | | 0x0B | + | | 0x0B || [[#Class_0x0B_-_Prozessoren | Prozessoren]] |
|- | |- | ||
| − | | 0x0C | + | | 0x0C || [[#Class_0x0C_-_Serielle_Buscontroller | Serielle Buscontroller]] |
|- | |- | ||
| − | | 0x0D | + | | 0x0D || [[#Class_0x0D_-_Wireless-Controller | Wireless-Controller]] |
|- | |- | ||
| − | | 0x0E | + | | 0x0E || [[#Class_0x0E_-_Intelligente_Controller | Intelligente Controller]] |
|- | |- | ||
| − | | 0x0F | + | | 0x0F || [[#Class_0x0F_-_Satelliten-Kommunikations-Controller | Satelliten-Kommunikations-Controller]] |
|- | |- | ||
| − | | 0x10 | + | | 0x10 || [[#Class_0x10_-_Encryption/Decryption-Controller | Encryption/Decryption-Controller]] |
|- | |- | ||
| − | | 0x11 | + | | 0x11 || [[#Class_0x11_-_Datenerfassungs-_und_Signalprozessor-Controller | Datenerfassungs- und Signalprozessor-Controller]] |
|- bgcolor='#BBB' | |- bgcolor='#BBB' | ||
| 0x12-0xFE || ''Reserviert'' | | 0x12-0xFE || ''Reserviert'' | ||
|- | |- | ||
| − | | 0xFF | + | | 0xFF || Sonstige |
|} | |} | ||
| − | |||
=== Class 0x00 - Pre 2.0 === | === Class 0x00 - Pre 2.0 === | ||
{| {{Prettytable}} | {| {{Prettytable}} | ||
| − | ! Subclass | + | ! Subclass !! Programming Interface !! Beschreibung |
|- | |- | ||
| − | | 0x00 | + | | 0x00 || 0x00 || Alle nicht-[[Video Graphics Array | VGA]]-Geräte |
|- | |- | ||
| − | | 0x01 | + | | 0x01 || 0x00 || VGA-Geräte |
|} | |} | ||
| − | |||
=== Class 0x01 - Massenspeicher === | === Class 0x01 - Massenspeicher === | ||
{| {{Prettytable}} | {| {{Prettytable}} | ||
| − | ! Subclass | + | ! Subclass !! Programming Interface !! Beschreibung |
|- | |- | ||
| − | | 0x00 | + | | 0x00 || 0x00 || SCSI |
|- | |- | ||
| − | | 0x01 | + | | 0x01 || 0x?? || IDE |
|- | |- | ||
| − | | 0x02 | + | | 0x02 || 0x00 || [[Floppy Disk Controller | Floppy]] |
|- | |- | ||
| − | | 0x03 | + | | 0x03 || 0x00 || IPI |
|- | |- | ||
| − | | 0x04 | + | | 0x04 || 0x00 || RAID |
|- | |- | ||
| − | | 0x05 | + | | 0x05 || 0x20 || [[AT Attachment | ATA]]-Controller (Single [[Direct Memory Access | DMA]]) |
|- | |- | ||
| − | | 0x05 | + | | 0x05 || 0x30 || ATA-Controller (Chained DMA) |
|- | |- | ||
| − | | 0x80 | + | | 0x80 || 0x00 || Anderer Massenspeicher |
|} | |} | ||
| − | |||
=== Class 0x02 - [[:Kategorie:Netzwerk | Netzwerk]]-Controller === | === Class 0x02 - [[:Kategorie:Netzwerk | Netzwerk]]-Controller === | ||
{| {{Prettytable}} | {| {{Prettytable}} | ||
| − | ! Subclass | + | ! Subclass !! Programming Interface !! Beschreibung |
|- | |- | ||
| − | | 0x00 | + | | 0x00 || 0x00 || [[Ethernet]] |
|- | |- | ||
| − | | 0x01 | + | | 0x01 || 0x00 || Token Ring |
|- | |- | ||
| − | | 0x02 | + | | 0x02 || 0x00 || FDDI |
|- | |- | ||
| − | | 0x03 | + | | 0x03 || 0x00 || ATM |
|- | |- | ||
| − | | 0x04 | + | | 0x04 || 0x00 || ISDN |
|- | |- | ||
| − | | 0x05 | + | | 0x05 || 0x00 || World FIP (Feldbus) |
|- | |- | ||
| − | | 0x06 | + | | 0x06 || 0x?? || PICMG 2.14, Multi-Computing |
|- | |- | ||
| − | | 0x80 | + | | 0x80 || 0x00 || Anderer Netzwerk-Controller |
|} | |} | ||
| − | |||
=== Class 0x03 - Bildschirm-Controller === | === Class 0x03 - Bildschirm-Controller === | ||
{| {{Prettytable}} | {| {{Prettytable}} | ||
| − | ! Subclass | + | ! Subclass !! Programming Interface !! Beschreibung |
|- | |- | ||
| − | | 0x00 | + | | 0x00 || 0x00 || VGA |
|- | |- | ||
| − | | 0x00 | + | | 0x00 || 0x01 || 8514 |
|- | |- | ||
| − | | 0x01 | + | | 0x01 || 0x00 || XGA |
|- | |- | ||
| − | | 0x02 | + | | 0x02 || 0x00 || 3D |
|- | |- | ||
| − | | 0x80 | + | | 0x80 || 0x00 || Anderer Bildschirm-Controller |
|} | |} | ||
| − | |||
=== Class 0x04 - Multimedia-Geräte === | === Class 0x04 - Multimedia-Geräte === | ||
{| {{Prettytable}} | {| {{Prettytable}} | ||
| − | ! Subclass | + | ! Subclass !! Programming Interface !! Beschreibung |
|- | |- | ||
| − | | 0x00 | + | | 0x00 || 0x00 || Video-Gerät |
|- | |- | ||
| − | | 0x01 | + | | 0x01 || 0x00 || Audio-Gerät |
|- | |- | ||
| − | | 0x02 | + | | 0x02 || 0x00 || Telefonie |
|- | |- | ||
| − | | 0x80 | + | | 0x80 || 0x00 || Anderes Multimedia-Gerät |
|} | |} | ||
| − | |||
=== Class 0x05 - Speicher-Controller === | === Class 0x05 - Speicher-Controller === | ||
{| {{Prettytable}} | {| {{Prettytable}} | ||
| − | ! Subclass | + | ! Subclass !! Programming Interface !! Beschreibung |
|- | |- | ||
| − | | 0x00 | + | | 0x00 || 0x00 || RAM |
|- | |- | ||
| − | | 0x01 | + | | 0x01 || 0x00 || Flash-Speicher |
|- | |- | ||
| − | | 0x80 | + | | 0x80 || 0x00 || Anderer Speicher |
|} | |} | ||
| − | |||
=== Class 0x06 - Bridge-Geräte === | === Class 0x06 - Bridge-Geräte === | ||
{| {{Prettytable}} | {| {{Prettytable}} | ||
| − | ! Subclass | + | ! Subclass !! Programming Interface !! Beschreibung |
|- | |- | ||
| − | | 0x00 | + | | 0x00 || 0x00 || Host/PCI-Bridge |
|- | |- | ||
| − | | 0x01 | + | | 0x01 || 0x00 || PCI/ISA-Bridge |
|- | |- | ||
| − | | 0x02 | + | | 0x02 || 0x00 || PCI/EISA-Bridge |
|- | |- | ||
| − | | 0x03 | + | | 0x03 || 0x00 || PCI/MicroChannel-Bridge |
|- | |- | ||
| − | | 0x04 | + | | 0x04 || 0x00 || PCI/PCI-Bridge (hat Header Type 0x01) |
|- | |- | ||
| − | | 0x04 | + | | 0x04 || 0x01 || PCI/PCI-Bridge (Subtractive Decode, hat Header Type 0x01) |
|- | |- | ||
| − | | 0x05 | + | | 0x05 || 0x00 || PCI/PCMCIA-Bridge |
|- | |- | ||
| − | | 0x06 | + | | 0x06 || 0x00 || PCI/NuBus-Bridge |
|- | |- | ||
| − | | 0x07 | + | | 0x07 || 0x00 || PCI/CardBus-Bridge |
|- | |- | ||
| − | | 0x08 | + | | 0x08 || 0x?? || Raceway, Switched Fabric |
|- | |- | ||
| − | | 0x09 | + | | 0x09 || 0x40 || Semitransparente PCI/PCI-Bridge (primär zum Host) |
| − | (primär zum Host) | ||
|- | |- | ||
| − | | 0x09 | + | | 0x09 || 0x80 || Semitransparente PCI/PCI-Bridge (sekundär zum Host) |
|- | |- | ||
| − | | 0x0A | + | | 0x0A || 0x00 || InfiniBand/PCI-Brige |
|- | |- | ||
| − | | 0x80 | + | | 0x80 || 0x?? || Anderer Bridge-Typ |
|} | |} | ||
| − | |||
=== Class 0x07 - Controller zur einfachen Kommunikation === | === Class 0x07 - Controller zur einfachen Kommunikation === | ||
{| {{Prettytable}} | {| {{Prettytable}} | ||
| − | ! Subclass | + | ! Subclass !! Programming Interface !! Beschreibung |
|- | |- | ||
| − | | 0x00 | + | | 0x00 || 0x00 || Serielle Schnittstelle (XT-kompatibel) |
| − | (XT-kompatibel) | ||
|- | |- | ||
| − | | 0x00 | + | | 0x00 || 0x01 || Serielle Schnittstelle (16450) |
|- | |- | ||
| − | | 0x00 | + | | 0x00 || 0x02 || Serielle Schnittstelle (16550) |
|- | |- | ||
| − | | 0x00 | + | | 0x00 || 0x03 || Serielle Schnittstelle (16650) |
|- | |- | ||
| − | | 0x00 | + | | 0x00 || 0x04 || Serielle Schnittstelle (16750) |
|- | |- | ||
| − | | 0x00 | + | | 0x00 || 0x05 || Serielle Schnittstelle (16850) |
|- | |- | ||
| − | | 0x00 | + | | 0x00 || 0x06 || Serielle Schnittstelle (16950) |
|- | |- | ||
| − | | 0x01 | + | | 0x01 || 0x00 || Parallelport (Standard) |
| − | (Standard) | ||
|- | |- | ||
| − | | 0x01 | + | | 0x01 || 0x01 || Parallelport (Bidirektional) |
|- | |- | ||
| − | | 0x01 | + | | 0x01 || 0x02 || Parallelport (ECP 1.0) |
|- | |- | ||
| − | | 0x01 | + | | 0x01 || 0x03 || Parallelport (IEEE 1284) |
|- | |- | ||
| − | | 0x01 | + | | 0x01 || 0xFE || IEEE-1284-Gerät, Target |
|- | |- | ||
| − | | 0x02 | + | | 0x02 || 0x00 || Multiport Serial Controller |
|- | |- | ||
| − | | 0x03 | + | | 0x03 || 0x00 || Standard-Modem |
|- | |- | ||
| − | | 0x03 | + | | 0x03 || 0x01 || Hayes-kompatibles Modem (16450) |
|- | |- | ||
| − | | 0x04 | + | | 0x04 || 0x00 || GPIB (IEEE488.1/2) Controller |
|- | |- | ||
| − | | 0x04 | + | | 0x04 || 0x02 || Hayes-kompatibles Modem (16550) |
|- | |- | ||
| − | | 0x04 | + | | 0x04 || 0x03 || Hayes-kompatibles Modem (16650) |
|- | |- | ||
| − | | 0x04 | + | | 0x04 || 0x04 || Hayes-kompatibles Modem (16750) |
|- | |- | ||
| − | | 0x05 | + | | 0x05 || 0x00 || SmartCard |
|- | |- | ||
| − | | 0x80 | + | | 0x80 || 0x00 || AnderemController |
| − | |||
|} | |} | ||
| − | |||
=== Class 0x08 - System-Peripherie === | === Class 0x08 - System-Peripherie === | ||
{| {{Prettytable}} | {| {{Prettytable}} | ||
| − | ! Subclass | + | ! Subclass !! Programming Interface !! Beschreibung |
|- | |- | ||
| − | | 0x00 | + | | 0x00 || 0x00 || 8259-[[Programmable Interrupt Controller | PIC]] |
|- | |- | ||
| − | | 0x00 | + | | 0x00 || 0x01 || ISA-PIC |
|- | |- | ||
| − | | 0x00 | + | | 0x00 || 0x02 || EISA-PIC |
|- | |- | ||
| − | | 0x00 | + | | 0x00 || 0x10 || IO-[[Advanced Programmable Interrupt Controller | APIC]] (EISA) |
|- | |- | ||
| − | | 0x00 | + | | 0x00 || 0x20 || IOx-APIC |
|- | |- | ||
| − | | 0x01 | + | | 0x01 || 0x00 || 8237-DMA-Controller |
|- | |- | ||
| − | | 0x01 | + | | 0x01 || 0x01 || ISA-DMA-Controller |
|- | |- | ||
| − | | 0x01 | + | | 0x01 || 0x02 || EISA-DMA-Controller |
|- | |- | ||
| − | | 0x02 | + | | 0x02 || 0x00 || Standard-8254-Timer |
|- | |- | ||
| − | | 0x02 | + | | 0x02 || 0x01 || ISA-System-Timer |
|- | |- | ||
| − | | 0x02 | + | | 0x02 || 0x02 || EISA-System-Timer |
|- | |- | ||
| − | | 0x03 | + | | 0x03 || 0x00 || Standard [[Real Time Clock]] |
|- | |- | ||
| − | | 0x03 | + | | 0x03 || 0x01 || ISA Real Time Clock |
|- | |- | ||
| − | | 0x04 | + | | 0x04 || 0x00 || PCI Hot Plug Controller |
|- | |- | ||
| − | | 0x80 | + | | 0x80 || 0x00 || Andere System-Peripherie |
|} | |} | ||
| − | |||
=== Class 0x09 - Input-Geräte === | === Class 0x09 - Input-Geräte === | ||
{| {{Prettytable}} | {| {{Prettytable}} | ||
| − | ! Subclass | + | ! Subclass !! Programming Interface !! Beschreibung |
|- | |- | ||
| − | | 0x00 | + | | 0x00 || 0x00 || Tastatur |
|- | |- | ||
| − | | 0x01 | + | | 0x01 || 0x00 || Digitizer (Stift) |
|- | |- | ||
| − | | 0x02 | + | | 0x02 || 0x00 || Maus |
|- | |- | ||
| − | | 0x03 | + | | 0x03 || 0x00 || Scanner |
|- | |- | ||
| − | | 0x04 | + | | 0x04 || 0x00 || Standard-[[Gameport]] |
|- | |- | ||
| − | | 0x04 | + | | 0x04 || 0x10 || Gameport |
|- | |- | ||
| − | | 0x80 | + | | 0x80 || 0x00 || Anderes Input-Gerät |
|} | |} | ||
| − | |||
=== Class 0x0A - Docking-Stationen === | === Class 0x0A - Docking-Stationen === | ||
{| {{Prettytable}} | {| {{Prettytable}} | ||
| − | ! Subclass | + | ! Subclass !! Programming Interface !! Beschreibung |
|- | |- | ||
| − | | 0x00 | + | | 0x00 || 0x00 || Normale Docking-Station |
|- | |- | ||
| − | | 0x80 | + | | 0x80 || 0x00 || Andere Docking-Station |
|} | |} | ||
| − | |||
=== Class 0x0B - Prozessoren === | === Class 0x0B - Prozessoren === | ||
{| {{Prettytable}} | {| {{Prettytable}} | ||
| − | ! Subclass | + | ! Subclass !! Programming-Interface !! Beschreibung |
|- | |- | ||
| − | | 0x00 | + | | 0x00 || 0x00 || 386 |
|- | |- | ||
| − | | 0x01 | + | | 0x01 || 0x00 || 486 |
|- | |- | ||
| − | | 0x02 | + | | 0x02 || 0x00 || Pentium |
|- | |- | ||
| − | | 0x10 | + | | 0x10 || 0x00 || Alpha |
|- | |- | ||
| − | | 0x20 | + | | 0x20 || 0x00 || PowerPC |
|- | |- | ||
| − | | 0x30 | + | | 0x30 || 0x00 || MIPS |
|- | |- | ||
| − | | 0x40 | + | | 0x40 || 0x00 || Coprozessor |
|- | |- | ||
|} | |} | ||
| − | |||
=== Class 0x0C - Serielle Buscontroller === | === Class 0x0C - Serielle Buscontroller === | ||
{| {{Prettytable}} | {| {{Prettytable}} | ||
| − | ! Subclass | + | ! Subclass !! Programming Interface !! Beschreibung |
|- | |- | ||
| − | | 0x00 | + | | 0x00 || 0x00 || Firewire (IEEE 1394) |
|- | |- | ||
| − | | 0x00 | + | | 0x00 || 0x10 || Firewire (OHCI) |
|- | |- | ||
| − | | 0x01 | + | | 0x01 || 0x00 || ACCESS-Bus |
|- | |- | ||
| − | | 0x02 | + | | 0x02 || 0x00 || SSA (Serial Storage Architecture) |
|- | |- | ||
| − | | 0x03 | + | | 0x03 || 0x00 || [[Universal Serial Bus | USB]]-Host (UHCI) |
|- | |- | ||
| − | | 0x03 | + | | 0x03 || 0x10 || USB-Host (OHCI) |
|- | |- | ||
| − | | 0x03 | + | | 0x03 || 0x20 || USB-Host (EHCI) |
|- | |- | ||
| − | | 0x03 | + | | 0x03 || 0x80 || USB-Host (kein HCI) |
|- | |- | ||
| − | | 0x03 | + | | 0x03 || 0xFE || USB-Device |
|- | |- | ||
| − | | 0x04 | + | | 0x04 || 0x00 || Fibre Channel |
|- | |- | ||
| − | | 0x05 | + | | 0x05 || 0x00 || SMB (System Management Bus) |
|- | |- | ||
| − | | 0x06 | + | | 0x06 || 0x00 || InfiniBand |
|- | |- | ||
| − | | 0x07 | + | | 0x07 || 0x00 || IPMI SMIC Interface |
|- | |- | ||
| − | | 0x07 | + | | 0x07 || 0x01 || IPMI Keyboard Style Interface |
|- | |- | ||
| − | | 0x07 | + | | 0x07 || 0x02 || IPMI Block Transfer Device |
|- | |- | ||
| − | | 0x08 | + | | 0x08 || 0x00 || SERCOS Interface |
|- | |- | ||
| − | | 0x09 | + | | 0x09 || 0x00 || CAN-Bus |
|} | |} | ||
| − | |||
=== Class 0x0D - Wireless-Controller === | === Class 0x0D - Wireless-Controller === | ||
{| {{Prettytable}} | {| {{Prettytable}} | ||
| − | ! Subclass | + | ! Subclass !! Programming Interface !! Beschreibung |
|- | |- | ||
| − | | 0x00 | + | | 0x00 || 0x00 || iRDA |
|- | |- | ||
| − | | 0x01 | + | | 0x01 || 0x00 || Consumer Infrared |
|- | |- | ||
| − | | 0x10 | + | | 0x10 || 0x00 || Radio Frequency |
|- | |- | ||
| − | | 0x11 | + | | 0x11 || 0x00 || Bluetooth |
|- | |- | ||
| − | | 0x12 | + | | 0x12 || 0x00 || Broadband |
|- | |- | ||
| − | | 0x80 | + | | 0x80 || 0x00 || Anderer Wireless-Controller |
|} | |} | ||
| − | |||
=== Class 0x0E - Intelligente Controller === | === Class 0x0E - Intelligente Controller === | ||
{| {{Prettytable}} | {| {{Prettytable}} | ||
| − | ! Subclass | + | ! Subclass !! Programming Interface !! Beschreibung |
|- | |- | ||
| − | | 0x00 | + | | 0x00 || 0x?? || I²O-Architektur |
|- | |- | ||
| − | | 0x00 | + | | 0x00 || 0x00 || Message FIFO |
|} | |} | ||
| − | |||
=== Class 0x0F - Satelliten-Kommunikations-Controller === | === Class 0x0F - Satelliten-Kommunikations-Controller === | ||
{| {{Prettytable}} | {| {{Prettytable}} | ||
| − | ! Subclass | + | ! Subclass !! Programming Interface !! Beschreibung |
|- | |- | ||
| − | | 0x01 | + | | 0x01 || 0x00 || TV |
|- | |- | ||
| − | | 0x02 | + | | 0x02 || 0x00 || Audio |
|- | |- | ||
| − | | 0x03 | + | | 0x03 || 0x00 || Sprache |
|- | |- | ||
| − | | 0x04 | + | | 0x04 || 0x00 || Daten |
|} | |} | ||
| − | |||
=== Class 0x10 - Encryption/Decryption-Controller === | === Class 0x10 - Encryption/Decryption-Controller === | ||
{| {{Prettytable}} | {| {{Prettytable}} | ||
| − | ! Subclass | + | ! Subclass !! Programming Interface !! Beschreibung |
|- | |- | ||
| − | | 0x01 | + | | 0x01 || 0x00 || Netzwerk |
|- | |- | ||
| − | | 0x10 | + | | 0x10 || 0x00 || Entertainment |
|- | |- | ||
| − | | 0x80 | + | | 0x80 || 0x00 || Anderer Controller |
|} | |} | ||
| − | |||
=== Class 0x11 - Datenerfassungs- und Signalprozessor-Controller === | === Class 0x11 - Datenerfassungs- und Signalprozessor-Controller === | ||
{| {{Prettytable}} | {| {{Prettytable}} | ||
| − | ! Subclass | + | ! Subclass !! Programming Interface !! Beschreibung |
|- | |- | ||
| − | | 0x00 | + | | 0x00 || 0x00 || Digital Input/Output Module |
|- | |- | ||
| − | | 0x01 | + | | 0x01 || 0x00 || Zähler |
|- | |- | ||
| − | | 0x10 | + | | 0x10 || 0x00 || Synchronisation und Frequenzmessung |
|- | |- | ||
| − | | 0x20 | + | | 0x20 || 0x00 || Management Card |
|- | |- | ||
| − | | 0x80 | + | | 0x80 || 0x00 || Anderer Controller |
|} | |} | ||
| − | |||
== Weblinks == | == Weblinks == | ||