DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 
SVR5

mdi_AT_verify(D3mdi)


mdi_AT_verify -- implement ISA autodetection in an MDI driver

Synopsis

   #include <sys/types.h>
   #include <sys/stream.h>
   #include <sys/stropt.h>
   #include <sys/mdi.h>
   #include <sys/ddi.h>
   

int mdi_AT_verify(rm_key_t rm_key, int *getstat, ulong_t *sioa, ulong_t *eioa, int *vector, ulong_t *scma, ulong_t *ecma, int *dmac);

Description

mdi_AT_verify( ) is used to implement ISA autodetection in an MDI driver.

Arguments


rm_key
Resource manager key.

getset
indicates how this routine is being called and affects the remaining parameters. Valid values are:

MDI_ISAVERIFY_UNKNOWN
Required initial state for the getset parameter before any other call to mdi_AT_verify( ) other than with the MDI_ISAVERIFY_GET_REPLY flag.

MDI_ISAVERIFY_GET
Driver should retrieve ISA parameters from NVRAM/EEPROM and call mdi_AT_verify( ) a second time with the MDI_ISAVERIFY_GET_REPLY flag set.

MDI_ISAVERIFY_GET_REPLY
Used when passing in the values just read with the MDI_ISAVERIFY_GET flag.

MDI_ISAVERIFY_SET
Driver should set NVRAM/EEPROM values according to the values in vector, scma, ecma, and dmac.

MDI_ISAVERIFY_TRADITIONAL
Verify that the firmware resides at the CM_IOADDR parameter in the resource manager for the given key.

sioa
starting I/O address. If set to -1, driver will not change the readings in the NVRAM/EEPROM.

eioa
ending I/O address. If set to -1, driver will not change the readings in the NVRAM/EEPROM.

vector
IRQ vector. If set to -1, driver will not change the readings in the NVRAM/EEPROM.

scma
starting memory address. If set to -1, driver will not change the readings in the NVRAM/EEPROM.

ecma
ending memory address. If set to -1, driver will not change the readings in the NVRAM/EEPROM.

dmac
DMA memory address. If set to -1, driver will not change the readings in the NVRAM/EEPROM.

Parameters that are not applicable to your firmware should be set to NULL. The -1 value indicates that the parameter is applicable to your firmware but the value is not being changed. Handle CUSTOM[x] parameters similarly; if cm_getval(D3) returns failure, then the parameter should not be changed from its current value.

Return values

mdi_AT_verify( ) returns 0 for success or an error number from those listed on the errnos(D5) manual page on failure.

Usage

With ``paired'' parameters (scma/ecma, sioa/eioa) both parameters must have a value, or be set to -1, or to NULL.

If the range given by the CM_IOADDR parameter in the resource manager database is different than that expressed by the sioa/eioa) parameter pair, the user should change the existing I/O address that the board is using to the new address that is returned by the mdi_AT_verify( ) function. The driver should be coded to call the cmn_err(D3) function to notify the user of problems.

Context and synchronization

Blockable context

Hardware applicability

ISA bus.

Version applicability

mdi: 2, 2.1

Differences between versions

This function is not supported in MDI on SCO OpenServer systems.

References

_verify(D2mdi)

``Extended ISA verify support'' in Developing MDI network adapter drivers


19 June 2005
© 2005 The SCO Group, Inc. All rights reserved.
OpenServer 6 and UnixWare (SVR5) HDK - June 2005