Configuration manager
The configuration manager is part of the
DDI autoconfiguration facility
and provides the interface into the
resource manager database.
During system initialization,
the configuration manager automatically detects any
PCU
related changes by comparing
the information in the initial
resource manager database
with the information returned from NVRAM.
The configuration manager detects changes
such as the following:
-
One or more PCU adapters added or removed.
-
Configuration information
(interrupt vectors, I/O addresses,
memory addresses, DMA channels, and so forth)
changed.
The configuration manager may or may not detect
ISA configuration changes automatically.
If the ISA configuration data is stored in NVRAM,
it is possible to compare the current configuration
with the previous one.
Otherwise, this information can only be supplied
with user input to the
dcu
or, for network adapter cards,
the information provided in drivers'
bcfg(DSP/4dsp)
files.
Drivers access
the configuration manager with the following:
cm_params(D5)-
configuration manager parameters
cm_args(D4)-
configuration manager argument structure
cm_getversion(D3)-
return the version number of the Configuration Manager.
cm_getnbrd(D3)-
return the number of boards this driver is supporting.
cm_getbrdkey(D3)-
return the key for accessing the parameters for
the particular board this driver supports.
cm_delval(D3)-
delete all values associated
with this
(key, param)
pair.
cm_addval(D3)-
add specified value to the
(key, param)
pair.
cm_getval(D3)-
return the n-th value of the
(key, param)
pair.
cm_read_devconfig(D3)-
read the extension information from NVRAM.
cm_read_devconfig8(D3)-
read a single byte
from the NVRAM extension information.
cm_read_devconfig16(D3)-
read a word (2-bytes)
from the NVRAM extension information.
cm_read_devconfig32(D3)-
read a double word (4-bytes) from
the NVRAM extension information.
cm_devconfig_size(D3)-
get the size of the device configuration space.
On MCA and PCI systems,
the device configuration space is fixed,
but may vary on EISA systems.
The value returned by this routine can then be used to allocate
the buffer space needed for the cm_read_devconfig and
cm_write_devconfig routines.
cm_write_devconfig(D3)-
write the extension information
in NVRAM.
cm_write_devconfig8(D3)-
write a single byte to the NVRAM extension information.
cm_write_devconfig16(D3)-
write a word (2-bytes)
to the NVRAM extension information.
cm_intr_attach(D3)-
write a double word (4-bytes)
to the NVRAM extension information.
cm_intr_attach(D3)-
attach an interrupt handler for the
board instance specified by key.
cm_intr_detach(D3)-
detach an interrupt handler referred to
by intr_cookie.
cm_AT_putconf(D3)-
provided as a convenience for device drivers that
need to store values for various standard hardware parameters in the
resource manager database.
eisa_parse_devconfig(D3)-
parse the EISA configuration space.
© 2005 The SCO Group, Inc. All rights reserved.
OpenServer 6 and UnixWare (SVR5) HDK - June 2005