On 21/05/2020, Paolo Bonzini wrote:
>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
>
Hi Paolo, there is no need to look at the EOM, we have scraped it as you
can see in v4 :)