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