User Tools

Site Tools


pci_configuration_space

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
pci_configuration_space [2026/02/28 16:42] – [Capabilities] msvoelkerpci_configuration_space [2026/02/28 16:47] (current) – [VirtIO: DeviceCfg] msvoelker
Line 192: Line 192:
 ==== VirtIO: CommonCfg ==== ==== VirtIO: CommonCfg ====
  
-Die erste Capability vom Typ VirtIO: CommonCfg enthält VirtIO-Gerätunabhängige Einstellungen. Sie startet bei Byte 0 und ist 0x38 Byte groß. Es handelt sich um den Bereich vor den ganzen 0xffff, also+Die erste Capability vom Typ VirtIO: CommonCfg enthält VirtIO-Gerätunabhängige Einstellungen. Sie startet in der BAR Region bei Byte 0 und ist 0x38 Byte groß. Es handelt sich um den Bereich vor den ganzen 0xffff, also
  
 <code> <code>
Line 233: Line 233:
 </code> </code>
  
-Das VirtualBox PCI-Gerät gibt darüber also z. B. an, welche Features es unterstützt. Für die Features gibt es insgesamt 64 Bit. In device_feature_select wird geschrieben, ob device_feature die unteren 32 Bit (0) oder die oberen 32 Bit (1) anzeigt. In der Ausgabe oben ist in Little Endian gelesen device_feature_select=1, somit gibt das device_feature mit 1 die oberen oberen 32 Bit an. Auf die gleiche Weise schreibt der FreeBSD Treiber die Features, die es davon unterstützt und genutzt werden sollen in driver_feature_select und driver_feature. Auch hier ist in der Ausgabe oben in Little Endian gelesen driver_feature_select=1, somit gibt das driver_feature mit 1 die oberen oberen 32 Bit an.+Das VirtualBox PCI-Gerät gibt darüber also z. B. an, welche Features es unterstützt. Für die Features gibt es insgesamt 64 Bit. In device_feature_select wird geschrieben, ob device_feature die unteren 32 Bit (0) oder die oberen 32 Bit (1) anzeigt. In der Ausgabe oben ist in Little Endian gelesen device_feature_select=1, somit gibt das device_feature mit 1 die oberen oberen 32 Bit an. Auf die gleiche Weise schreibt der FreeBSD Treiber die Features, die es davon unterstützt und nutzen möchte in driver_feature_select und driver_feature. Auch hier ist in der Ausgabe oben in Little Endian gelesen driver_feature_select=1, somit gibt das driver_feature mit 1 die oberen oberen 32 Bit an.
  
 Mit device_feature_select=0 und driver_feature_select=0 sieht die erste Zeile der Ausgabe so aus. Mit device_feature_select=0 und driver_feature_select=0 sieht die erste Zeile der Ausgabe so aus.
Line 274: Line 274:
 </code> </code>
  
-Es sind jedoch nicht immer alle Werte angegeben. Hier ist lediglich die MAC Adresse 08:00:27:54:00:00, der Status=0 und max_virtqueue_pairs=1 angegeben. Weitere Werte, wie z. B. die MTU, werden nur angegeben, wenn entsprechende Features ausgehandelt wurden (z. B. VIRTIO_NET_F_MTU).+Es sind jedoch nicht immer alle Werte angegeben. Welche Werte angegeben sind, hängt von den ausgehandelten Features ab. Hier sind lediglich die MAC-Adresse=08:00:27:54:00:00, der Status=0 und max_virtqueue_pairs=1 angegeben. Die MTU fehlt z. B., weil das Feature VIRTIO_NET_F_MTU nicht ausgehandelt wurde.
pci_configuration_space.1772296951.txt.gz · Last modified: by msvoelker