1.\" Copyright (c) 2001 2.\" Kazutaka YOKOTA <yokota@zodiac.mech.utsunomiya-u.ac.jp> 3.\" All rights reserved. 4.\" 5.\" Redistribution and use in source and binary forms, with or without 6.\" modification, are permitted provided that the following conditions 7.\" are met: 8.\" 1. Redistributions of source code must retain the above copyright 9.\" notice, this list of conditions and the following disclaimer as 10.\" the first lines of this file unmodified. 11.\" 2. Redistributions in binary form must reproduce the above copyright 12.\" notice, this list of conditions and the following disclaimer in the 13.\" documentation and/or other materials provided with the distribution. 14.\" 15.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 16.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 17.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 18.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 19.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 20.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 21.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 22.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 23.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 24.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25.\" 26.\" $FreeBSD$ 27.\" 28.Dd November 19, 2019 29.Dt DEVICE.HINTS 5 30.Os 31.Sh NAME 32.Nm device.hints 33.Nd device resource hints 34.Sh DESCRIPTION 35The 36.Nm 37file is read in by the boot 38.Xr loader 8 39when the system is about to start, and its contents are 40passed to the kernel. 41It contains various variables to control the boot behavior of 42the kernel. 43These variables are typically 44.Dq device hints , 45but can include any kernel tunable values. 46.Pp 47The file contains one variable per line. 48Lines starting with the 49.Ql # 50character are comments and are ignored by the boot loader. 51.Pp 52After the file is read by the boot loader, you may examine 53the variables with the 54.Ic show 55command, and may add a new variable, modify an existing one, 56or delete a variable with the 57.Ic set 58and 59.Ic unset 60commands of the boot loader 61(see 62.Xr loader 8 ) . 63.Pp 64After the system has started, you can dump these variables 65with the 66.Xr kenv 1 67command. 68.Sh DEVICE HINTS 69Device hint variables are used by device drivers to set up 70the device. 71They are most often used by ISA device drivers to specify 72where the driver will probe for the relevant devices, and what 73resources it will attempt to use. 74.Pp 75A device hint line looks like: 76.Pp 77.Sm off 78.D1 Li hint. Ar driver . Ar unit . Ar keyword Li = Qq Ar value 79.Sm on 80.Pp 81where 82.Ar driver 83is the name of a device driver, 84.Ar unit 85is the unit number, and 86.Ar keyword 87is the keyword of the hint. 88The keyword may be: 89.Pp 90.Bl -tag -width ".Li disabled" -compact -offset indent 91.It Li at 92specifies a bus to which the device is attached. 93.It Li port 94specifies the start address of I/O ports to be used by the device. 95.It Li portsize 96specifies the number of ports used by the device. 97.It Li irq 98is the interrupt line number to be used. 99.It Li drq 100is the DMA channel number. 101.It Li maddr 102specifies the physical memory address used by the device. 103.It Li msize 104specifies the physical memory size used by the device. 105.It Li flags 106sets various flag bits for the device. 107.It Li disabled 108can be set to 109.Qq 1 110to disable the device. 111.El 112.Pp 113A device driver may require one or more hint lines with these keywords, 114and may accept other keywords not listed here, through 115.Xr resource_int_value 9 . 116Consult individual device drivers' manual pages for available 117keywords and their possible values. 118.\" .Sh CONTROL VARIABLES 119.\" Lines not starting with 120.\" .Dq hint. 121.\" specify other control variables for the kernel. 122.\" They look: 123.\" .Pp 124.\" .Dl <name>="<value>" 125.\" XXX 126.\" WE SHOULD LIST AVAILABLE VARIABLE NAMES AND THEIR POSSIBLE VALUES HERE! 127.\" .Pp 128.Sh FILES 129.Bl -tag -width ".Pa /sys/ Ns Ar ARCH Ns Pa /conf/GENERIC.hints" -compact 130.It Pa /boot/device.hints 131Device resource hints file. 132.It Pa /sys/ Ns Ar ARCH Ns Pa /conf/GENERIC.hints 133Sample resource hints for the 134.Pa GENERIC 135kernel. 136.It Pa /sys/ Ns Ar ARCH Ns Pa /conf/NOTES 137Notes on the kernel configuration file and device resource hints. 138.El 139.Sh EXAMPLES 140The following example sets up resources for the 141.Xr uart 4 142driver on the ISA bus: 143.Bd -literal -offset indent 144hint.uart.0.at="isa" 145hint.uart.0.port="0x3F8" 146hint.uart.0.flags="0x10" 147hint.uart.0.irq="4" 148.Ed 149.Pp 150The following example disables the ACPI driver: 151.Bd -literal -offset indent 152hint.acpi.0.disabled="1" 153.Ed 154.Pp 155Setting a tunable variable: 156.Bd -literal -offset indent 157vm.pmap.pg_ps_enabled=1 158.Ed 159.Sh SEE ALSO 160.Xr kenv 1 , 161.Xr loader.conf 5 , 162.Xr loader 8 , 163.Xr resource_int_value 9 164.Sh HISTORY 165The 166.Nm 167file first appeared in 168.Fx 5.0 . 169