发布时间 : 星期六 文章PCI Configuration更新完毕开始阅读e306a0ed0975f46527d3e190
PCI Expansion ROM Header Format
PCI Data Structure Format
ROM Header Extensions
Interrupt Line
中断讯号线(Offset 3Ch)
PCI装置的中断号码配置与绕线设定处理和此字段密不可分. PCI装置对于中断讯号的定义中,设计了以下四组中断讯号线.
INT A# , INT B#, INT C#, INT D#
在今的许多PC系统里,内崁在PCI/ISA桥接器内的可程序化路由器都具有四个输入端,用来连接PCI中断线路,目前大多数的PCI装置是单功能装置, 单功能PCI装置只能用INT A#(不得使用INT B#,INT C#,INT D#)来产生中断请求,在多功能PCI装置上,装置设计者可以实作最多四支中断接脚,INT A#,INT B#,INT C#,INT D#,因其是内含二到八个功能的实体套件,ISA中断请求线是正缘触发(Positive edge-triggered),且不可共享,但PCI中断请求线是低态动作的(Active low),准位触发的(Level-sensitive),可共享的(Shareable)请求线,PCI中断只能连接到未被ISA装置占用的ISA中断请求在线.
在系统内存F0000到FFFFF搜寻表格的签名(Signature)($PIR),便可侦测到PCI中断路由表格.格式如下:
从表格起点算起的相对字节
0 4 6 8 9
4 2 2 1 1 2 4 4 1
大小
说明
Signature Version Table Size
PCI Interrupt Router’s Bus PCI Interrupt Router’s DevFunc PCI Exclusive IRQs
Compatible PCI Interrupt Router Miniport Data Reserved Checksum First Slot Entry Second Slot Entry
nth Slot Entry
10 12 16 20 31 32 48
11 16 16
(N+1)*16 16
align 16
public ms_irq_route_table_sign ms_irq_route_table_sign label byte db \
ms_irq_route_table_ver dw 0100h ms_irq_route_table_size dw 32+(5*16) ms_irq_route_table_bus db 00h
ms_irq_route_table_dev db VT586_P2I_DEV_FUNC ms_irq_route_table_irq dw 0h
ms_irq_route_table_id dd 05861106h ; VIA 82C586 ;ms_irq_route_table_id dd 05961106h ms_irq_route_table_mini dd 0h
ms_irq_route_table_resd db 11 dup(0) ms_irq_route_table_cksm db 0
紧接着是16字节的插槽项目格式,依系统主机板所使用的芯片组,内建装置与插槽数而有所不同. 格式如下:
从表格起点算起的相对字节
0 1 2 3 5 6 8 9
1 1 1 2 1 2 1 2 1 2 1 1
大小
说明
PCI Bus Number PCI Device Number Link Value for INT A# IRQ Bitmap for INT A# Link Value for INT B# IRQ Bitmap for INT B# Link Value for INT C# IRQ Bitmap for INT C# Link Value for INT D# IRQ Bitmap for INT D# Slot Number Reserved
; VIA 82C596
11 12 14 15
Interrupt Pin
中断讯号脚(Offset 3Dh)
中断讯号线记录器其记录该 PCI 装置使用何者 INT#讯号,BIOS则依其所提供的信息 告知CHIPSET并给予正确中断绕线设定.
值为1表示其使用INT A,2则为INT B,3则为INT C,4则为INT D. 此记录器是只读并无法写入.
MIN_GNT and MAX_LAT
MIN_GNT(Minimum Grant 最小授权)(Offset 3Eh)
此为只读的组态缓存器,其值为0,代表此Bus Master对于指派给予的LT的设定值并没有特定的要求,若非为0则表示master需要多长的时间片段以得到适当的效能,以250ns为单位.
Max_LAT:Max_Lat(Offset 3Fh)
缓存器的值表示master多久会想要存取总线一次, 此为只读的组态缓存器,对于bus master来说是非必要的.
Device Status
PCI 2.2 新增新能力(New Capabilities)
组态缓存器offset 06h~07h为装置状态缓存器,其位4=1表示支持新能力,新能力指针缓存器在组态缓存器offset 34h,其细节如下: 位0~7为能力识别码
位8~15为指向下一个新能力的指标. 识别码: 说明 00h 保留 01h 02h 03h 04h 05h 06h 7~255d
PCI Power Management Interface AGP
VDP(Vital Product Data) Slot Identification
MSI(Message Signaled Interrupt) CompactPCI Host Swap 保留