diff options
| author | Jacob McDonnell <jacob@jacobmcdonnell.com> | 2026-04-25 15:32:58 -0400 |
|---|---|---|
| committer | Jacob McDonnell <jacob@jacobmcdonnell.com> | 2026-04-25 15:32:58 -0400 |
| commit | 5cb84ec742fd33f78c8022863fadaa8d0d93e176 (patch) | |
| tree | 1a81ca3665e6153923e40db7b0d988f8573ab59c /static/netbsd/man9/firmload.9 | |
| parent | a59214f344567c037d5776879bcfc5fcc1d4d5f6 (diff) | |
feat: Added NetBSD man pages
Diffstat (limited to 'static/netbsd/man9/firmload.9')
| -rw-r--r-- | static/netbsd/man9/firmload.9 | 135 |
1 files changed, 135 insertions, 0 deletions
diff --git a/static/netbsd/man9/firmload.9 b/static/netbsd/man9/firmload.9 new file mode 100644 index 00000000..6c4832d2 --- /dev/null +++ b/static/netbsd/man9/firmload.9 @@ -0,0 +1,135 @@ +.\" $NetBSD: firmload.9,v 1.10 2018/03/16 02:35:56 sevan Exp $ +.\" +.\" Copyright (c) 2006 The NetBSD Foundation, Inc. +.\" All rights reserved. +.\" +.\" This code is derived from software contributed to The NetBSD Foundation +.\" by Jason R. Thorpe. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +.\" POSSIBILITY OF SUCH DAMAGE. +.\" +.Dd March 16, 2018 +.Dt FIRMLOAD 9 +.Os +.Sh NAME +.Nm firmload +.Nd Firmware loader API for device drivers +.Sh SYNOPSIS +.In dev/firmload.h +.\" +.Ft int +.Fn "firmware_open" "const char *drvname" "const char *imgname" \ +"firmware_handle_t *fhp" +.\" +.Ft int +.Fn "firmware_close" "firmware_handle_t fh" +.\" +.Ft off_t +.Fn "firmware_get_size" "firmware_handle_t fh" +.\" +.Ft int +.Fn "firmware_read" "firmware_handle_t fh" "off_t offset" "void *buf" \ +"size_t size" +.\" +.Ft void * +.Fn "firmware_malloc" "size_t size" +.\" +.Ft void +.Fn "firmware_free" "void *buf" "size_t size" +.Sh DESCRIPTION +.Nm +provides a simple and convenient API for device drivers to load firmware +images from files residing in the file system that are necessary for the +devices that they control. +Firmware images reside in sub-directories, one for each driver, of a series +of colon-separated path prefixes specified by the sysctl variable +.Dv hw.firmware.path . +.Sh FUNCTIONS +The following functions are provided by the +.Nm +API: +.Bl -tag -width indent +.It Fn "firmware_open" "drvname" "imgname" "fhp" +.Pp +Open the firmware image +.Fa imgname +for the driver +.Fa drvname . +The path to the firmware image file is constructed by appending the string +.Dq "/drvname/imgname" +to each configured path prefix until opening the firmware image file succeeds. +Upon success, +.Fn firmware_open +returns 0 and stores a firmware image handle in the location pointed to by +.Fa fhp . +Otherwise, an error code is returned to indicate the reason for failure. +.It Fn "firmware_close" "fh" +.Pp +Close the firmware image file associated with the firmware handle +.Fa fh . +Returns 0 upon success or an error code to indicate the reason for failure. +.It Fn "firmware_get_size" "fh" +.Pp +Returns the size of the image file associated with the firmware handle +.Fa fh . +.It Fn "firmware_read" "fh" "offset" "buf" "size" +.Pp +Reads from the image file associated with the firmware handle +.Fa fh +beginning at offset +.Fa offset +for length +.Fa size . +The firmware image data is placed into the buffer specified by +.Fa buf . +Returns 0 upon success or an error code to indicate the reason for failure. +.It Fn "firmware_malloc" "size" +.Pp +Allocates a region of wired kernel memory of size +.Fa size . +Note: +.Fn firmware_malloc +may block. +.It Fn "firmware_free" "buf" "size" +.Pp +Frees a region of memory previously allocated by +.Fn firmware_malloc . +.El +.Sh FILES +Default search path for firmware +.Bl -tag -width /libdata/firmware -compact +.It Pa /libdata/firmware +.It Pa /usr/libdata/firmware +.It Pa /usr/pkg/libdata/firmware +.It Pa /usr/pkg/libdata +.El +.Sh SEE ALSO +.Xr autoconf 9 , +.Xr malloc 9 , +.Xr vnsubr 9 +.Sh HISTORY +The +.Nm +framework first appeared in +.Nx 4.0 . +.Sh AUTHORS +.An Jason Thorpe Aq Mt thorpej@NetBSD.org |
