xref: /illumos-gate/usr/src/man/man9f/ddi_ufm_image.9f (revision 508a0e8cf1600b06c1f7361ad76e736710d3fdf8)
1*508a0e8cSRob Johnston.\"
2*508a0e8cSRob Johnston.\" This file and its contents are supplied under the terms of the
3*508a0e8cSRob Johnston.\" Common Development and Distribution License ("CDDL"), version 1.0.
4*508a0e8cSRob Johnston.\" You may only use this file in accordance with the terms of version
5*508a0e8cSRob Johnston.\" 1.0 of the CDDL.
6*508a0e8cSRob Johnston.\"
7*508a0e8cSRob Johnston.\" A full copy of the text of the CDDL should have accompanied this
8*508a0e8cSRob Johnston.\" source.  A copy of the CDDL is also available via the Internet at
9*508a0e8cSRob Johnston.\" http://www.illumos.org/license/CDDL.
10*508a0e8cSRob Johnston.\"
11*508a0e8cSRob Johnston.\"
12*508a0e8cSRob Johnston.\" Copyright 2019 Joyent, Inc.
13*508a0e8cSRob Johnston.\"
14*508a0e8cSRob Johnston.Dd Apr 30, 2019
15*508a0e8cSRob Johnston.Dt DDI_UFM_IMAGE 9F
16*508a0e8cSRob Johnston.Os
17*508a0e8cSRob Johnston.Sh NAME
18*508a0e8cSRob Johnston.Nm ddi_ufm_image_set_desc ,
19*508a0e8cSRob Johnston.Nm ddi_ufm_image_set_misc ,
20*508a0e8cSRob Johnston.Nm ddi_ufm_image_set_nslots
21*508a0e8cSRob Johnston.Nd UFM image property routines
22*508a0e8cSRob Johnston.Sh SYNOPSIS
23*508a0e8cSRob Johnston.In sys/ddi_ufm.h
24*508a0e8cSRob Johnston.Ft void
25*508a0e8cSRob Johnston.Fo ddi_ufm_image_set_desc
26*508a0e8cSRob Johnston.Fa "ddi_ufm_image_t *uip"
27*508a0e8cSRob Johnston.Fa "const char *description"
28*508a0e8cSRob Johnston.Fc
29*508a0e8cSRob Johnston.Ft void
30*508a0e8cSRob Johnston.Fo ddi_ufm_image_set_misc
31*508a0e8cSRob Johnston.Fa "ddi_ufm_image_t *uip"
32*508a0e8cSRob Johnston.Fa "nvlist_t *nvl"
33*508a0e8cSRob Johnston.Fc
34*508a0e8cSRob Johnston.Ft void
35*508a0e8cSRob Johnston.Fo ddi_ufm_image_set_nslots
36*508a0e8cSRob Johnston.Fa "ddi_ufm_image_t *uip"
37*508a0e8cSRob Johnston.Fa "uint_t nslots"
38*508a0e8cSRob Johnston.Fc
39*508a0e8cSRob Johnston.Sh INTERFACE LEVEL
40*508a0e8cSRob Johnston.Sy Evolving -
41*508a0e8cSRob JohnstonThis interface is evolving still in illumos.
42*508a0e8cSRob JohnstonAPI and ABI stability is not guaranteed.
43*508a0e8cSRob Johnston.Sh PARAMETERS
44*508a0e8cSRob Johnston.Bl -tag -width Fa
45*508a0e8cSRob Johnston.It Fa uip
46*508a0e8cSRob JohnstonA pointer to a UFM image that was passed to the driver in its
47*508a0e8cSRob Johnston.Xr ddi_ufm_op_fill_image 9E
48*508a0e8cSRob Johnstonentry point.
49*508a0e8cSRob Johnston.It Fa description
50*508a0e8cSRob JohnstonA human-readable description of the firmware image.
51*508a0e8cSRob Johnston.It Fa nvl
52*508a0e8cSRob JohnstonAn nvlist_t with ancillary, device-specific data.
53*508a0e8cSRob Johnston.It Fa nslots
54*508a0e8cSRob JohnstonThe number of firmware slots supported by this firmare image.
55*508a0e8cSRob Johnston.El
56*508a0e8cSRob Johnston.Sh DESCRIPTION
57*508a0e8cSRob JohnstonThe
58*508a0e8cSRob Johnston.Fn ddi_ufm_image_set_desc ,
59*508a0e8cSRob Johnston.Fn ddi_ufm_image_set_misc
60*508a0e8cSRob Johnstonand
61*508a0e8cSRob Johnston.Fn ddi_ufm_image_set_nslots
62*508a0e8cSRob Johnstonfunctions are used by device drivers to set information about a firmware
63*508a0e8cSRob Johnstonimage on the image structure
64*508a0e8cSRob Johnston.Fa uip
65*508a0e8cSRob Johnstonas a part of implementing their
66*508a0e8cSRob Johnston.Xr ddi_ufm_op_fill_image 9E
67*508a0e8cSRob Johnstonentry point.
68*508a0e8cSRob JohnstonFor more information on images and the use of these functions, see the
69*508a0e8cSRob Johnstondescription of the
70*508a0e8cSRob Johnston.Fn ddi_ufm_op_fill_image
71*508a0e8cSRob Johnstonfunction in
72*508a0e8cSRob Johnston.Xr ddi_ufm 9E .
73*508a0e8cSRob Johnston.Pp
74*508a0e8cSRob JohnstonThe
75*508a0e8cSRob Johnston.Fn ddi_ufm_image_set_desc
76*508a0e8cSRob Johnstonfunction sets the description of the firmware image.
77*508a0e8cSRob JohnstonThis description is intended for administrators and should convey the intended
78*508a0e8cSRob Johnstonuse of the image.
79*508a0e8cSRob Johnston.Pp
80*508a0e8cSRob JohnstonThe
81*508a0e8cSRob Johnston.Fn ddi_ufm_image_set_misc
82*508a0e8cSRob Johnstonfunction is used by drivers to set ancillary key-value data that may be
83*508a0e8cSRob Johnstonuseful to a consumer.
84*508a0e8cSRob JohnstonThe driver should create an nvlist for this purpose with
85*508a0e8cSRob Johnston.Xr nvlist_alloc 9F
86*508a0e8cSRob JohnstonOnce the driver passes the nvlist to the
87*508a0e8cSRob Johnston.Fn ddi_ufm_image_set_misc
88*508a0e8cSRob Johnstonfunction, then the driver must not manipulate or free the nvlist at all.
89*508a0e8cSRob JohnstonIt is the property of the UFM subsystem.
90*508a0e8cSRob Johnston.Pp
91*508a0e8cSRob JohnstonThe
92*508a0e8cSRob Johnston.Fn ddi_ufm_image_set_nslots
93*508a0e8cSRob Johnstonfunction should be called to indicate the number of firmware slots supported
94*508a0e8cSRob Johnstonby this firmware image.
95*508a0e8cSRob Johnston.Sh CONTEXT
96*508a0e8cSRob JohnstonThese functions should only be called in the context of the
97*508a0e8cSRob Johnston.Xr ddi_ufm_op_fill_image 9E
98*508a0e8cSRob Johnstonentry point.
99*508a0e8cSRob Johnston.Sh SEE ALSO
100*508a0e8cSRob Johnston.Xr ddi_ufm 9E ,
101*508a0e8cSRob Johnston.Xr ddi_ufm_op_fill_image 9E ,
102*508a0e8cSRob Johnston.Xr nvlist_alloc 9F
103