DDI_UFM_SLOT(9F) Kernel Functions for Drivers DDI_UFM_SLOT(9F)
NAME
ddi_ufm_slot,
ddi_ufm_slot_set_version,
ddi_ufm_slot_set_attrs,
ddi_ufm_slot_set_misc,
ddi_ufm_slot_set_imgsize - UFM slot property
routines
SYNOPSIS
#include <sys/ddi_ufm.h>
void ddi_ufm_slot_set_version(
ddi_ufm_slot_t *usp,
const char *version);
void ddi_ufm_slot_set_attrs(
ddi_ufm_slot_t *usp,
ddi_ufm_attr_t attrs);
void ddi_ufm_slot_set_misc(
ddi_ufm_slot_t *usp,
nvlist_t *nvl);
void ddi_ufm_slot_set_imgsize(
ddi_ufm_slot_t *usp,
uint64_t len);
INTERFACE LEVEL
Evolving - This interface is evolving still in illumos. API and ABI
stability is not guaranteed.
PARAMETERS
usp A pointer to a UFM slot structure that was passed to the
driver in its
ddi_ufm_op_fill_slot(9E) entry point.
version A device-specific ASCII string that indicates the current
version of the firmware image in the slot.
attrs The bitwise-inclusive-OR of one of several attributes of
a firmware slot. See the discussion of the
ddi_ufm_op_fill_slot() function in
ddi_ufm(9E).
nvl An nvlist_t with ancillary, device-specific data.
len The length in bytes of a firmware image in a slot.
DESCRIPTION
The
ddi_ufm_slot_set_version(),
ddi_ufm_slot_set_attrs(),
ddi_ufm_slot_set_misc(), and
ddi_ufm_slot_set_imgsize() functions are
used by device drivers to set information about a firmware slot on the
slot structure
usp as a part of implementing their
ddi_ufm_op_fill_slot(9E) entry point. For more information on slots
and the use of these functions, see the description of the
ddi_ufm_op_fill_slot() function in
ddi_ufm(9E).
The
ddi_ufm_slot_set_version() function sets the version property of a
firmware slot. The version should be a human-readable ASCII string
that describes the current firmware revision in a way that makes sense
to an administrator and someone who is referencing the documentation of
a vendor.
The
ddi_ufm_slot_set_attrs() function describes attributes of a UFM
slot as defined by the ddi_ufm_attr_t enum.
The
ddi_ufm_slot_set_misc() function is used by the driver to set
ancillary key-value data that may be useful to a consumer. For
example, a driver may use this method to encode specific information
that the firmware provides about how or when it was produced or
installed on the device. The driver should create an nvlist for this
purpose with
nvlist_alloc(9F). Once the driver passes the nvlist to
the
ddi_ufm_slot_set_misc() function, then the driver must not
manipulate or free the nvlist at all. It is the property of the UFM
subsystem.
the
ddi_ufm_slot_set_imgsize() function is used by the driver to
indicate the size of a firmware image in a slot. Consumers use this to
determine the amount of data that they should read for a firmware image
itself.
CONTEXT
These functions should only be called in the context of the
ddi_ufm_op_fill_slot(9E) entry point.
SEE ALSO
ddi_ufm(9E),
ddi_ufm_op_fill_slot(9E),
nvlist_alloc(9F)illumos May 19, 2020 illumos