Home
last modified time | relevance | path

Searched +full:virtio +full:- +full:device (Results 1 – 25 of 334) sorted by relevance

12345678910>>...14

/kernel/linux/linux-6.6/drivers/virtio/
DKconfig1 # SPDX-License-Identifier: GPL-2.0-only
5 config VIRTIO config
9 This option is selected by any driver which implements the virtio
16 Modern PCI device implementation. This module implements the
18 PCI device with possible vendor specific extensions. Any
24 Legacy PCI device (Virtio PCI Card 0.9.x Draft and older device)
27 which are based on legacy PCI device. Any module that selects this
31 bool "Virtio drivers"
37 bool "Harden virtio notification"
40 Enable this to harden the device notifications and suppress
[all …]
Dvirtio_pci_legacy_dev.c1 // SPDX-License-Identifier: GPL-2.0-or-later
10 * vp_legacy_probe: probe the legacy virtio pci device, note that the
11 * caller is required to enable PCI device before calling this function.
12 * @ldev: the legacy virtio-pci device
18 struct pci_dev *pci_dev = ldev->pci_dev; in vp_legacy_probe()
22 if (pci_dev->device < 0x1000 || pci_dev->device > 0x103f) in vp_legacy_probe()
23 return -ENODEV; in vp_legacy_probe()
25 if (pci_dev->revision != VIRTIO_PCI_ABI_VERSION) in vp_legacy_probe()
26 return -ENODEV; in vp_legacy_probe()
28 rc = dma_set_mask(&pci_dev->dev, DMA_BIT_MASK(64)); in vp_legacy_probe()
[all …]
Dvirtio_pci_modern_dev.c1 // SPDX-License-Identifier: GPL-2.0-or-later
9 * vp_modern_map_capability - map a part of virtio pci capability
10 * @mdev: the modern virtio-pci device
26 struct pci_dev *dev = mdev->pci_dev; in vp_modern_map_capability()
40 if (bar >= PCI_STD_NUM_BARS || !(mdev->modern_bars & (1 << bar))) { in vp_modern_map_capability()
41 dev_err(&dev->dev, in vp_modern_map_capability()
47 dev_err(&dev->dev, in vp_modern_map_capability()
53 if (length - start < minlen) { in vp_modern_map_capability()
54 dev_err(&dev->dev, in vp_modern_map_capability()
60 length -= start; in vp_modern_map_capability()
[all …]
/kernel/linux/linux-6.6/Documentation/driver-api/virtio/
Dvirtio.rst1 .. SPDX-License-Identifier: GPL-2.0
6 Virtio on Linux
12 Virtio is an open standard that defines a protocol for communication
13 between drivers and devices of different types, see Chapter 5 ("Device
14 Types") of the virtio spec (`[1]`_). Originally developed as a standard
16 to interface any compliant device (real or emulated) with a driver.
20 devices provided by the hypervisor, which exposes them as virtio devices
24 Device - Driver communication: virtqueues
27 Although the virtio devices are really an abstraction layer in the
29 using a specific transport method -- PCI, MMIO or CCW -- that is
[all …]
Dwriting_virtio_drivers.rst1 .. SPDX-License-Identifier: GPL-2.0
6 Writing Virtio Drivers
13 need to hack a new virtio driver or understand the essentials of the
14 existing ones. See :ref:`Virtio on Linux <virtio>` for a general
15 overview of virtio.
21 As a bare minimum, a virtio driver needs to register in the virtio bus
22 and configure the virtqueues for the device according to its spec, the
24 virtqueue definitions in the device. A basic driver skeleton could look
27 #include <linux/virtio.h>
32 /* device private data (one per device) */
[all …]
/kernel/linux/linux-5.10/drivers/virtio/
DKconfig1 # SPDX-License-Identifier: GPL-2.0-only
2 config VIRTIO config
5 This option is selected by any driver which implements the virtio
16 bool "Virtio drivers"
22 tristate "PCI driver for virtio devices"
24 select VIRTIO
26 This driver provides support for virtio based paravirtual device
28 virtio backends. Most QEMU based VMMs should support these devices
34 bool "Support for legacy virtio draft 0.9.X and older devices"
38 Virtio PCI Card 0.9.X Draft (circa 2014) and older device support.
[all …]
/kernel/linux/linux-6.6/drivers/crypto/virtio/
Dvirtio_crypto_mgr.c1 // SPDX-License-Identifier: GPL-2.0-or-later
2 /* Management for virtio crypto devices (refer to adf_dev_mgr.c)
24 * virtcrypto_devmgr_add_dev() - Add vcrypto_dev to the acceleration
26 * @vcrypto_dev: Pointer to virtio crypto device.
28 * Function adds virtio crypto device to the global list.
29 * To be used by virtio crypto device specific drivers.
42 return -EFAULT; in virtcrypto_devmgr_add_dev()
51 return -EEXIST; in virtcrypto_devmgr_add_dev()
54 atomic_set(&vcrypto_dev->ref_count, 0); in virtcrypto_devmgr_add_dev()
55 list_add_tail(&vcrypto_dev->list, &virtio_crypto_table); in virtcrypto_devmgr_add_dev()
[all …]
/kernel/linux/linux-5.10/drivers/crypto/virtio/
Dvirtio_crypto_mgr.c1 // SPDX-License-Identifier: GPL-2.0-or-later
2 /* Management for virtio crypto devices (refer to adf_dev_mgr.c)
24 * virtcrypto_devmgr_add_dev() - Add vcrypto_dev to the acceleration
26 * @vcrypto_dev: Pointer to virtio crypto device.
28 * Function adds virtio crypto device to the global list.
29 * To be used by virtio crypto device specific drivers.
42 return -EFAULT; in virtcrypto_devmgr_add_dev()
51 return -EEXIST; in virtcrypto_devmgr_add_dev()
54 atomic_set(&vcrypto_dev->ref_count, 0); in virtcrypto_devmgr_add_dev()
55 list_add_tail(&vcrypto_dev->list, &virtio_crypto_table); in virtcrypto_devmgr_add_dev()
[all …]
/kernel/linux/linux-6.6/Documentation/devicetree/bindings/virtio/
Dvirtio-device.yaml1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
3 ---
4 $id: http://devicetree.org/schemas/virtio/virtio-device.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Virtio device
10 - Viresh Kumar <viresh.kumar@linaro.org>
13 These bindings are applicable to virtio devices irrespective of the bus they
16 # We need a select here so we don't match all nodes with 'virtio,mmio'
19 pattern: "^virtio,device[0-9a-f]{1,8}$"
20 description: Virtio device nodes.
[all …]
Dmmio.yaml1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
3 ---
4 $id: http://devicetree.org/schemas/virtio/mmio.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: virtio memory mapped devices
10 - Jean-Philippe Brucker <jean-philippe@linaro.org>
13 See https://www.oasis-open.org/committees/tc_home.php?wg_abbrev=virtio for
18 const: virtio,mmio
23 dma-coherent: true
28 '#iommu-cells':
[all …]
/kernel/linux/linux-6.6/tools/virtio/virtio-trace/
DREADME1 Trace Agent for virtio-trace
6 - splice a page of ring-buffer to read_pipe without memory copying
7 - splice the page from write_pipe to virtio-console without memory copying
8 - write trace data to stdout by using -o option
9 - controlled by start/stop orders from a Host
18 5) The read/write threads start to read trace data from ring-buffers and
19 write the data to virtio-serial.
28 Makefile: Makefile of trace agent for virtio-trace
29 trace-agent.c: includes main function, sets up for operating trace agent
30 trace-agent.h: includes all structures and some macros
[all …]
/kernel/linux/linux-5.10/tools/virtio/virtio-trace/
DREADME1 Trace Agent for virtio-trace
6 - splice a page of ring-buffer to read_pipe without memory copying
7 - splice the page from write_pipe to virtio-console without memory copying
8 - write trace data to stdout by using -o option
9 - controlled by start/stop orders from a Host
18 5) The read/write threads start to read trace data from ring-buffers and
19 write the data to virtio-serial.
28 Makefile: Makefile of trace agent for virtio-trace
29 trace-agent.c: includes main function, sets up for operating trace agent
30 trace-agent.h: includes all structures and some macros
[all …]
/kernel/linux/linux-5.10/Documentation/devicetree/bindings/virtio/
Dmmio.txt1 * virtio memory mapped device
3 See https://ozlabs.org/~rusty/virtio-spec/ for more details.
7 - compatible: "virtio,mmio" compatibility string
8 - reg: control registers base address and size including configuration space
9 - interrupts: interrupt generated by the device
11 Required properties for virtio-iommu:
13 - #iommu-cells: When the node corresponds to a virtio-iommu device, it is
14 linked to DMA masters using the "iommus" or "iommu-map"
15 properties [1][2]. #iommu-cells specifies the size of the
16 "iommus" property. For virtio-iommu #iommu-cells must be
[all …]
Diommu.txt1 * virtio IOMMU PCI device
3 When virtio-iommu uses the PCI transport, its programming interface is
5 device tree statically describes the relation between IOMMU and DMA
6 masters. Therefore, the PCI root complex that hosts the virtio-iommu
7 contains a child node representing the IOMMU device explicitly.
11 - compatible: Should be "virtio,pci-iommu"
12 - reg: PCI address of the IOMMU. As defined in the PCI Bus
13 Binding reference [1], the reg property is a five-cell
15 size.lo). phys.hi should contain the device's BDF as
18 - #iommu-cells: Each platform DMA master managed by the IOMMU is assigned
[all …]
/kernel/linux/linux-6.6/Documentation/devicetree/bindings/i2c/
Di2c-virtio.yaml1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
3 ---
4 $id: http://devicetree.org/schemas/i2c/i2c-virtio.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Virtio I2C Adapter
10 - Viresh Kumar <viresh.kumar@linaro.org>
13 - $ref: /schemas/i2c/i2c-controller.yaml#
14 - $ref: /schemas/virtio/virtio-device.yaml#
17 Virtio I2C device, see /schemas/virtio/virtio-device.yaml for more details.
24 const: virtio,device22
[all …]
/kernel/linux/linux-6.6/include/uapi/linux/
Dvirtio_ids.h4 * Virtio IDs
32 #define VIRTIO_ID_NET 1 /* virtio net */
33 #define VIRTIO_ID_BLOCK 2 /* virtio block */
34 #define VIRTIO_ID_CONSOLE 3 /* virtio console */
35 #define VIRTIO_ID_RNG 4 /* virtio rng */
36 #define VIRTIO_ID_BALLOON 5 /* virtio balloon */
37 #define VIRTIO_ID_IOMEM 6 /* virtio ioMemory */
38 #define VIRTIO_ID_RPMSG 7 /* virtio remote processor messaging */
39 #define VIRTIO_ID_SCSI 8 /* virtio scsi */
40 #define VIRTIO_ID_9P 9 /* 9p virtio console */
[all …]
/kernel/linux/linux-6.6/sound/virtio/
Dvirtio_card.h1 /* SPDX-License-Identifier: GPL-2.0+ */
3 * virtio-snd: Virtio sound device
10 #include <linux/virtio.h>
17 #define VIRTIO_SND_CARD_DRIVER "virtio-snd"
18 #define VIRTIO_SND_CARD_NAME "VirtIO SoundCard"
19 #define VIRTIO_SND_PCM_NAME "VirtIO PCM"
25 * struct virtio_snd_queue - Virtqueue wrapper structure.
35 * struct virtio_snd - VirtIO sound card device.
36 * @vdev: Underlying virtio device.
40 * @event_msgs: Device events.
[all …]
Dvirtio_pcm.h1 /* SPDX-License-Identifier: GPL-2.0+ */
3 * virtio-snd: Virtio sound device
17 * struct virtio_pcm_substream - VirtIO PCM substream.
18 * @snd: VirtIO sound device.
22 * @features: Stream VirtIO feature bit map (1 << VIRTIO_SND_PCM_F_XXX).
30 * @xfer_enabled: Data transfer state (0 - off, 1 - on).
31 * @xfer_xrun: Data underflow/overflow state (0 - no xrun, 1 - xrun).
32 * @stopped: True if the substream is stopped and must be released on the device
35 * the device side at resume.
66 * struct virtio_pcm_stream - VirtIO PCM stream.
[all …]
/kernel/linux/linux-6.6/Documentation/devicetree/bindings/gpio/
Dgpio-virtio.yaml1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
3 ---
4 $id: http://devicetree.org/schemas/gpio/gpio-virtio.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Virtio GPIO controller
10 - Viresh Kumar <viresh.kumar@linaro.org>
13 - $ref: /schemas/virtio/virtio-device.yaml#
16 Virtio GPIO controller, see /schemas/virtio/virtio-device.yaml for more
24 const: virtio,device29
26 gpio-controller: true
[all …]
/kernel/linux/linux-6.6/Documentation/staging/
Dremoteproc.rst10 of operating system, whether it's Linux or any other flavor of real-time OS.
12 OMAP4, for example, has dual Cortex-A9, dual Cortex-M3 and a C64x+ DSP.
13 In a typical configuration, the dual cortex-A9 is running Linux in a SMP
20 duplicated. In addition, this framework also adds rpmsg virtio devices
22 platform-specific remoteproc drivers only need to provide a few low-level
24 (for more information about the virtio-based rpmsg bus and its drivers,
26 Registration of other types of virtio devices is now also possible. Firmwares
27 just need to publish what kind of virtio devices do they support, and then
29 existing virtio drivers with remote processor backends at a minimal development
57 without really powering off the device.
[all …]
/kernel/linux/linux-5.10/Documentation/staging/
Dremoteproc.rst10 of operating system, whether it's Linux or any other flavor of real-time OS.
12 OMAP4, for example, has dual Cortex-A9, dual Cortex-M3 and a C64x+ DSP.
13 In a typical configuration, the dual cortex-A9 is running Linux in a SMP
20 duplicated. In addition, this framework also adds rpmsg virtio devices
22 platform-specific remoteproc drivers only need to provide a few low-level
24 (for more information about the virtio-based rpmsg bus and its drivers,
26 Registration of other types of virtio devices is now also possible. Firmwares
27 just need to publish what kind of virtio devices do they support, and then
29 existing virtio drivers with remote processor backends at a minimal development
57 without really powering off the device.
[all …]
/kernel/linux/linux-6.6/Documentation/networking/
Dnet_failover.rst1 .. SPDX-License-Identifier: GPL-2.0
15 The failover netdev acts a master device and controls 2 slave devices. The
17 a passthru/vf device with the same MAC gets registered as 'primary' slave
19 'pci' device. The user accesses the network interface via 'failover' netdev.
28 virtio-net accelerated datapath: STANDBY mode
31 net_failover enables hypervisor controlled accelerated datapath to virtio-net
35 feature on the virtio-net interface and assign the same MAC address to both
36 virtio-net and VF interfaces.
45 <model type='virtio'/>
49 <alias name='ua-backup0'/>
[all …]
/kernel/linux/linux-6.6/Documentation/filesystems/
Dvirtiofs.rst1 .. SPDX-License-Identifier: GPL-2.0
6 virtiofs: virtio-fs host<->guest shared file system
9 - Copyright (C) 2019 Red Hat, Inc.
14 VIRTIO "virtio-fs" device for guest<->host file system sharing. It allows a
24 expose the storage network to the guest. The virtio-fs device was designed to
27 Furthermore the virtio-fs device takes advantage of the co-location of the
35 .. code-block:: sh
37 guest# mount -t virtiofs myfs /mnt
39 Please see https://virtio-fs.gitlab.io/ for details on how to configure QEMU
43 -------------
[all …]
/kernel/linux/linux-5.10/Documentation/filesystems/
Dvirtiofs.rst1 .. SPDX-License-Identifier: GPL-2.0
6 virtiofs: virtio-fs host<->guest shared file system
9 - Copyright (C) 2019 Red Hat, Inc.
14 VIRTIO "virtio-fs" device for guest<->host file system sharing. It allows a
24 expose the storage network to the guest. The virtio-fs device was designed to
27 Furthermore the virtio-fs device takes advantage of the co-location of the
35 .. code-block:: sh
37 guest# mount -t virtiofs myfs /mnt
39 Please see https://virtio-fs.gitlab.io/ for details on how to configure QEMU
43 -------------
[all …]
/kernel/linux/linux-6.6/drivers/vdpa/
DKconfig1 # SPDX-License-Identifier: GPL-2.0-only
6 Enable this module to support vDPA device that uses a
7 datapath which complies with virtio specifications with
13 tristate "vDPA device simulator core"
19 Enable this module to support vDPA device simulators. These devices
23 tristate "vDPA simulator for networking device"
27 vDPA networking device simulator which loops TX traffic back to RX.
30 tristate "vDPA simulator for block device"
33 vDPA block device simulator which terminates IO request in a
37 tristate "VDUSE (vDPA Device in Userspace) support"
[all …]

12345678910>>...14