Home
last modified time | relevance | path

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

1234567

/Linux-v5.15/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
18 Modern PCI device implementation. This module implements the
20 PCI device with possible vendor specific extensions. Any
24 bool "Virtio drivers"
30 tristate "PCI driver for virtio devices"
33 select VIRTIO
35 This driver provides support for virtio based paravirtual device
37 virtio backends. Most QEMU based VMMs should support these devices
[all …]
Dvirtio_pci_modern_dev.c1 // SPDX-License-Identifier: GPL-2.0-or-later
8 * vp_modern_map_capability - map a part of virtio pci capability
9 * @mdev: the modern virtio-pci device
25 struct pci_dev *dev = mdev->pci_dev; in vp_modern_map_capability()
39 dev_err(&dev->dev, in vp_modern_map_capability()
45 if (length - start < minlen) { in vp_modern_map_capability()
46 dev_err(&dev->dev, in vp_modern_map_capability()
52 length -= start; in vp_modern_map_capability()
55 dev_err(&dev->dev, in vp_modern_map_capability()
56 "virtio_pci: map wrap-around %u+%u\n", in vp_modern_map_capability()
[all …]
Dvirtio_pci_legacy.c1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * Virtio PCI driver - legacy device support
5 * This module allows virtio devices to be used over a virtual PCI device.
19 /* virtio config->get_features() implementation */
26 return ioread32(vp_dev->ioaddr + VIRTIO_PCI_HOST_FEATURES); in vp_get_features()
29 /* virtio config->finalize_features() implementation */
38 BUG_ON((u32)vdev->features != vdev->features); in vp_finalize_features()
41 iowrite32(vdev->features, vp_dev->ioaddr + VIRTIO_PCI_GUEST_FEATURES); in vp_finalize_features()
46 /* virtio config->get() implementation */
51 void __iomem *ioaddr = vp_dev->ioaddr + in vp_get()
[all …]
Dvirtio.c1 // SPDX-License-Identifier: GPL-2.0-only
2 #include <linux/virtio.h>
10 /* Unique numbering for virtio devices. */
13 static ssize_t device_show(struct device *_d, in device_show()
17 return sprintf(buf, "0x%04x\n", dev->id.device); in device_show()
19 static DEVICE_ATTR_RO(device);
21 static ssize_t vendor_show(struct device *_d, in vendor_show()
25 return sprintf(buf, "0x%04x\n", dev->id.vendor); in vendor_show()
29 static ssize_t status_show(struct device *_d, in status_show()
33 return sprintf(buf, "0x%08x\n", dev->config->get_status(dev)); in status_show()
[all …]
/Linux-v5.15/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 …]
/Linux-v5.15/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 bindings
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 …]
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 …]
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
26 '#iommu-cells':
27 description: Required when the node corresponds to a virtio-iommu device.
[all …]
/Linux-v5.15/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 …]
/Linux-v5.15/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 …]
/Linux-v5.15/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 …]
Dvirtio_mem.h1 /* SPDX-License-Identifier: BSD-3-Clause */
3 * Virtio Mem Device
47 * Each virtio-mem device manages a dedicated region in physical address
48 * space. Each device can belong to a single NUMA node, multiple devices
49 * for a single NUMA node are possible. A virtio-mem device is like a
51 * or unplugged. The device driver is responsible for (un)plugging memory
54 * Virtio-mem devices can only operate on their assigned memory region in
55 * order to (un)plug memory. A device cannot (un)plug memory belonging to
59 * be provided by a device. The "size" corresponds to the amount of memory
61 * from the device to the device driver to (un)plug blocks. The
[all …]
Dvhost.h1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
4 /* Userspace interface for in-kernel virtio accelerators. */
6 /* vhost is used to reduce the number of system calls involved in virtio.
8 * Existing virtio net code is used in the guest without modification.
11 * device configuration.
18 #define VHOST_FILE_UNBIND -1
33 /* Give up ownership, and reset the device to default values.
51 * be modified while ring is running (bound to a device). */
61 * or VHOST_VRING_BIG_ENDIAN (other values return -EINVAL).
62 * The byte order cannot be changed while the device is active: trying to do so
[all …]
/Linux-v5.15/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 …]
Dvirtio_card.c1 // SPDX-License-Identifier: GPL-2.0+
3 * virtio-snd: Virtio sound device
21 * virtsnd_event_send() - Add an event to the event queue.
24 * @notify: Indicates whether or not to send a notification to the device.
49 * virtsnd_event_dispatch() - Dispatch an event from the device side.
50 * @snd: VirtIO sound device.
51 * @event: VirtIO sound event.
58 switch (le32_to_cpu(event->hdr.code)) { in virtsnd_event_dispatch()
71 * virtsnd_event_notify_cb() - Dispatch all reported events from the event queue.
75 * device.
[all …]
Dvirtio_jack.c1 // SPDX-License-Identifier: GPL-2.0+
3 * virtio-snd: Virtio sound device
16 * receive notifications about a plugged in/out device.
23 * struct virtio_jack - VirtIO jack.
26 * @features: Jack virtio feature bit map (1 << VIRTIO_SND_JACK_F_XXX).
43 * virtsnd_jack_get_label() - Get the name string for the jack.
44 * @vjack: VirtIO jack.
54 unsigned int defconf = vjack->defconf; in virtsnd_jack_get_label()
55 unsigned int device = in virtsnd_jack_get_label() local
60 switch (device) { in virtsnd_jack_get_label()
[all …]
/Linux-v5.15/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 …]
/Linux-v5.15/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 …]
/Linux-v5.15/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 …]
/Linux-v5.15/Documentation/userspace-api/
Dvduse.rst2 VDUSE - "vDPA Device in Userspace"
5 vDPA (virtio data path acceleration) device is a device that uses a
6 datapath which complies with the virtio specifications with vendor
9 possible to implement software-emulated vDPA devices in userspace. And
10 to make the device emulation more secure, the emulated vDPA device's
14 Note that only virtio block device is supported by VDUSE framework now,
16 the data path is run by an unprivileged user. The support for other device
17 types can be added after the security issue of corresponding device driver
21 ----------------------------
49 .. code-block:: c
[all …]
/Linux-v5.15/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 …]
/Linux-v5.15/tools/include/uapi/linux/
Dvhost.h1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
4 /* Userspace interface for in-kernel virtio accelerators. */
6 /* vhost is used to reduce the number of system calls involved in virtio.
8 * Existing virtio net code is used in the guest without modification.
11 * device configuration.
18 #define VHOST_FILE_UNBIND -1
33 /* Give up ownership, and reset the device to default values.
51 * be modified while ring is running (bound to a device). */
61 * or VHOST_VRING_BIG_ENDIAN (other values return -EINVAL).
62 * The byte order cannot be changed while the device is active: trying to do so
[all …]
/Linux-v5.15/drivers/firmware/arm_scmi/
Dvirtio.c1 // SPDX-License-Identifier: GPL-2.0
3 * Virtio Transport driver for Arm System Control and Management Interface
6 * Copyright (C) 2020-2021 OpenSynergy.
13 * The scmi-virtio transport implements a driver for the virtio SCMI device.
15 * There is one Tx channel (virtio cmdq, A2P channel) and at most one Rx
16 * channel (virtio eventq, P2A channel). Each channel is implemented through a
22 #include <linux/virtio.h>
36 * struct scmi_vio_channel - Transport channel information
62 * struct scmi_vio_msg - Transport PDU information
76 /* Only one SCMI VirtIO device can possibly exist */
[all …]
/Linux-v5.15/include/linux/
Dvirtio.h1 /* SPDX-License-Identifier: GPL-2.0 */
4 /* Everything a virtio driver needs to work with any particular virtio
9 #include <linux/device.h>
14 * virtqueue - a queue to register buffers for sending or receiving.
15 * @list: the chain of virtqueues for this device
18 * @vdev: the virtio device this queue was created for.
20 * @index: the zero-based ordinal number for this queue.
93 * virtio_device - representation of a device using virtio
94 * @index: unique position on the virtio bus
99 * @dev: underlying device.
[all …]

1234567