PCI: Difference between revisions

118 bytes added ,  5 years ago
→‎Configuration Space Access Mechanism #1: Source: Examples (NOT description) from http://faculty.chemeketa.edu/csekafet/ELT256/Adv_Chipset_AGp_DVO_PCI_CFG.pdf and even code from this wiki page. It has nothing to do with register number!
[unchecked revision][unchecked revision]
(→‎Configuration Space Access Mechanism #1: Source: Examples (NOT description) from http://faculty.chemeketa.edu/csekafet/ELT256/Adv_Chipset_AGp_DVO_PCI_CFG.pdf and even code from this wiki page. It has nothing to do with register number!)
Line 27:
! 15 - 11
! 10 - 8
! 7 - 20
! 1 - 0
|-
| Enable Bit
Line 35 ⟶ 34:
| Device Number
| Function Number
| Register NumberOffset¹
| 00
|}
¹ Register Offset has to point to consecutive DWORDs, ie. bits 1:0 are always 0b00 (they are still part of the Register Offset).
 
The following code segment illustrates the use of configuration mechanism #1 to read 16-bit fields from configuration space. Note that this segment, the functions sysOutLong and sysInLong are assembly language functions that make use of the OUTL and INL Pentium assembly language instructions.
<source lang="c">
Line 71:
}
</source>
 
 
===Configuration Space Access Mechanism #2===
Anonymous user