| /linux/Documentation/ABI/stable/ |
| H A 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 …]
|
| /linux/Documentation/virt/hyperv/ |
| H A D | coco.rst | 171 CoCo VMs, Hyper-V has VMBus and VMBus devices that communicate using memory 177 These Hyper-V and VMBus memory pages are marked as decrypted: 179 * VMBus monitor pages 186 * VMBus ring buffers. The direct mapping is marked decrypted in 200 VMBus ring buffer, the length of the message is validated, and the message is 205 Many drivers for VMBus devices have been "hardened" by adding code to fully 206 validate messages received over VMBus, instead of assuming that Hyper-V is 208 vmbus_devs[] table. Other drivers for VMBus devices that are not needed in a 212 Two VMBus devices depend on the Hyper-V host to do DMA data transfers: 225 Finally, the VMBus virtual PCI driver needs special handling in a CoCo VM. [all …]
|
| H A D | vpci.rst | 43 guests as VMBus devices via the standard VMBus "offer" 44 mechanism, so they have a VMBus identity and appear under 45 /sys/bus/vmbus/devices. The VMBus vPCI driver in Linux at 54 presented dynamically through the VMBus offer mechanism, they 59 With this approach, the vPCI device is a VMBus device and a 60 PCI device at the same time. In response to the VMBus offer 62 VMBus connection to the vPCI VSP on the Hyper-V host. That 63 connection has a single VMBus channel. The channel is used to 66 is fully configured in Linux as a PCI device, the VMBus 71 the device and the hardware, with VMBus and the VMBus channel [all …]
|
| /linux/tools/hv/ |
| H A 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 …]
|
| H A 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) %
|
| H A D | hv_fcopy_daemon.c | |
| H A D | hv_vss_daemon.c | 259 vss_fd = open("/dev/vmbus/hv_vss", O_RDWR); in main() 261 syslog(LOG_ERR, "open /dev/vmbus/hv_vss failed; error: %d %s", in main()
|
| /linux/drivers/hv/ |
| H A D | connection.c | 49 * Table of VMBus versions listed from newest to oldest. 66 * Maximal VMBus protocol version guests can negotiate. Useful to cap the 67 * VMBus version for testing and debugging purpose. 73 "Maximal VMBus protocol version which can be negotiated"); 90 * VMBus protocol 5.0 (VERSION_WIN10_V5) and higher require that we must in vmbus_negotiate_version() 177 /* Initialize the vmbus connection */ in vmbus_connect() 222 * Setup the vmbus event connection for channel interrupt in vmbus_connect() 281 * Negotiate a compatible VMBUS version number with the in vmbus_connect() 306 pr_err("Invalid VMBus version %d.%d (expected >= %d.%d) from the host supporting isolation\n", in vmbus_connect() 313 pr_info("Vmbus version:%d.%d\n", in vmbus_connect() [all …]
|
| H A D | vmbus_drv.c | 49 /* VMBus Root Device */ 61 * If the Confidential VMBus is used, the data on the "wire" is not 74 * vmbus connection, which is necessary in a panic event. 77 * framebuffer panic notifier exists - we need vmbus connection alive 209 return sysfs_emit(buf, "vmbus:%*phN\n", UUID_SIZE, &hv_dev->dev_type); in modalias_show() 571 /* Set up per device attributes in /sys/bus/vmbus/devices/<bus device> */ 635 /* Set up the attribute for /sys/bus/vmbus/hibernation */ 655 * This routine is invoked when a device is added or removed on the vmbus to 659 * The alias string will be of the form vmbus:guid where guid is the string 666 const char *format = "MODALIAS=vmbus:%*phN"; in vmbus_uevent() [all …]
|
| H A D | hv.c | 81 * If the VMBus isn't confidential, use the CoCo-specific in hv_post_message() 99 * In the Confidential VMBus case, there is the paravisor in hv_post_message() 388 * VMBus is confidential). in hv_synic_init() 390 * Then enable interrupts via the paravisor if VMBus is confidential, in hv_synic_init() 513 recv_int_page = event->flags; /* assumes VMBus version >= VERSION_WIN8 */ in __hv_synic_event_pending() 517 /* Special case - VMBus channel protocol messages */ in __hv_synic_event_pending() 590 * path where the vmbus is already disconnected, the CPU must be in hv_synic_cleanup() 624 * are still set after this operation and VMBus is connected, fail the in hv_synic_cleanup() 636 * disable the host interrupts if VMBus is not in hv_synic_cleanup() 644 * Perform the same steps for the Confidential VMBus. in hv_synic_cleanup()
|
| H A 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 */
|
| H A D | Kconfig | 62 tristate "Microsoft Hyper-V VMBus driver" 66 Select this option to enable Hyper-V Vmbus driver. 107 space to a usermode process in VTL2 and supports getting new VMBus messages and channel
|
| H A D | channel_mgmt.c | 351 * alloc_channel - Allocate and initialize a vmbus channel object 375 * free_channel - Release the resources used by the vmbus channel object 409 * the VMBus connection is marked as ready for the resume event in vmbus_channel_map_relid() 411 * of the VMBus driver and vmbus_chan_sched() can not run before in vmbus_channel_map_relid() 831 * data in its disk cache before the VMbus UNLOAD request will in vmbus_wait_for_unload() 879 pr_notice("Waiting for VMBus UNLOAD to complete\n"); in vmbus_wait_for_unload() 883 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. 1047 pr_err("Invalid offer relid=%d: no support for confidential VMBus\n", in vmbus_onoffer() 1100 * Mellanox VF vmbus device can change when the host in vmbus_onoffer() [all …]
|
| H A D | hyperv_vmbus.h | 241 * The CPU that Hyper-V will interrupt for VMBUS messages, such as 258 * channel. When a channel sends an interrupt via VMBUS, it finds its 293 * On suspension of the vmbus, the accumulated offer messages 355 /* General vmbus interface */
|
| H A D | channel.c | 292 * CHANNELMSG_MODIFYCHANNEL messages are aynchronous. When VMbus version 5.3 294 * message. For VMbus version 5.2 and earlier, it never sends an ACK. With- 298 * The CHANNELMSG_MODIFYCHANNEL message type is supported since VMBus version 1041 * Sends data in @buffer directly to Hyper-V via the vmbus. 1087 * Sends data in @buffer directly to Hyper-V via the vmbus. 1104 * The desc argument must include space for the VMBus descriptor. The 1148 * Receives directly from the hyper-v vmbus and puts the data it received 1188 * @channel: Pointer to the VMbus channel struct 1290 * @channel: Pointer to the VMbus channel struct
|
| H A D | hv_snapshot.c | 34 /* See comment with struct hv_vss_msg regarding the max VMbus packet size */ 52 * read additional packets from the VMBUs until the current packet is fully 72 static const char vss_devname[] = "vmbus/hv_vss";
|
| /linux/drivers/clocksource/ |
| H A D | hyperv_timer.c | 36 * where it sends a VMbus message when it expires. The old 41 * Because Direct Mode does not require processing a VMbus 47 * delayed until VMbus is initialized and can process the 58 * as a VMbus message. 118 * When it expires, the timer will generate a VMbus message, in hv_ce_set_oneshot() 119 * to be handled by the normal VMbus interrupt handler. in hv_ce_set_oneshot() 318 * hv_stimer_legacy_init -- Called from the VMbus driver to handle 341 * hv_stimer_legacy_cleanup -- Called from the VMbus driver to 356 * vmbus exit
|
| /linux/net/vmw_vsock/ |
| H A 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 …]
|
| H A D | Kconfig | 80 Sockets over Hyper-V VMBus.
|
| /linux/include/linux/ |
| H A D | hyperv.h | 249 * VMBUS version is 32 bit entity broken up into 474 /* Query VMBus Version parameters */ 480 /* VMBus Version Supported parameters */ 532 /* Identifies the specific VMBus channel that is being opened. */ 650 u32 feature_flags; /* VMBus version 6.0 */ 679 * On new hosts that support VMBus protocol 5.0, we must use 697 * Represents each channel msg on the vmbus connection This is a 748 * Provides request ids for VMBus. Encapsulates guest memory 916 * Support per-channel state for use by vmbus drivers. 1011 /* request/transaction ids for VMBus */ [all …]
|
| /linux/Documentation/driver-api/ |
| H A D | uio-howto.rst | 668 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
|
| /linux/drivers/uio/ |
| H A D | Kconfig | 142 tristate "Generic driver for Hyper-V VMBus" 146 Hyper-V VMBus device. It is useful to provide direct access
|
| /linux/Documentation/ABI/testing/ |
| H A D | debugfs-hyperv | 5 Description: Fuzz testing status of a vmbus device, whether its in an ON
|
| H A D | sysfs-bus-vmbus | 1 What: /sys/bus/vmbus/devices/.../driver_override
|
| /linux/include/clocksource/ |
| H A D | hyperv_timer.h | 27 /* Routines called by the VMbus driver */
|