1.\" 2.\" This file and its contents are supplied under the terms of the 3.\" Common Development and Distribution License ("CDDL"), version 1.0. 4.\" You may only use this file in accordance with the terms of version 5.\" 1.0 of the CDDL. 6.\" 7.\" A full copy of the text of the CDDL should have accompanied this 8.\" source. A copy of the CDDL is also available via the Internet at 9.\" http://www.illumos.org/license/CDDL. 10.\" 11.\" 12.\" Copyright 2019 Joyent, Inc. 13.\" 14.Dd Apr 30, 2019 15.Dt DDI_UFM_SLOT 9F 16.Os 17.Sh NAME 18.Nm ddi_ufm_slot , 19.Nm ddi_ufm_slot_set_version , 20.Nm ddi_ufm_slot_set_attrs , 21.Nm ddi_ufm_slot_set_misc 22.Nd UFM slot property routines 23.Sh SYNOPSIS 24#include <sys/ddi_ufm.h> 25.sp 26.Ft void 27.Fo ddi_ufm_slot_set_version 28.Fa "ddi_ufm_slot_t *usp" 29.Fa "const char *version" 30.Fc 31.Ft void 32.Fo ddi_ufm_slot_set_attrs 33.Fa "ddi_ufm_slot_t *usp" 34.Fa "ddi_ufm_attr_t attrs" 35.Fc 36.Ft void 37.Fo ddi_ufm_slot_set_misc 38.Fa "ddi_ufm_slot_t *usp" 39.Fa "nvlist_t *nvl" 40.Fc 41.Sh INTERFACE LEVEL 42.Sy Evolving - 43This interface is evolving still in illumos. 44API and ABI stability is not guaranteed. 45.Sh PARAMETERS 46.Bl -tag -width Fa 47.It Fa usp 48A pointer to a UFM slot structure that was passed to the driver in its 49.Xr ddi_ufm_op_fill_slot 9E 50entry point. 51.It Fa version 52A device-specific ASCII string that indicates the current version of the 53firmware image in the slot. 54.It Fa attrs 55The bitwise-inclusive-OR of one of several attributes of a firmware 56slot. 57See the discussion of the 58.Fn ddi_ufm_op_fill_slot 59function in 60.Xr ddi_ufm 9E . 61.It Fa nvl 62An nvlist_t with ancillary, device-specific data. 63.El 64.Sh DESCRIPTION 65The 66.Fn ddi_ufm_slot_set_version , 67.Fn ddi_ufm_slot_set_attrs , 68and 69.Fn ddi_ufm_slot_set_misc 70functions are used by device drivers to set information about a firmware 71slot on the slot structure 72.Fa usp 73as a part of implementing their 74.Xr ddi_ufm_op_fill_slot 9E 75entry point. 76For more information on slots and the use of these functions, see the 77description of the 78.Fn ddi_ufm_op_fill_slot 79function in 80.Xr ddi_ufm 9E . 81.Pp 82The 83.Fn ddi_ufm_slot_set_version 84function sets the version property of a firmware slot. 85The version should be a human-readable ASCII string that describes the current 86firmware revision in a way that makes sense to an administrator and someone 87who is referencing the documentation of a vendor. 88.Pp 89The 90.Fn ddi_ufm_slot_set_attrs 91function describes attributes of a UFM slot as defined by the 92ddi_ufm_attr_t enum. 93.Pp 94The 95.Fn ddi_ufm_slot_set_misc 96function is used by the driver to set ancillary key-value data that may 97be useful to a consumer. 98For example, a driver may use this method to encode specific information that 99the firmware provides about how or when it was produced or installed on the 100device. 101The driver should create an nvlist for this purpose with 102.Xr nvlist_alloc 9F . 103Once the driver passes the nvlist to the 104.Fn ddi_ufm_slot_set_misc 105function, then the driver must not manipulate or free the nvlist at all. 106It is the property of the UFM subsystem. 107.Sh CONTEXT 108These functions should only be called in the context of the 109.Xr ddi_ufm_op_fill_slot 9E 110entry point. 111.Sh SEE ALSO 112