DDI_UFM_IMAGE(9F) Kernel Functions for Drivers DDI_UFM_IMAGE(9F)

ddi_ufm_image_set_desc, ddi_ufm_image_set_misc, ddi_ufm_image_set_nslots
UFM image property routines

#include <sys/ddi_ufm.h>

void
ddi_ufm_image_set_desc(ddi_ufm_image_t *uip, const char *description);

void
ddi_ufm_image_set_misc(ddi_ufm_image_t *uip, nvlist_t *nvl);

void
ddi_ufm_image_set_nslots(ddi_ufm_image_t *uip, uint_t nslots);

Evolving - This interface is evolving still in illumos. API and ABI stability is not guaranteed.

uip
A pointer to a UFM image that was passed to the driver in its ddi_ufm_op_fill_image(9E) entry point.
description
A human-readable description of the firmware image.
nvl
An nvlist_t with ancillary, device-specific data.
nslots
The number of firmware slots supported by this firmare image.

The ddi_ufm_image_set_desc(), ddi_ufm_image_set_misc() and ddi_ufm_image_set_nslots() functions are used by device drivers to set information about a firmware image on the image structure uip as a part of implementing their ddi_ufm_op_fill_image(9E) entry point. For more information on images and the use of these functions, see the description of the ddi_ufm_op_fill_image() function in ddi_ufm(9E).

The ddi_ufm_image_set_desc() function sets the description of the firmware image. This description is intended for administrators and should convey the intended use of the image.

The ddi_ufm_image_set_misc() function is used by drivers to set ancillary key-value data that may be useful to a consumer. The driver should create an nvlist for this purpose with nvlist_alloc(9F) Once the driver passes the nvlist to the ddi_ufm_image_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_image_set_nslots() function should be called to indicate the number of firmware slots supported by this firmware image.

These functions should only be called in the context of the ddi_ufm_op_fill_image(9E) entry point.

ddi_ufm(9E), ddi_ufm_op_fill_image(9E), nvlist_alloc(9F)
April 30, 2019 OmniOS