[Toc][Index]

[IdentifyAdapter]


This is a required section and should perform the adapter identification. 
Recommended identification steps depend on the bus architecture and 
hardware support for the identification. For example, on a PCI adapter, a 
positive check of the PCI device ID, revision ID, and vendor ID would be 
sufficient. On an ISA card, a  physical memory location can be read and 
compared against a string or a binary key, using MEMCMP and STRCMP PMI 
commands. Or, an identification port could be read in order to confirm the 
adapter type and revision level. The dependency on familiar port response 
should be minimal and resorted to only if more reliable checks do not 
exist. For vendors writing .PMI files for generic adapter support, 
however, this may be the only option, and it should be implemented with 
great care. 
Register r0 is used to hold the function result. The register should 
contain zero if the adapter matches its Hardware description (OEMString 
and DACString in its entirety) or nonzero otherwise. 
The purpose of the IdentifyAdapter function is to verify that an instance 
of the adapter is found that matches the OEMString and Version string from 
the .PMI file's Hardware section. Whether multiple instances exist, or if 
the instance found is not configured to the passed MemoryIOAddress and 
PortIOAddress, is of no consequence. 
An adapter is considered available if its IdentifyAdapter section returns 
success. Consequently, if the .PMI file contains the minimum VIDEOPMI 
content, its .PMI file will be loaded. 
Attention: 
It is essential that any I/O or MMIO registers modified in this section be 
saved and restored! This is of great importance, as IdentifyAdapter 
sections from a .PMI file will be executed on nonrelated hardware in an 
attempt to find the corresponding .PMI file. 


Created using Inf-PHP v.2 (c) 2003 Yuri Prokushev
Created using Inf-HTML v.0.9b (c) 1995 Peter Childs