Home
last modified time | relevance | path

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

1234567

/linux/drivers/virtio/
H A 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 …]
H A 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 …]
H A 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 …]
H A Dvirtio_rtc_class.c1 // SPDX-License-Identifier: GPL-2.0-or-later
19 * struct viortc_class - RTC class wrapper
20 * @viortc: virtio_rtc device data
21 * @rtc: RTC device
33 * viortc_class_get_locked() - get RTC class wrapper, if ops allowed
34 * @dev: virtio device
36 * Gets the RTC class wrapper from the virtio device, if it is available and
42 static struct viortc_class *viortc_class_get_locked(struct device *dev) in viortc_class_get_locked()
50 if (viortc_class->stopped) in viortc_class_get_locked()
51 return ERR_PTR(-EBUSY); in viortc_class_get_locked()
[all …]
H A Dvirtio_mmio.c1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * Virtio memory mapped device driver
5 * Copyright 2011-2014, ARM Ltd.
7 * This module allows virtio devices to be used over a virtual, memory mapped
8 * platform device.
10 * The guest device(s) may be instantiated in one of three equivalent ways:
12 * 1. Static platform device in board's code, eg.:
15 * .name = "virtio-mmio",
16 * .id = -1,
31 * 2. Device Tree node, eg.:
[all …]
H A Dvirtio.c1 // SPDX-License-Identifier: GPL-2.0-only
2 #include <linux/virtio.h>
11 /* Unique numbering for virtio devices. */
14 static ssize_t device_show(struct device *_d, in device_show()
18 return sysfs_emit(buf, "0x%04x\n", dev->id.device); in device_show()
20 static DEVICE_ATTR_RO(device);
22 static ssize_t vendor_show(struct device *_d, in vendor_show()
26 return sysfs_emit(buf, "0x%04x\n", dev->id.vendor); in vendor_show()
30 static ssize_t status_show(struct device *_d, in status_show()
34 return sysfs_emit(buf, "0x%08x\n", dev->config->get_status(dev)); in status_show()
[all …]
/linux/Documentation/driver-api/virtio/
H A 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 …]
H A 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 …]
/linux/Documentation/devicetree/bindings/virtio/
H A 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 …]
H A 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 …]
H A Dpci-iommu.yaml1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
3 ---
4 $id: http://devicetree.org/schemas/virtio/pci-iommu.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: virtio-iommu device using the virtio-pci transport
10 - Jean-Philippe Brucker <jean-philippe@linaro.org>
13 When virtio-iommu uses the PCI transport, its programming interface is
15 device tree statically describes the relation between IOMMU and DMA
16 masters. Therefore, the PCI root complex that hosts the virtio-iommu
17 contains a child node representing the IOMMU device explicitly.
[all …]
/linux/tools/virtio/virtio-trace/
H A 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/sound/virtio/
H A 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_kctl - VirtIO control element.
45 * struct virtio_snd - VirtIO sound card device.
46 * @vdev: Underlying virtio device.
[all …]
H A Dvirtio_pcm.h1 /* SPDX-License-Identifier: GPL-2.0+ */
3 * virtio-snd: Virtio sound device
12 #include <sound/pcm-indirect.h>
18 * struct virtio_pcm_substream - VirtIO PCM substream.
19 * @snd: VirtIO sound device.
23 * @features: Stream VirtIO feature bit map (1 << VIRTIO_SND_PCM_F_XXX).
32 * @xfer_enabled: Data transfer state (0 - off, 1 - on).
33 * @xfer_xrun: Data underflow/overflow state (0 - no xrun, 1 - xrun).
34 * @stopped: True if the substream is stopped and must be released on the device
37 * the device side at resume.
[all …]
H A 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() - Dispatc
[all...]
H A 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 …]
H A Dvirtio_ctl_msg.h1 /* SPDX-License-Identifier: GPL-2.0+ */
3 * virtio-snd: Virtio sound device
10 #include <linux/virtio.h>
31 * virtsnd_ctl_msg_send_sync() - Simplified sending of synchronous message.
32 * @snd: VirtIO sound device.
44 * Return: 0 on success, -errno on failure.
47 * appropriate -errno value.
56 * virtsnd_ctl_msg_send_async() - Simplified sending of asynchronous message.
57 * @snd: VirtIO sound device.
61 * Return: 0 on success, -errno on failure.
/linux/Documentation/devicetree/bindings/i2c/
H A 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/include/uapi/linux/
H A 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 consol
[all...]
H A 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 ca
[all...]
/linux/Documentation/networking/
H A 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 …]
/linux/Documentation/devicetree/bindings/gpio/
H A 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/Documentation/filesystems/
H A 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/Documentation/userspace-api/
H A 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/include/linux/
H A Dremoteproc.h40 #include <linux/virtio.h>
47 * struct resource_table - firmware resource table header
81 * struct fw_rsc_hdr - firmware resource entry header
95 * enum fw_resource_type - types of resource entries
99 * @RSC_DEVMEM: request to iommu_map a memory-based peripheral.
102 * @RSC_VDEV: declare support for a virtio device, and serve as its
103 * virtio header.
126 #define FW_RSC_ADDR_ANY (-1)
129 * struct fw_rsc_carveout - physically contiguous memory request
130 * @da: device address
[all …]

1234567