[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: FW: HOT Plug and Expansion ROMs
- To: Mailing List Recipients <pci-sig-request@znyx.com>
- Subject: Re: FW: HOT Plug and Expansion ROMs
- From: "Gregory R. Hill" <gregh@FirmWorks.COM>
- Date: Wed, 09 Apr 1997 13:47:41 -0700
- Cc: tonygd@earthlink.net
- Resent-Date: Wed, 09 Apr 1997 13:47:41 -0700
- Resent-From: pci-sig-request@znyx.com
- Resent-Message-Id: <"SkCND.0.wT.J30Jp"@dart>
- Resent-Sender: pci-sig-request@znyx.com
At 10:37 AM 4/7/97 -0600, Monish Shah wrote:
>On Apr 4, 3:41pm, Tony Goodfellow wrote:
>> Subject: FW: HOT Plug and Expansion ROMs
>>
>> The "HOT PLUG' proposal excludes the possibility of using Expansion ROMS
>> for Adapter initialization. This seems to be a retrograde step because:
>>
>> a) There are many cases where generations of an adapter might be register
>> compatible to the HOST driver yet require different initialization
>> procedures. (Expansion ROM initialization is specific to the Hardware the
>> ROM resides on.)
>
>Counting on the expansion ROM to do your initialization has another
>problem. May be the expansion ROM won't be run at all. In PC compatible
>systems, this can happen if you run out of space for BIOS. The BIOS code
>must be copied to memory below 1M, so there is a limit to how many BIOSes
>can be executed.
>
>So, it is best to have your device driver do full initialization both
>because of hot plug and because of BIOS space limitations.
>
>I realize that Openboot firmware (which you described as F-code) is a
>solution to both problems. However, I suspect that having drivers do full
>initialization is the path of least resistance for PC compatible systems.
You are probably right in your last statement. But PCI is not restricted to
BIOS-based systems. There are PCI-based systems out there using Open
Firmware/FCode and the elimination of FCode from the cards used in such
systems *is* a retrograde step. IMHO, Tony is absolutely correct in his
presentation of the facts. FirmWorks supports Tony's suggestion that FCode
ROM images not be forbidden. If the BIOS world wants to take "the path of
least resistance", that's up to them. Please do not handcuff those of us
who are using a different approach.
There are non-PCI-based Open Firmware systems that already support hot plug,
and they do so by (1) recognizing the presence of a new card, (2) "probing"
the card by evaluating its FCode image (which can initialize the device as
required), and (3) attaching the appropriate driver as a function of the
information obtained from the FCode image. From the perspective of the
device, it goes through the same FCode probing process whether it is hot
plugged or not.
>> b) It does not seem to be in the spirit of "Hot Plugging" to require that a
>> user replaces an "old" generation Adapter with the same "old" generation or
>> figure out that some different driver has to be dynamically loaded.
>
>It seems to me that replacing a "slightly" different device is the same as
>replacing with a completely different device. I.e., the old driver has to
>be terminated and a new driver has to be started. So, if the driver does
>full initialization, as I suggest, then what you describe above is not a
>problem.
If the FCode image does the initialization (which is very common in the Open
Firmware/FCode world) and you execute the FCode on a power-cycle and not on
a hot-plug, then the FCode-compatible OS driver has to behave differently in
the two situations, and to do work and have more knowledge of the hardware
than it needs to have now. The right solution for hot plug in the Open
Firmware world is to have an FCode image on the board that is evaluated just
as it would be on a power cycle/system reset.
Greg
Greg Hill FirmWorks
Director of Technical Communications Suite 210, 480 San Antonio Road
gregh@firmworks.com Mountain View, CA 94040-1218
415-917-6985 (voice) ftp://ftp.firmworks.com/pub
415-917-6990 (fax) http://www.firmworks.com
< )