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