qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v4 0/6] hyperv: VMBus implementation


From: Paolo Bonzini
Subject: Re: [PATCH v4 0/6] hyperv: VMBus implementation
Date: Thu, 21 May 2020 18:03:11 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.6.0

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

[Prev in Thread] Current Thread [Next in Thread]