| Zeile 102: | Zeile 102: | ||
| 0x3C || colspan="2" | Bridge control || Interrupt pin || Interrupt line | | 0x3C || colspan="2" | Bridge control || Interrupt pin || Interrupt line | ||
|} | |} | ||
| + | |||
| + | === Bedeutung einiger Register === | ||
| + | |||
| + | ==== Command-Register ==== | ||
| + | |||
| + | {| {{Prettytable}} | ||
| + | ! Bit !! Name !! Bedeutung | ||
| + | |- | ||
| + | | 0 || IO Space || Nur wenn dieses Bit gesetzt ist, kann der I/O-Raum des Geräts verwendet werden, sonst ist er deaktiviert. | ||
| + | |- | ||
| + | | 1 || Memory Space || Nur wenn dieses Bit gesetzt ist, können MMIO-Register verwendet werden, sonst sind diese deaktiviert. | ||
| + | |- | ||
| + | | 2 || Bus Master || Ist dieses Bit gesetzt, so darf das Gerät als Busmaster auf dem PCI-Bus arbeiten. Das heißt, es kann ohne Aufforderung vom Host Daten senden und so z. B. in den Speicher schreiben (wichtig u. a. für Netzwerkkarten). | ||
| + | |- | ||
| + | | 3 || Special Cycles || Wenn dieses Bit gelöscht ist, dann muss das Gerät alle Special Cycles auf dem PCI-Bus ignorieren. | ||
| + | |- | ||
| + | | 4 || Memory Write and Invalidate Enable || Falls gesetzt, kann das Gerät diesen Befehl (Memory Write and Invalidate) ausführen, sonst muss es sich mit einem einfachen Memory Write begnügen. | ||
| + | |- | ||
| + | | 5 || VGA Palette Snoop || Dieses Bit ist nur für VGA-kompatible Geräte interessant (ist es gesetzt, so werden Zugriffe auf die VGA-Palettenregister gesondert behandelt). | ||
| + | |- | ||
| + | | 6 || Parity Error Response || Ist dieses Bit gelöscht, so wird bei Parityfehlern auf dem PCI-Bus das Detected-Parity-Error-Statusbit im Statusregister gesetzt. | ||
| + | |- | ||
| + | | 8 || SERR# Enable || ''TODO'' | ||
| + | |- | ||
| + | | 9 || Fast Back-to-Back Enable || ''TODO'' | ||
| + | |- | ||
| + | | 10 || Interrupt Disable || Ist dieses Flag gesetzt, dann kann das entsprechende Gerät keine IRQs auslösen. | ||
| + | |} | ||
| + | |||
| + | Bit 7 ist auf 0 zu setzen, Bits 11 bis 15 sind reserviert (und undefiniert). Nach dem Reset des Geräts sind alle hier aufgeführten Bits auf 0 gesetzt (wobei das BIOS wohl einige davon setzen wird). | ||
=== Codebeispiel === | === Codebeispiel === | ||