xref: /freebsd/share/man/man4/vmd.4 (revision c013ca2cf772194de340aeb452a6ccfe7e1cecd8)
1f2521a76SDoug Ambrisko.\"-
24d846d26SWarner Losh.\" SPDX-License-Identifier: BSD-2-Clause
3f2521a76SDoug Ambrisko.\"
47af4475aSAlexander Motin.\" Copyright (c) 2021 Alexander Motin <mav@FreeBSD.org>
5f2521a76SDoug Ambrisko.\" Copyright 2019 Cisco Systems, Inc.
6f2521a76SDoug Ambrisko.\"
7f2521a76SDoug Ambrisko.\" Redistribution and use in source and binary forms, with or without
8f2521a76SDoug Ambrisko.\" modification, are permitted provided that the following conditions
9f2521a76SDoug Ambrisko.\" are met:
10f2521a76SDoug Ambrisko.\" 1. Redistributions of source code must retain the above copyright
11f2521a76SDoug Ambrisko.\"    notice, this list of conditions and the following disclaimer.
12f2521a76SDoug Ambrisko.\" 2. Redistributions in binary form must reproduce the above copyright
13f2521a76SDoug Ambrisko.\"    notice, this list of conditions and the following disclaimer in the
14f2521a76SDoug Ambrisko.\"    documentation and/or other materials provided with the distribution.
15f2521a76SDoug Ambrisko.\"
16f2521a76SDoug Ambrisko.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
17f2521a76SDoug Ambrisko.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18f2521a76SDoug Ambrisko.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19f2521a76SDoug Ambrisko.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
20f2521a76SDoug Ambrisko.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21f2521a76SDoug Ambrisko.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
22f2521a76SDoug Ambrisko.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23f2521a76SDoug Ambrisko.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
24f2521a76SDoug Ambrisko.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
25f2521a76SDoug Ambrisko.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
26f2521a76SDoug Ambrisko.\" SUCH DAMAGE.
27f2521a76SDoug Ambrisko.\"
28c28220d8SAlexander Motin.Dd October 6, 2022
29f2521a76SDoug Ambrisko.Dt VMD 4
30f2521a76SDoug Ambrisko.Os
31f2521a76SDoug Ambrisko.Sh NAME
32f2521a76SDoug Ambrisko.Nm vmd
33f2521a76SDoug Ambrisko.Nd Intel Volume Management Device driver
34f2521a76SDoug Ambrisko.Sh SYNOPSIS
35f2521a76SDoug AmbriskoTo compile this driver into the kernel, place the following lines in your
36f2521a76SDoug Ambriskokernel configuration file:
37*c013ca2cSGraham Percival.Bd -ragged -offset indent
38f2521a76SDoug Ambrisko.Cd "device vmd"
39f2521a76SDoug Ambrisko.Ed
40f2521a76SDoug Ambrisko.Pp
41f2521a76SDoug AmbriskoAlternatively, to load the driver as a module at boot time, place the following
42f2521a76SDoug Ambriskoline in
43f2521a76SDoug Ambrisko.Xr loader.conf 5 :
44f2521a76SDoug Ambrisko.Bd -literal -offset indent
45f2521a76SDoug Ambriskovmd_load="YES"
46f2521a76SDoug Ambrisko.Ed
47f2521a76SDoug Ambrisko.Sh DESCRIPTION
487af4475aSAlexander MotinThis driver attaches to Intel VMD devices, representing them as PCI-to-PCI
497af4475aSAlexander Motinbridges and providing access to children PCI devices via new PCI domains.
507af4475aSAlexander MotinIntel VMD is used by Intel's VROC (Virtual RAID on chip) to manage NVMe
517af4475aSAlexander Motindrives.
527af4475aSAlexander Motin.Sh LOADER TUNABLES
537af4475aSAlexander MotinThe following tunables are settable via
547af4475aSAlexander Motin.Xr loader 8
557af4475aSAlexander Motinor
567af4475aSAlexander Motin.Xr sysctl 8 :
577af4475aSAlexander Motin.Bl -tag -width indent
58c28220d8SAlexander Motin.It Va hw.vmd.bypass_msi
59c28220d8SAlexander MotinBy default all VMD devices remap children MSI/MSI-X interrupts into their
60c28220d8SAlexander Motinown.  It creates additional isolation, but also complicates things due to
61c28220d8SAlexander Motinsharing, etc.  Fortunately some VMD devices can bypass the remapping.
62c28220d8SAlexander MotinDefaults to 1.
637af4475aSAlexander Motin.It Va hw.vmd.max_msi
647af4475aSAlexander MotinLimits number of Message Signaled Interrupt (MSI) vectors allowed to each
657af4475aSAlexander Motinchild device.
667af4475aSAlexander MotinVMD can't distinguish MSI vectors of the same device, so there are no
677af4475aSAlexander Motinbenefits to have more than one, unless it is required by specific device
687af4475aSAlexander Motindriver.
697af4475aSAlexander MotinDefaults to 1.
707af4475aSAlexander Motin.It Va hw.vmd.max_msix
717af4475aSAlexander MotinLimits number of Extended Message Signaled Interrupt (MSI-X) vectors
727af4475aSAlexander Motinallowed to each child device.
737af4475aSAlexander MotinVMD has limited number of interrupt vectors to map children interrupts into,
747af4475aSAlexander Motinso to avoid/reduce sharing children devices/drivers need to be constrained.
757af4475aSAlexander MotinDefaults to 3.
767af4475aSAlexander Motin.El
77f2521a76SDoug Ambrisko.Sh SEE ALSO
78f2521a76SDoug Ambrisko.Xr graid 8
79f2521a76SDoug Ambrisko.Sh HISTORY
80f2521a76SDoug AmbriskoThe
81f2521a76SDoug Ambrisko.Nm
82f2521a76SDoug Ambriskodriver first appeared in
83f2521a76SDoug Ambrisko.Fx 13.0 .
84