Ich brauche BAR-Werte aus dem Ausgang der lspci -xxxx
zu extrahieren. Hier ist meine Ausgabe:BAR Werte von lspci -xxxx
00:0d.0 SATA controller: Intel Corporation 82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [AHCI mode] (rev 02)
00: 86 80 29 28 07 00 10 00 02 01 06 01 00 40 00 00
10: 41 d2 00 00 49 d2 00 00 51 d2 00 00 59 d2 00 00
20: 61 d2 00 00 00 60 80 f0 00 00 00 00 00 00 00 00
30: 00 00 00 00 70 00 00 00 00 00 00 00 0b 01 00 00
40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
70: 01 a8 03 00 00 00 00 00 00 00 00 00 00 00 00 00
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
90: 40 00 3f 01 80 01 00 78 00 00 00 00 00 00 00 00
a0: 00 00 00 00 00 00 00 00 12 00 10 00 28 00 00 00
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Wenn ich die PCI spec richtig meine BAR-Werte zu verstehen sind an den Adressen befindet 0x10
, 0x14
, 0x18
, 0x1C
, 0x20
und 0x24
.
Jedoch, wenn ich am Ausgang schauen von lspci -vvvv
00:0d.0 SATA controller: Intel Corporation 82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [AHCI mode] (rev 02) (prog-if 01 [AHCI 1.0])
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 64
Interrupt: pin A routed to IRQ 21
Region 0: I/O ports at d240 [size=8]
Region 1: I/O ports at 0000
Region 2: I/O ports at d250 [size=8]
Region 3: I/O ports at 0000
Region 4: I/O ports at d260 [size=16]
Region 5: Memory at f0806000 (32-bit, non-prefetchable) [size=8K]
Capabilities: [70] Power Management version 3
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [a8] SATA HBA v1.0 BAR4 Offset=00000002
Kernel driver in use: ahci
Region 5 ist derjenige, der den Wert in der Ausgabe von lspci -xxxx
gezeigt übereinstimmt. So entspricht beispielsweise der Wert bei Adresse 0x24
Region 5: Memory at f0806000
. Warum stimmen Region 0 bis Region 4 nicht überein? Was ist die Bedeutung von I/O ports at d240 [size=8]