Home
last modified time | relevance | path

Searched full:vmbus (Results 1 – 25 of 68) sorted by relevance

123

/openbmc/qemu/hw/hyperv/
H A Dvmbus.c2 * QEMU Hyper-V VMBus
18 #include "hw/hyperv/vmbus.h"
19 #include "hw/hyperv/vmbus-bridge.h"
52 VMBus *vmbus; member
162 * interrupt page (older VMBus)
166 VMBus *vmbus; member
169 * the main VMBus SINT route
184 * For outgoing (i.e. host->guest) messages there's no queue; the VMBus just
199 * asynchronously, the VMBus state machine has effectively two entry points:
215 struct VMBus { struct
[all …]
H A DKconfig10 config VMBUS config
18 depends on VMBUS
26 depends on VMBUS
H A Dmeson.build3 specific_ss.add(when: 'CONFIG_VMBUS', if_true: files('vmbus.c'))
/openbmc/linux/Documentation/ABI/stable/
H A Dsysfs-bus-vmbus1 What: /sys/bus/vmbus/hibernation
8 What: /sys/bus/vmbus/devices/<UUID>/id
12 Description: The VMBus child_relid of the device's primary channel
15 What: /sys/bus/vmbus/devices/<UUID>/class_id
19 Description: The VMBus interface type GUID of the device
22 What: /sys/bus/vmbus/devices/<UUID>/device_id
26 Description: The VMBus interface instance GUID of the device
29 What: /sys/bus/vmbus/devices/<UUID>/channel_vp_mapping
38 What: /sys/bus/vmbus/devices/<UUID>/device
45 What: /sys/bus/vmbus/devices/<UUID>/vendor
[all …]
/openbmc/linux/Documentation/virt/hyperv/
H A Dvmbus.rst3 VMbus title
5 VMbus is a software construct provided by Hyper-V to guest VMs. It
15 VMbus is modeled in Linux as a bus, with the expected /sys/bus/vmbus
16 entry in a running Linux guest. The VMbus driver (drivers/hv/vmbus_drv.c)
17 establishes the VMbus control path with the Hyper-V host, then
52 VMbus channels
54 An instance of a synthetic device uses VMbus channels to communicate
76 VMbus control path as a GPA Descriptor List (GPADL). See function
105 VMbus messages
107 All VMbus messages have a standard header that includes the message
[all …]
H A Doverview.rst43 * VMbus: VMbus is a higher-level software construct that is built on
57 VMbus is not documented. This documentation provides a high-level
58 overview of VMbus and how it works, but the details can be discerned
77 in a VMbus message.
136 mechanisms, provided no VMbus channel interrupts are assigned to
137 the CPU. See the section on VMbus Interrupts for more details
138 on how VMbus channel interrupts can be re-assigned to permit
172 VMbus has its own protocol version that is negotiated during the
173 initial VMbus connection from the guest to Hyper-V. This version
178 Furthermore, each synthetic device on VMbus also has a protocol
[all …]
H A Dindex.rst11 vmbus
/openbmc/linux/Documentation/devicetree/bindings/bus/
H A Dmicrosoft,vmbus.yaml4 $id: http://devicetree.org/schemas/bus/microsoft,vmbus.yaml#
7 title: Microsoft Hyper-V VMBus
13 VMBus is a software bus that implement the protocols for communication
18 const: microsoft,vmbus
47 vmbus@ff0000000 {
48 compatible = "microsoft,vmbus";
/openbmc/linux/tools/hv/
H A Dvmbus_testing134 print("Error, path '{}' not a valid vmbus device".format(path))
144 # Create a map of the vmbus devices and their associated files
174 # read the vmbus device files, path must be absolute path before calling
190 # writing to vmbus device files, path must be absolute path before calling
279 description = "\nUse lsvmbus to get vmbus device type "
296 help = "Debugfs path to a vmbus device. The path "
303 "on ALL vmbus devices.")
308 "SINGLE vmbus device.")
318 "vmbus devices, or delay the ring buffer message "
319 "reads for vmbus devices (both in microseconds). This "
[all …]
H A Dlsvmbus18 vmbus_sys_path = '/sys/bus/vmbus/devices'
99 print(('VMBUS ID ' + format0) % (d.vmbus_id, d.dev_desc))
102 ('VMBUS ID ' + format1) %
107 ('VMBUS ID ' + format2) %
/openbmc/qemu/include/hw/hyperv/
H A Dvmbus-bridge.h2 * QEMU Hyper-V VMBus root bridge
14 #include "hw/hyperv/vmbus.h"
17 #define TYPE_VMBUS_BRIDGE "vmbus-bridge"
24 VMBus *bus;
H A Dvmbus.h2 * QEMU Hyper-V VMBus
17 #include "hw/hyperv/vmbus-proto.h"
21 #define TYPE_VMBUS_DEVICE "vmbus-dev"
26 #define TYPE_VMBUS "vmbus"
27 OBJECT_DECLARE_SIMPLE_TYPE(VMBus, VMBUS)
35 * VMBus channel -- a pair of ring buffers for either direction, placed within
40 * Base class for VMBus devices. Includes one or more channels. Identified by
/openbmc/linux/drivers/hv/
H A Dconnection.c49 * Table of VMBus versions listed from newest to oldest.
65 * Maximal VMBus protocol version guests can negotiate. Useful to cap the
66 * VMBus version for testing and debugging purpose.
72 "Maximal VMBus protocol version which can be negotiated");
89 * VMBus protocol 5.0 (VERSION_WIN10_V5) and higher require that we must in vmbus_negotiate_version()
173 /* Initialize the vmbus connection */ in vmbus_connect()
210 * Setup the vmbus event connection for channel interrupt in vmbus_connect()
268 * Negotiate a compatible VMBUS version number with the in vmbus_connect()
293 pr_err("Invalid VMBus version %d.%d (expected >= %d.%d) from the host supporting isolation\n", in vmbus_connect()
300 pr_info("Vmbus version:%d.%d\n", in vmbus_connect()
[all …]
H A Dvmbus_drv.c60 * vmbus connection, which is necessary in a panic event.
63 * framebuffer panic notifier exists - we need vmbus connection alive
189 return sprintf(buf, "vmbus:%*phN\n", UUID_SIZE, &hv_dev->dev_type); in modalias_show()
561 /* Set up per device attributes in /sys/bus/vmbus/devices/<bus device> */
625 /* Set up the attribute for /sys/bus/vmbus/hibernation */
645 * This routine is invoked when a device is added or removed on the vmbus to
649 * The alias string will be of the form vmbus:guid where guid is the string
656 const char *format = "MODALIAS=vmbus:%*phN"; in vmbus_uevent()
838 * vmbus_probe - Add the new vmbus's child device
864 * vmbus_dma_configure -- Configure DMA coherence for VMbus device
[all …]
H A Dhv_debugfs.c82 /* Setup test state value for vmbus device */
147 /* Remove all dentrys associated with vmbus testing */
153 /* Delay buffer/message reads on a vmbus channel */
169 /* Initialize top dentry for vmbus testing */
H A Dchannel_mgmt.c341 * alloc_channel - Allocate and initialize a vmbus channel object
365 * free_channel - Release the resources used by the vmbus channel object
399 * the VMBus connection is marked as ready for the resume event in vmbus_channel_map_relid()
401 * of the VMBus driver and vmbus_chan_sched() can not run before in vmbus_channel_map_relid()
821 * data in its disk cache before the VMbus UNLOAD request will in vmbus_wait_for_unload()
869 pr_notice("Waiting for VMBus UNLOAD to complete\n"); in vmbus_wait_for_unload()
873 pr_err("Continuing even though VMBus UNLOAD did not complete\n"); in vmbus_wait_for_unload()
1017 * vmbus_onoffer - Handler for channel offers from vmbus in parent partition.
1083 * Mellanox VF vmbus device can change when the host in vmbus_onoffer()
1086 pr_debug("vmbus offer changed: relid=%d\n", in vmbus_onoffer()
[all …]
H A Dhv.c423 unsigned long *recv_int_page = event->flags; /* assumes VMBus version >= VERSION_WIN8 */ in hv_synic_event_pending()
431 /* Special case - VMBus channel protocol messages */ in hv_synic_event_pending()
456 * path where the vmbus is already disconnected, the CPU must be in hv_synic_cleanup()
464 * cleanup. In case we find one and vmbus is still connected, we in hv_synic_cleanup()
495 * and VMBus is connected, fail the CPU offlining operation. in hv_synic_cleanup()
H A Dhyperv_vmbus.h220 * The CPU that Hyper-V will interrupt for VMBUS messages, such as
237 * channel. When a channel sends an interrupt via VMBUS, it finds its
272 * On suspension of the vmbus, the accumulated offer messages
342 /* General vmbus interface */
H A Dchannel.c291 * CHANNELMSG_MODIFYCHANNEL messages are aynchronous. When VMbus version 5.3
293 * message. For VMbus version 5.2 and earlier, it never sends an ACK. With-
297 * The CHANNELMSG_MODIFYCHANNEL message type is supported since VMBus version
1055 * Sends data in @buffer directly to Hyper-V via the vmbus.
1101 * Sends data in @buffer directly to Hyper-V via the vmbus.
1177 * The buffer includes the vmbus descriptor.
1221 * Receives directly from the hyper-v vmbus and puts the data it received
1261 * @channel: Pointer to the VMbus channel struct
1363 * @channel: Pointer to the VMbus channel struct
/openbmc/linux/drivers/uio/
H A Duio_hv_generic.c3 * uio_hv_generic - generic UIO driver for VMBus
13 * > /sys/bus/vmbus/drivers/uio_hv_generic/new_id
16 * > /sys/bus/vmbus/drivers/hv_netvsc/unbind
18 * > /sys/bus/vmbus/drivers/uio_hv_generic/bind
37 #define DRIVER_DESC "Generic UIO driver for VMBus devices"
125 * from vmbus when the primary channel is rescinded. in hv_uio_rescind()
127 * Unregister the device from vmbus here. in hv_uio_rescind()
159 /* Callback from VMBUS subsystem when new channel created. */
204 /* VMBus primary channel is opened on first use */
229 /* VMBus primary channel is closed on last close */
[all …]
/openbmc/linux/drivers/clocksource/
H A Dhyperv_timer.c35 * where it sends a VMbus message when it expires. The old
40 * Because Direct Mode does not require processing a VMbus
46 * delayed until VMbus is initialized and can process the
57 * as a VMbus message.
117 * When it expires, the timer will generate a VMbus message, in hv_ce_set_oneshot()
118 * to be handled by the normal VMbus interrupt handler. in hv_ce_set_oneshot()
303 * hv_stimer_legacy_init -- Called from the VMbus driver to handle
326 * hv_stimer_legacy_cleanup -- Called from the VMbus driver to
341 * vmbus exit
/openbmc/linux/net/vmw_vsock/
H A Dhyperv_transport.c18 /* Older (VMBUS version 'VERSION_WIN10' or before) Windows hosts have some
38 /* For recv, we use the VMBus in-place packet iterator APIs to directly copy
51 * guest and the host processing as one VMBUS packet is the smallest processing
54 * Note: the buffer can be eliminated in the future when we add new VMBus
56 * to VMBus ringbuffer.
81 /* Upper bound on the size of a VMbus packet for hv_sock */
132 * VMBus, because here it's obvious the host and the VM can easily identify
359 /* Use the socket buffer sizes as hints for the VMBUS ring size. For in hvs_open_connection()
362 * the mins to the default value and align to page size as per VMBUS in hvs_open_connection()
366 * VMBUS ring buffer is physically contiguous allocation, restrict it in hvs_open_connection()
[all …]
/openbmc/linux/include/linux/
H A Dhyperv.h249 * VMBUS version is 32 bit entity broken up into
520 /* Query VMBus Version parameters */
526 /* VMBus Version Supported parameters */
578 /* Identifies the specific VMBus channel that is being opened. */
718 * On new hosts that support VMBus protocol 5.0, we must use
736 * Represents each channel msg on the vmbus connection This is a
801 * Provides request ids for VMBus. Encapsulates guest memory
967 * Support per-channel state for use by vmbus drivers.
1062 /* request/transaction ids for VMBus */
1274 * from vmbus driver to hvsock driver, we can handle hvsock offer as
[all …]
/openbmc/linux/drivers/pci/controller/
H A Dpci-hyperv.c96 * Size of requestor for VMbus; the value is based on the observation
709 * always fails since the vmbus channel has been closed: in hv_arch_irq_unmask()
2039 * remove the ID from the VMbus requestor if the identifier is still in hv_compose_msi_msg()
2716 "PCI VMBus BUS_RELATIONS: ignored\n"); in hv_pci_start_relations_work()
2901 dev_info(&hdev->device, "PCI VMBus EJECT: ignored\n"); in hv_pci_eject_device()
3087 * @hdev: VMBus's tracking struct for this root PCI bus.
3096 * asynchronous messaging via VMBus. Windows 10 increases the
3150 "PCI VMBus probing: Using version %#x\n", in hv_pci_protocol_negotiation()
3209 * node (in this case, VMBus) or change it such that it
3210 * understands VMBus. The pnp layer, however, has been declared
[all …]
/openbmc/linux/Documentation/driver-api/
H A Duio-howto.rst668 supports devices on the Hyper-V VMBus similar to uio_pci_generic on
680 echo "f8615163-df3e-46c5-913f-f2d2f965ed0e" > /sys/bus/vmbus/drivers/uio_hv_generic/new_id
688 echo -n ed963694-e847-4b2a-85af-bc9cfc11d6f3 > /sys/bus/vmbus/drivers/hv_netvsc/unbind
689 echo -n ed963694-e847-4b2a-85af-bc9cfc11d6f3 > /sys/bus/vmbus/drivers/uio_hv_generic/bind
694 ls -l /sys/bus/vmbus/devices/ed963694-e847-4b2a-85af-bc9cfc11d6f3/driver
698 .../ed963694-e847-4b2a-85af-bc9cfc11d6f3/driver -> ../../../bus/vmbus/drivers/uio_hv_generic
712 The vmbus device regions are mapped into uio device resources:
723 /sys/bus/vmbus/devices/3811fe4d-0fa0-4b62-981a-74fc1084c757/channels/21/ring

123