[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: BIOS Behavior Under PCI 2.1 Spec.



YVazir@corp.adaptec.com:
>Form: Adaptec Memo
>Header: Adaptec Confidential
(Hope you don't mind my reading it ;-)
>Can anybody comment on the following?
>or>To be both PCI 2.1 and PC '97 compliant should the expansion ROM BIOS header 
>correspond to the Sub-system vendor ID/Device ID or the Vendor ID/Device ID?
>or>The Sub-system Vendor ID/Device ID is optional in PCI 2.1 spec while it is a 
>requirement for PC '97 certification.  If a vendor wants to load a different 
>set of Expansion ROM and Device driver for a given device then it seems one 
>either has to change the Device ID field or the Sub-system Device ID field 
O{p>thtec>If the Expansion ROM header corresponds to the sub-system device ID then 
>compatibility is lost with all legacy systems that have BIOSes that check 
>the header against the device ID field.  Since this is too much too give up 
>I guess the system BIOS should continue to check the header against Device 
>ID field and NOT use sub-system Device ID field.  So if a vendor desires to 
>load a different expansion ROM then it must change the Device ID field. Am I 
>correct to assume this?
There are two different cases for system BIOS to handle:
- It's an adapter board with a special implementetion. In this case, sysBIOS 
knows what adpter it is, because it must set up the BAR to copy the adapter BIOS. 
And the adapter BIOS knows what combination of IDs to check for.
- It's a motherboard device. And system BIOS knows also in this case which chip 
the adapter BIOS belongs to, as well as the adapter BIOS does.
Either way, there is no need for any sub-xxx IDs in the adapter BIOS header.
Those IDs are intended for OS and device drivers to distinguish between different 
implementations around the same basic chip.
/Ingvar
6