On 24/04/20 14:34, Jon Doron wrote:
> This is a rebase of the old patchset from Roman for HyperV VMBus
> implementation.
> 
> How to use:
> -device vmbus-bridge
> 
> Later on new paravirtualized devices can be implemented on top of it
> (Network/SCSI/etc.)
> 
> VMBus is a collection of technologies.  At its lowest layer, it's a message
> passing and signaling mechanism, allowing efficient passing of messages to and
> from guest VMs.  A layer higher, it's a mechanism for defining channels of
> communication, where each channel is tagged with a type (which implies a
> protocol) and a instance ID.  A layer higher than that, it's a bus driver,
> serving as the basis of device enumeration within a VM, where a channel can
> optionally be exposed as a paravirtual device.  When a server-side 
> (paravirtual
> back-end) component wishes to offer a channel to a guest VM, it does so by
> specifying a channel type, a mode, and an instance ID.  VMBus then exposes 
> this
> in the guest.
> 
> More information about VMBus can be found in the file
> vmbuskernelmodeclientlibapi.h in Microsoft's WDK.
> 
> v4:
> Decided to ditch the patch that envolves handling of EOM as there is
> still a discussion going on with it in the KVM mailing list.
> 
> v3:
> Fixed an error asan
> 
> v2:
> Rebased on top of latest patchset from Roman and Maciej
> 
> Jon Doron (6):
>   hyperv: expose API to determine if synic is enabled
>   vmbus: add vmbus protocol definitions
>   vmbus: vmbus implementation
>   i386:pc: whitelist dynamic vmbus-bridge
>   i386: Hyper-V VMBus ACPI DSDT entry
>   vmbus: add infrastructure to save/load vmbus requests
> 
>  Makefile.objs                    |    1 +
>  hw/hyperv/Kconfig                |    5 +
>  hw/hyperv/Makefile.objs          |    1 +
>  hw/hyperv/hyperv.c               |    8 +
>  hw/hyperv/trace-events           |   18 +
>  hw/hyperv/vmbus.c                | 2778 ++++++++++++++++++++++++++++++
>  hw/i386/acpi-build.c             |   43 +
>  hw/i386/pc_piix.c                |    2 +
>  hw/i386/pc_q35.c                 |    2 +
>  include/hw/hyperv/hyperv.h       |    1 +
>  include/hw/hyperv/vmbus-bridge.h |   35 +
>  include/hw/hyperv/vmbus-proto.h  |  222 +++
>  include/hw/hyperv/vmbus.h        |  230 +++
>  13 files changed, 3346 insertions(+)
>  create mode 100644 hw/hyperv/trace-events
>  create mode 100644 hw/hyperv/vmbus.c
>  create mode 100644 include/hw/hyperv/vmbus-bridge.h
>  create mode 100644 include/hw/hyperv/vmbus-proto.h
>  create mode 100644 include/hw/hyperv/vmbus.h
> 

Queued, thanks.  I'll take a look at the EOM handling threads next.

Paolo


Reply via email to