xref: /freebsd/share/man/man5/device.hints.5 (revision cab6a39d7b343596a5823e65c0f7b426551ec22d)
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