| /kernel/linux/linux-6.6/Documentation/ABI/stable/ |
| D | sysfs-bus-vmbus | 1 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 …]
|
| /kernel/linux/linux-5.10/Documentation/ABI/stable/ |
| D | sysfs-bus-vmbus | 1 What: /sys/bus/vmbus/devices/<UUID>/id 5 Description: The VMBus child_relid of the device's primary channel 8 What: /sys/bus/vmbus/devices/<UUID>/class_id 12 Description: The VMBus interface type GUID of the device 15 What: /sys/bus/vmbus/devices/<UUID>/device_id 19 Description: The VMBus interface instance GUID of the device 22 What: /sys/bus/vmbus/devices/<UUID>/channel_vp_mapping 31 What: /sys/bus/vmbus/devices/<UUID>/device 38 What: /sys/bus/vmbus/devices/<UUID>/vendor 45 What: /sys/bus/vmbus/devices/<UUID>/numa_node [all …]
|
| /kernel/linux/linux-6.6/Documentation/virt/hyperv/ |
| D | vmbus.rst | 3 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 …]
|
| D | overview.rst | 43 * 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 …]
|
| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/bus/ |
| D | microsoft,vmbus.yaml | 4 $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";
|
| /kernel/linux/linux-5.10/tools/hv/ |
| D | vmbus_testing | 134 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 …]
|
| D | lsvmbus | 18 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) %
|
| /kernel/linux/linux-6.6/tools/hv/ |
| D | vmbus_testing | 134 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 …]
|
| D | lsvmbus | 18 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) %
|
| /kernel/linux/linux-5.10/drivers/hv/ |
| D | connection.c | 45 * Table of VMBus versions listed from newest to oldest. 60 * Maximal VMBus protocol version guests can negotiate. Useful to cap the 61 * VMBus version for testing and debugging purpose. 67 "Maximal VMBus protocol version which can be negotiated"); 84 * VMBus protocol 5.0 (VERSION_WIN10_V5) and higher require that we must in vmbus_negotiate_version() 160 /* Initialize the vmbus connection */ in vmbus_connect() 189 * Setup the vmbus event connection for channel interrupt in vmbus_connect() 225 * Negotiate a compatible VMBUS version number with the in vmbus_connect() 250 pr_info("Vmbus version:%d.%d\n", in vmbus_connect() 366 * vmbus_post_msg - Send a msg on the vmbus's message connection [all …]
|
| D | vmbus_drv.c | 224 return sprintf(buf, "vmbus:%*phN\n", UUID_SIZE, &hv_dev->dev_type); in modalias_show() 614 /* Set up per device attributes in /sys/bus/vmbus/devices/<bus device> */ 681 * This routine is invoked when a device is added or removed on the vmbus to 685 * The alias string will be of the form vmbus:guid where guid is the string 692 const char *format = "MODALIAS=vmbus:%*phN"; in vmbus_uevent() 874 * vmbus_probe - Add the new vmbus's child device 900 * vmbus_remove - Remove a vmbus device 918 * vmbus_shutdown - Shutdown a vmbus device 938 * vmbus_suspend - Suspend a vmbus device 957 * vmbus_resume - Resume a vmbus device [all …]
|
| D | hv_debugfs.c | 82 /* 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 */
|
| D | channel_mgmt.c | 309 * alloc_channel - Allocate and initialize a vmbus channel object 333 * free_channel - Release the resources used by the vmbus channel object 367 * the VMBus connection is marked as ready for the resume event in vmbus_channel_map_relid() 369 * of the VMBus driver and vmbus_chan_sched() can not run before in vmbus_channel_map_relid() 757 * data in its disk cache before the VMbus UNLOAD request will in vmbus_wait_for_unload() 805 pr_notice("Waiting for VMBus UNLOAD to complete\n"); in vmbus_wait_for_unload() 809 pr_err("Continuing even though VMBus UNLOAD did not complete\n"); in vmbus_wait_for_unload() 932 * vmbus_onoffer - Handler for channel offers from vmbus in parent partition. 991 * Mellanox VF vmbus device can change when the host in vmbus_onoffer() 994 pr_debug("vmbus offer changed: relid=%d\n", in vmbus_onoffer() [all …]
|
| /kernel/linux/linux-6.6/drivers/hv/ |
| D | connection.c | 49 * 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() 218 * Setup the vmbus event connection for channel interrupt in vmbus_connect() 277 * Negotiate a compatible VMBUS version number with the in vmbus_connect() 302 pr_err("Invalid VMBus version %d.%d (expected >= %d.%d) from the host supporting isolation\n", in vmbus_connect() 309 pr_info("Vmbus version:%d.%d\n", in vmbus_connect() [all …]
|
| D | vmbus_drv.c | 60 * 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 …]
|
| D | hv_debugfs.c | 82 /* 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 */
|
| D | channel_mgmt.c | 350 * alloc_channel - Allocate and initialize a vmbus channel object 374 * free_channel - Release the resources used by the vmbus channel object 408 * the VMBus connection is marked as ready for the resume event in vmbus_channel_map_relid() 410 * of the VMBus driver and vmbus_chan_sched() can not run before in vmbus_channel_map_relid() 830 * data in its disk cache before the VMbus UNLOAD request will in vmbus_wait_for_unload() 878 pr_notice("Waiting for VMBus UNLOAD to complete\n"); in vmbus_wait_for_unload() 882 pr_err("Continuing even though VMBus UNLOAD did not complete\n"); in vmbus_wait_for_unload() 1026 * vmbus_onoffer - Handler for channel offers from vmbus in parent partition. 1092 * Mellanox VF vmbus device can change when the host in vmbus_onoffer() 1095 pr_debug("vmbus offer changed: relid=%d\n", in vmbus_onoffer() [all …]
|
| D | hv.c | 423 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()
|
| /kernel/linux/linux-6.6/drivers/uio/ |
| D | uio_hv_generic.c | 3 * 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 …]
|
| /kernel/linux/linux-5.10/drivers/clocksource/ |
| D | hyperv_timer.c | 30 * where it sends a VMbus message when it expires. The old 35 * Because Direct Mode does not require processing a VMbus 41 * delayed until VMbus is initialized and can process the 52 * does not use VMbus or any VMbus messages, so process here and not 53 * in the VMbus driver code. 102 * When it expires, the timer will generate a VMbus message, in hv_ce_set_oneshot() 103 * to be handled by the normal VMbus interrupt handler. in hv_ce_set_oneshot() 221 * hv_stimer_legacy_init -- Called from the VMbus driver to handle 244 * hv_stimer_legacy_cleanup -- Called from the VMbus driver to 276 * vmbus exit
|
| /kernel/linux/linux-5.10/drivers/uio/ |
| D | uio_hv_generic.c | 3 * 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" 151 /* Callback from VMBUS subsystem when new channel created. */ 196 /* VMBus primary channel is opened on first use */ 221 /* VMBus primary channel is closed on last close */ 247 dev_err(&dev->device, "vmbus channel requires hypercall\n"); in hv_uio_probe()
|
| /kernel/linux/linux-6.6/drivers/clocksource/ |
| D | hyperv_timer.c | 35 * 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
|
| /kernel/linux/linux-6.6/net/vmw_vsock/ |
| D | hyperv_transport.c | 18 /* 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 …]
|
| /kernel/linux/linux-5.10/net/vmw_vsock/ |
| D | hyperv_transport.c | 18 /* 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. 129 * VMBus, because here it's obvious the host and the VM can easily identify 350 /* Use the socket buffer sizes as hints for the VMBUS ring size. For in hvs_open_connection() 353 * the mins to the default value and align to page size as per VMBUS in hvs_open_connection() 357 * VMBUS ring buffer is physically contiguous allocation, restrict it in hvs_open_connection() 359 * Older versions of hv_sock host side code cannot handle bigger VMBUS in hvs_open_connection() [all …]
|
| /kernel/linux/linux-6.6/include/linux/ |
| D | hyperv.h | 249 * 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 969 * Support per-channel state for use by vmbus drivers. 1064 /* request/transaction ids for VMBus */ 1269 * from vmbus driver to hvsock driver, we can handle hvsock offer as [all …]
|