PCI_22
.pdf
Revision 2.2
6.4. Vital Product Data
9LWDO 3URGXFW 'DWD 93' LV WKH LQIRUPDWLRQ WKDW XQLTXHO\ GHILQHV LWHPV VXFK DV WKH KDUGZDUH VRIWZDUH DQG PLFURFRGH HOHPHQWV RI D V\VWHP 7KH 93' SURYLGHV WKH V\VWHP ZLWK LQIRUPDWLRQ RQ YDULRXV )58V )LHOG 5HSODFHDEOH 8QLW LQFOXGLQJ 3DUW 1XPEHU 6HULDO 1XPEHU DQG RWKHU GHWDLOHG LQIRUPDWLRQ 93' DOVR SURYLGHV D PHFKDQLVP IRU VWRULQJ LQIRUPDWLRQ VXFK DV SHUIRUPDQFH DQG IDLOXUH GDWD RQ WKH GHYLFH EHLQJ PRQLWRUHG 7KH REMHFWLYH IURP D V\VWHP SRLQW RI YLHZ LV WR FROOHFW WKLV LQIRUPDWLRQ E\ UHDGLQJ LW IURP WKH KDUGZDUH VRIWZDUH DQG PLFURFRGH FRPSRQHQWV
6XSSRUW RI 93' ZLWKLQ 3&, DGDSWHUV LV RSWLRQDO GHSHQGLQJ RQ WKH PDQXIDFWXUHU 7KH GHILQLWLRQ RI 3&, 93' SUHVHQWV QR LPSDFW WR H[LVWLQJ 3&, GHYLFHV DQG PLQLPDO LPSDFW WR IXWXUH 3&, GHYLFHV ZKLFK RSWLRQDOO\ LQFOXGH 93' 7KRXJK VXSSRUW RI 93' LV RSWLRQDO DGDSWHU PDQXIDFWXUHUV DUH HQFRXUDJHG WR SURYLGH 93' GXH WR LWV LQKHUHQW EHQHILWV IRU WKH DGDSWHU V\VWHP PDQXIDFWXUHUV DQG IRU 3OXJ DQG 3OD\
7KH PHFKDQLVP IRU DFFHVVLQJ 93' DQG WKH GHVFULSWLRQ RI 93' GDWD VWUXFWXUHV LV GRFXPHQWHG LQ $SSHQGL[ ,
6.5. Device Drivers
7KHUH DUH WZR FKDUDFWHULVWLFV RI 3&, GHYLFHV WKDW PD\ PDNH 3&, GHYLFH GULYHUV GLIIHUHQW IURP VWDQGDUG RU H[LVWLQJ GHYLFH GULYHUV 7KH ILUVW FKDUDFWHULVWLF LV WKDW 3&, GHYLFHV DUH UHORFDWDEOH L H QRW KDUGZLUHG LQ WKH DGGUHVV VSDFHV 3&, GHYLFH GULYHUV DQG RWKHU FRQILJXUDWLRQ VRIWZDUH VKRXOG XVH WKH PDSSLQJ LQIRUPDWLRQ VWRUHG LQ WKH GHYLFH V &RQILJXUDWLRQ 6SDFH UHJLVWHUV WR GHWHUPLQH ZKHUH WKH GHYLFH ZDV PDSSHG 7KLV DOVR DSSOLHV WR GHWHUPLQLQJ LQWHUUXSW OLQH XVDJH
7KH VHFRQG FKDUDFWHULVWLF LV WKDW 3&, LQWHUUXSWV DUH VKDUHDEOH 3&, GHYLFH GULYHUV DUH UHTXLUHG WR VXSSRUW VKDUHG LQWHUUXSWV VLQFH LW LV YHU\ OLNHO\ WKDW V\VWHP LPSOHPHQWDWLRQV ZLOO FRQQHFW PRUH WKDQ RQH GHYLFH WR D VLQJOH LQWHUUXSW OLQH 7KH H[DFW PHWKRG IRU LQWHUUXSW VKDULQJ LV RSHUDWLQJ V\VWHP VSHFLILF DQG LV QRW HODERUDWHG KHUH
6RPH V\VWHPV PD\ QRW JXDUDQWHH WKDW GDWD LV GHOLYHUHG WR PDLQ PHPRU\ EHIRUH LQWHUUXSWV DUH GHOLYHUHG WR WKH &38 ,I QRW KDQGOHG SURSHUO\ WKLV FDQ OHDG WR GDWD FRQVLVWHQF\ SUREOHPV ORVV RI GDWD 7KLV VLWXDWLRQ LV PRVW RIWHQ DVVRFLDWHG ZLWK WKH LPSOHPHQWDWLRQ RI SRVWLQJ EXIIHUV LQ EULGJHV EHWZHHQ WKH 3&, EXV DQG RWKHU EXVHV
7KHUH DUH WKUHH ZD\V WKDW GDWD DQG LQWHUUXSW FRQVLVWHQF\ FDQ EH JXDUDQWHHG
7KH V\VWHP KDUGZDUH FDQ JXDUDQWHH WKDW SRVWLQJ EXIIHUV DUH IOXVKHG EHIRUH LQWHUUXSWV DUH GHOLYHUHG WR WKH SURFHVVRU
7KH GHYLFH VLJQDOLQJ WKH LQWHUUXSW FDQ SHUIRUP D UHDG RI WKH MXVW ZULWWHQ GDWD EHIRUH VLJQDOLQJ WKH LQWHUUXSW 7KLV FDXVHV SRVWLQJ EXIIHUV WR EH IOXVKHG
7KH GHYLFH GULYHU FDQ SHUIRUP D UHDG WR DQ\ UHJLVWHU LQ WKH GHYLFH EHIRUH DFFHVVLQJ WKH GDWD ZULWWHQ E\ WKH GHYLFH 7KLV UHDG FDXVHV SRVWLQJ EXIIHUV WR EH IOXVKHG
'HYLFH GULYHUV DUH XOWLPDWHO\ UHVSRQVLEOH IRU JXDUDQWHHLQJ FRQVLVWHQF\ RI LQWHUUXSWV DQG GDWD E\ DVVXULQJ WKDW DW OHDVW RQH RI WKH WKUHH PHWKRGV GHVFULEHG DERYH LV SHUIRUPHG LQ WKH V\VWHP 7KLV PHDQV D GHYLFH GULYHU PXVW GR 0HWKRG XQOHVV LW LPSOLFLWO\ NQRZV 0HWKRG LV GRQH E\ LWV GHYLFH RU LW LV LQIRUPHG E\ VRPH PHDQV RXWVLGH WKH VFRSH RI WKLV VSHFLILFDWLRQ WKDW 0HWKRG LV GRQH E\ WKH V\VWHP KDUGZDUH
212
Revision 2.2
6.8. Message Signaled Interrupts
0HVVDJH 6LJQDOHG ,QWHUUXSWV 06, LV DQ RSWLRQDO IHDWXUH WKDW HQDEOHV D GHYLFH WR UHTXHVW VHUYLFH E\ ZULWLQJ D V\VWHP VSHFLILHG PHVVDJH WR D V\VWHP VSHFLILHG DGGUHVV 3&, ':25' PHPRU\ ZULWH WUDQVDFWLRQ 7KH WUDQVDFWLRQ DGGUHVV VSHFLILHV WKH PHVVDJH GHVWLQDWLRQ DQG WKH WUDQVDFWLRQ GDWD VSHFLILHV WKH PHVVDJH 6\VWHP VRIWZDUH LQLWLDOL]HV WKH PHVVDJH GHVWLQDWLRQ DQG PHVVDJH GXULQJ GHYLFH FRQILJXUDWLRQ DOORFDWLQJ RQH RU PRUH QRQ VKDUHG PHVVDJHV WR HDFK 06, FDSDEOH IXQFWLRQ
6LQFH WKH WDUJHW RI WKH WUDQVDFWLRQ FDQQRW GLVWLQJXLVK EHWZHHQ DQ 06, ZULWH WUDQVDFWLRQ DQG DQ\ RWKHU ZULWH WUDQVDFWLRQ DOO WUDQVDFWLRQ WHUPLQDWLRQ FRQGLWLRQV DUH VXSSRUWHG 7KHUHIRUH D 06, ZULWH WUDQVDFWLRQ FDQ EH WHUPLQDWHG ZLWK D 5HWU\ 0DVWHU $ERUW 7DUJHW $ERUW RU QRUPDO FRPSOHWLRQ UHIHU WR 6HFWLRQ
,W LV UHFRPPHQGHG WKDW GHYLFHV LPSOHPHQW LQWHUUXSW SLQV WR SURYLGH FRPSDWLELOLW\ LQ V\VWHPV WKDW GR QRW VXSSRUW 06, GHYLFHV GHIDXOW WR LQWHUUXSW SLQV +RZHYHU LW LV H[SHFWHG WKDW WKH QHHG IRU LQWHUUXSW SLQV ZLOO GLPLQLVK RYHU WLPH 'HYLFHV WKDW GR QRW VXSSRUW LQWHUUXSW SLQV GXH WR SLQ FRQVWUDLQWV UHO\ RQ SROOLQJ IRU GHYLFH VHUYLFH PD\ LPSOHPHQW PHVVDJHV WR LQFUHDVH SHUIRUPDQFH ZLWKRXW DGGLQJ DGGLWLRQDO SLQV 7KHUHIRUH V\VWHP FRQILJXUDWLRQ VRIWZDUH PXVW QRW DVVXPH WKDW D PHVVDJH FDSDEOH GHYLFH KDV DQ LQWHUUXSW SLQ
,QWHUUXSW ODWHQF\ WKH WLPH IURP LQWHUUXSW VLJQDOLQJ WR LQWHUUXSW VHUYLFLQJ LV V\VWHP GHSHQGHQW &RQVLVWHQW ZLWK FXUUHQW LQWHUUXSW DUFKLWHFWXUHV PHVVDJH VLJQDOHG LQWHUUXSWV GR QRW SURYLGH LQWHUUXSW ODWHQF\ WLPH JXDUDQWHHV
6.8.1. Message Capability Structure
7KH FDSDELOLWLHV PHFKDQLVP UHIHU WR 6HFWLRQ LV XVHG WR LGHQWLI\ DQG FRQILJXUH D 06, FDSDEOH GHYLFH 7KH PHVVDJH FDSDELOLW\ VWUXFWXUH LV LOOXVWUDWHG LQ )LJXUH (DFK GHYLFH IXQFWLRQ WKDW VXSSRUWV 06, LQ D PXOWL IXQFWLRQ GHYLFH PXVW LPSOHPHQW LWV RZQ 06, FDSDELOLW\ VWUXFWXUH 0RUH WKHQ RQH 06, FDSDELOLW\ VWUXFWXUH SHU IXQFWLRQ LV SURKLELWHG
)LJXUH 0HVVDJH 6LJQDOHG ,QWHUUXSW &DSDELOLW\ 6WUXFWXUH
214
Revision 2.2
Bits |
Field |
Description |
|
|
|
|
|
6::4 |
Multiple Message |
System software writes to this field to indicate the |
|
|
Enable |
number of allocated messages (equal to or less than |
|
|
|
the number of requested messages). The number of |
|
|
|
allocated messages is aligned to a power of two. If a |
|
|
|
function requests four messages (indicated by a |
|
|
|
Multiple Message Capable encoding of “010”), system |
|
|
|
software can allocate either four, two, or one |
|
|
|
message by writing a “010”, “001, or “000” to this |
|
|
|
field, respectively. When MSI is enabled, a device will |
|
|
|
be allocated at least 1 message. The encoding is |
|
|
|
defined as: |
|
|
|
Encoding |
# of messages allocated |
|
|
000 |
1 |
|
|
001 |
2 |
|
|
010 |
4 |
|
|
011 |
8 |
|
|
100 |
16 |
|
|
101 |
32 |
|
|
110 |
Reserved |
|
|
111 |
Reserved |
This field’s state after reset is “000”.
|
|
This field is read/write. |
|
|
|
|
|
3::1 |
Multiple Message |
System software reads this field to determine the |
|
|
Capable |
number of requested messages. The number of |
|
|
|
requested messages must be aligned to a power of |
|
|
|
two (if a function requires three messages, it requests |
|
|
|
four by initializing this field to “010”). The encoding is |
|
|
|
defined as: |
|
|
|
Encoding |
# of messages requested |
|
|
000 |
1 |
|
|
001 |
2 |
|
|
010 |
4 |
|
|
011 |
8 |
|
|
100 |
16 |
|
|
101 |
32 |
|
|
110 |
Reserved |
|
|
111 |
Reserved |
|
|
This field is read/only. |
|
|
|
|
|
216
|
|
|
|
Revision 2.2 |
|
6.8.1.6. Message Data |
|
|
|||
|
|
|
|
|
|
|
|
Bits |
Field |
Description |
|
|
|
|
|
|
|
|
15::00 |
Message Data |
System-specified message. |
|
|
|
|
|
|
Each MSI function is allocated up to 32 unique |
|
|
|
|
|
messages. |
|
|
|
|
|
System architecture specifies the number of unique |
|
|
|
|
|
messages supported by the system. |
|
|
|
|
|
If the Message Enable bit (bit 0 of the Message |
|
|
|
|
|
Control register) is set, the message data is driven |
|
|
|
|
|
onto the lower word (AD[15::00]) of the memory write |
|
|
|
|
|
transaction’s data phase. AD[31::16] are driven to |
|
|
|
|
|
zero during the memory write transaction’s data |
|
|
|
|
|
phase. C/BE[3::0]# are asserted during the data |
|
|
|
|
|
phase of the memory write transaction. |
|
|
|
|
|
The Multiple Message Enable field (bits 6-4 of the |
|
|
|
|
|
Message Control register) defines the number of low |
|
|
|
|
|
order message data bits the function is permitted to |
|
|
|
|
|
modify to generate its system software allocated |
|
|
|
|
|
messages. For example, a Multiple Message Enable |
|
|
|
|
|
encoding of “010” indicates the function has been |
|
|
|
|
|
allocated four messages and is permitted to modify |
|
|
|
|
|
message data bits 1 and 0 (a function modifies the |
|
|
|
|
|
lower message data bits to generate the allocated |
|
|
|
|
|
number of messages). If the Multiple Message |
|
|
|
|
|
Enable field is “000”, the function is not permitted to |
|
|
|
|
|
modify the message data. |
|
|
|
|
|
This field is read/write. |
|
|
|
|
|
|
|
6.8.2. MSI Operation
$W FRQILJXUDWLRQ WLPH V\VWHP VRIWZDUH WUDYHUVHV WKH IXQFWLRQ¶V FDSDELOLW\ OLVW ,I D FDSDELOLW\ ,' RI K LV IRXQG WKH IXQFWLRQ LPSOHPHQWV 06, 6\VWHP VRIWZDUH UHDGV WKH 06, FDSDELOLW\ VWUXFWXUH¶V 0HVVDJH &RQWURO UHJLVWHU WR GHWHUPLQH WKH IXQFWLRQ¶V FDSDELOLWLHV
6\VWHP VRIWZDUH UHDGV WKH 0XOWLSOH 0HVVDJH &DSDEOH ILHOG ELWV RI WKH 0HVVDJH &RQWURO UHJLVWHU WR GHWHUPLQH WKH QXPEHU RI UHTXHVWHG PHVVDJHV 6\VWHP VRIWZDUH ZULWHV WR WKH 0XOWLSOH 0HVVDJH (QDEOH ILHOG ELWV RI WKH 0HVVDJH &RQWURO UHJLVWHU WR DOORFDWH HLWKHU DOO RU D VXEVHW RI WKH UHTXHVWHG PHVVDJHV )RU H[DPSOH D IXQFWLRQ FDQ UHTXHVW IRXU PHVVDJHV DQG EH DOORFDWHG HLWKHU IRXU WZR RU RQH PHVVDJH 7KH QXPEHU RI PHVVDJHV UHTXHVWHG DQG DOORFDWHG DUH DOLJQHG WR D SRZHU RI WZR D IXQFWLRQ WKDW UHTXLUHV WKUHH PHVVDJHV PXVW UHTXHVW IRXU
,I WKH ELW $GGUHVV &DSDEOH ELW ELW RI WKH 0HVVDJH &RQWURO UHJLVWHU LV VHW V\VWHP VRIWZDUH LQLWLDOL]HV WKH 06, FDSDELOLW\ VWUXFWXUH¶V 0HVVDJH $GGUHVV UHJLVWHU VSHFLI\LQJ WKH ORZHU ELWV RI WKH PHVVDJH DGGUHVV DQG WKH 0HVVDJH 8SSHU $GGUHVV UHJLVWHUVSHFLI\LQJ WKH XSSHU ELWV RI WKH PHVVDJH DGGUHVV ZLWK D V\VWHP VSHFLILHG PHVVDJH
218
Revision 2.2
6.8.2.1. MSI Transaction Termination
7KH WDUJHW RI DQ 06, FDQQRW GLVWLQJXLVK EHWZHHQ DQ 06, ZULWH WUDQVDFWLRQ DQG DQ\ RWKHU PHPRU\ ZULWH WUDQVDFWLRQ 7KH WHUPLQDWLRQ UHTXLUHPHQWV IRU DQ 06, DUH WKH VDPH DV IRU DQ\ RWKHU PHPRU\ ZULWH WUDQVDFWLRQ H[FHSW DV QRWHG EHORZ
,I WKH 06, ZULWH WUDQVDFWLRQ LV WHUPLQDWHG ZLWK D 0DVWHU $ERUW RU D 7DUJHW $ERUW WKH PDVWHU WKDW RULJLQDWHG WKH 06, ZULWH WUDQVDFWLRQ LV UHTXLUHG WR UHSRUW WKH HUURU E\ DVVHUWLQJ SERR# LI ELW LQ WKH &RPPDQG UHJLVWHU LV VHW DQG WR VHW WKH DSSURSULDWH ELWV LQ WKH 6WDWXV UHJLVWHU UHIHU WR 6HFWLRQ 7KH 06, ZULWH WUDQVDFWLRQ LV LJQRUHG E\ WKH WDUJHW LI LW LV WHUPLQDWHG ZLWK D 0DVWHU $ERUW RU 7DUJHW $ERUW
If the MSI write transaction results in a data parity error, the master that originated the MSI write transaction is required to assert SERR# (if bit 8 in the Command register is set) and to set the appropriated bits in the Status register (refer to Section 3.7.4.).
6.8.2.2. MSI Transaction Reception and Ordering Requirements
$V ZLWK DOO PHPRU\ ZULWH WUDQVDFWLRQV WKH GHYLFH WKDW LQFOXGHV WKH WDUJHW RI WKH LQWHUUXSW PHVVDJH WKH LQWHUUXSW UHFHLYHU LV UHTXLUHG WR FRPSOHWH DOO LQWHUUXSW PHVVDJH WUDQVDFWLRQV DV D WDUJHW ZLWKRXW UHTXLULQJ RWKHU WUDQVDFWLRQV WR FRPSOHWH ILUVW DV D PDVWHU 5HIHU WR 6HFWLRQ ,Q JHQHUDO WKLV PHDQV WKDW WKH PHVVDJH UHFHLYHU PXVW FRPSOHWH WKH LQWHUUXSW PHVVDJH WUDQVDFWLRQ LQGHSHQGHQW RI ZKHQ WKH &38 VHUYLFHV WKH LQWHUUXSW )RU H[DPSOH HDFK WLPH WKH LQWHUUXSW UHFHLYHU UHFHLYHV DQ LQWHUUXSW PHVVDJH LW FRXOG VHW D ELW LQ DQ LQWHUQDO UHJLVWHU LQGLFDWLQJ WKDW WKLV PHVVDJH KDG EHHQ UHFHLYHG DQG WKHQ FRPSOHWH WKH WUDQVDFWLRQ RQ WKH EXV 7KH DSSURSULDWH LQWHUUXSW VHUYLFH URXWLQH ZRXOG ODWHU EH GLVSDWFKHG EHFDXVH WKLV ELW ZDV VHW 7KH PHVVDJH UHFHLYHU ZRXOG QRW EH DOORZHG WR GHOD\ WKH FRPSOHWLRQ RI WKH LQWHUUXSW PHVVDJH RQ WKH EXV SHQGLQJ DFNQRZOHGJHPHQW IURP WKH SURFHVVRU WKDW WKH LQWHUUXSW ZDV EHLQJ VHUYLFHG 6XFK GHSHQGHQFLHV FDQ OHDG WR GHDGORFN ZKHQ PXOWLSOH GHYLFHV JHQHUDWH LQWHUUXSW PHVVDJHV VLPXOWDQHRXVO\
$OWKRXJK LQWHUUXSW PHVVDJHV UHPDLQ VWULFWO\ RUGHUHG WKURXJKRXW WKH 3&, EXV KLHUDUFK\ WKH RUGHU RI UHFHLSW RI WKH LQWHUUXSW PHVVDJHV GRHV QRW JXDUDQWHH DQ\ RUGHU LQ ZKLFK WKH LQWHUUXSWV ZLOO EH VHUYLFHG 6LQFH WKH PHVVDJH UHFHLYHU PXVW FRPSOHWH DOO LQWHUUXSW PHVVDJH WUDQVDFWLRQV ZLWKRXW UHJDUG WR ZKHQ WKH LQWHUUXSW ZDV DFWXDOO\ VHUYLFHG WKH PHVVDJH UHFHLYHU ZLOO JHQHUDOO\ QRW PDLQWDLQ DQ\ LQIRUPDWLRQ DERXW WKH RUGHU LQ ZKLFK WKH LQWHUUXSWV ZHUH UHFHLYHG 7KLV LV WUXH ERWK RI LQWHUUXSW PHVVDJHV UHFHLYHG IURP GLIIHUHQW GHYLFHV DQG PXOWLSOH PHVVDJHV UHFHLYHG IURP WKH VDPH GHYLFH ,I D GHYLFH UHTXLUHV RQH LQWHUUXSW PHVVDJH WR EH VHUYLFHG EHIRUH DQRWKHU WKHQ WKH GHYLFH PXVW QRW VHQG WKH VHFRQG LQWHUUXSW PHVVDJH XQWLO WKH ILUVW RQH KDV EHHQ VHUYLFHG
220

Checksum byte