Peripheral Component Interconnect — Änderungen 11181 → 11410

Zeile 227: Zeile 227:
 
===== Beispiel-Code zur BAR-Analyse =====
 
===== Beispiel-Code zur BAR-Analyse =====
 
Der folgende C-Code analysiert alle BARs im Konfigurations-Adressraum eines PCI-Gerätes und gibt alle verfügbaren Informationen aus. Dieser Code sollte möglichst nicht auf aktivierte PCI-Geräte angewendet werden, falls doch wäre es geschickt den Vorgang atomar zu gestalten und alle BARs vorher zu sichern und hinter zu restaurieren. Außerdem sollten die Bits 0 und 1 des Command-Registers gelöscht sein.
 
Der folgende C-Code analysiert alle BARs im Konfigurations-Adressraum eines PCI-Gerätes und gibt alle verfügbaren Informationen aus. Dieser Code sollte möglichst nicht auf aktivierte PCI-Geräte angewendet werden, falls doch wäre es geschickt den Vorgang atomar zu gestalten und alle BARs vorher zu sichern und hinter zu restaurieren. Außerdem sollten die Bits 0 und 1 des Command-Registers gelöscht sein.
−
<c>/*** Diesen Code darf jeder, unter Berücksichtigung der Lizenz für diesen Wiki-Artikel, zu jedem Zweck kopieren, nutzen und verändern!
+
<source lang="c" line start="1">
 +
/*** Diesen Code darf jeder, unter Berücksichtigung der Lizenz für diesen Wiki-Artikel, zu jedem Zweck kopieren, nutzen und verändern!
 
     (C) <http://www.lowlevel.eu/> ***/
 
     (C) <http://www.lowlevel.eu/> ***/
  
Zeile 403: Zeile 404:
 
   if (bar != max_bars)
 
   if (bar != max_bars)
 
   { printf("interner Fehler in Schleife!\n"); return; }
 
   { printf("interner Fehler in Schleife!\n"); return; }
−
}</c>
+
}</source>
  
 
=== Zugriff auf den Konfigurations-Adressraum ===
 
=== Zugriff auf den Konfigurations-Adressraum ===
Zeile 417: Zeile 418:
  
 
==== Codebeispiel ====
 
==== Codebeispiel ====
−
<c>
+
<source lang="javascript" line start="1">
 +
 
 
#define PCI_CONFIG_DATA    0x0CFC
 
#define PCI_CONFIG_DATA    0x0CFC
 
#define PCI_CONFIG_ADDRESS 0x0CF8
 
#define PCI_CONFIG_ADDRESS 0x0CF8
Zeile 450: Zeile 452:
 
   outl(PCI_CONFIG_DATA,val);
 
   outl(PCI_CONFIG_DATA,val);
 
}
 
}
−
</c>
+
</source>
  
 
== Classcodes ==
 
== Classcodes ==