mbox series

[00/10] hyperv: add connection infrastructure

Message ID 20180921082217.29481-1-rkagan@virtuozzo.com (mailing list archive)
Headers show
Series hyperv: add connection infrastructure | expand

Message

Roman Kagan Sept. 21, 2018, 8:22 a.m. UTC
This series introduces the infrastructure to send and receive Hyper-V
messages and events.

More specifically,

- SynIC is turned into a full-fledged device managing the memory regions
  used for QEMU->guest communication
- machinery is introduced to post messages and signal events to the
  guest
- infrastructure is added to subscribe to messages and events from the
  guest, and to dispatch the received messages and events to the
  subscribers

Based-on: 20180921082041.29380-1-rkagan@virtuozzo.com

Roman Kagan (10):
  hyperv:synic: split capability testing and setting
  hyperv: qom-ify SynIC
  hyperv: only add SynIC in compatible configurations
  hyperv: make overlay pages for SynIC
  hyperv: add synic message delivery
  hyperv: add synic event flag signaling
  hyperv: process SIGNAL_EVENT hypercall
  hyperv: add support for KVM_HYPERV_EVENTFD
  hyperv: process POST_MESSAGE hypercall
  hyperv_testdev: add SynIC message and event testmodes

 include/hw/hyperv/hyperv-proto.h |   1 +
 include/hw/hyperv/hyperv.h       |  58 +++-
 include/hw/i386/pc.h             |   8 +
 target/i386/cpu.h                |   1 +
 target/i386/hyperv.h             |   4 +
 hw/hyperv/hyperv.c               | 542 ++++++++++++++++++++++++++++++-
 hw/misc/hyperv_testdev.c         | 165 +++++++++-
 target/i386/cpu.c                |   2 +
 target/i386/hyperv-stub.c        |  13 +
 target/i386/hyperv.c             |  54 ++-
 target/i386/kvm.c                |  45 ++-
 target/i386/machine.c            |   9 +
 12 files changed, 872 insertions(+), 30 deletions(-)

Comments

Paolo Bonzini Oct. 3, 2018, 11:12 a.m. UTC | #1
On 21/09/2018 10:22, Roman Kagan wrote:
> This series introduces the infrastructure to send and receive Hyper-V
> messages and events.
> 
> More specifically,
> 
> - SynIC is turned into a full-fledged device managing the memory regions
>   used for QEMU->guest communication
> - machinery is introduced to post messages and signal events to the
>   guest
> - infrastructure is added to subscribe to messages and events from the
>   guest, and to dispatch the received messages and events to the
>   subscribers
> 
> Based-on: 20180921082041.29380-1-rkagan@virtuozzo.com
> 
> Roman Kagan (10):
>   hyperv:synic: split capability testing and setting
>   hyperv: qom-ify SynIC
>   hyperv: only add SynIC in compatible configurations
>   hyperv: make overlay pages for SynIC
>   hyperv: add synic message delivery
>   hyperv: add synic event flag signaling
>   hyperv: process SIGNAL_EVENT hypercall
>   hyperv: add support for KVM_HYPERV_EVENTFD
>   hyperv: process POST_MESSAGE hypercall
>   hyperv_testdev: add SynIC message and event testmodes
> 
>  include/hw/hyperv/hyperv-proto.h |   1 +
>  include/hw/hyperv/hyperv.h       |  58 +++-
>  include/hw/i386/pc.h             |   8 +
>  target/i386/cpu.h                |   1 +
>  target/i386/hyperv.h             |   4 +
>  hw/hyperv/hyperv.c               | 542 ++++++++++++++++++++++++++++++-
>  hw/misc/hyperv_testdev.c         | 165 +++++++++-
>  target/i386/cpu.c                |   2 +
>  target/i386/hyperv-stub.c        |  13 +
>  target/i386/hyperv.c             |  54 ++-
>  target/i386/kvm.c                |  45 ++-
>  target/i386/machine.c            |   9 +
>  12 files changed, 872 insertions(+), 30 deletions(-)
> 

I queued all three series, though if I were to post a pull request now
I'd stop before "hyperv: add synic message delivery".

Paolo
Roman Kagan Oct. 3, 2018, 2:25 p.m. UTC | #2
On Wed, Oct 03, 2018 at 01:12:10PM +0200, Paolo Bonzini wrote:
> On 21/09/2018 10:22, Roman Kagan wrote:
> > This series introduces the infrastructure to send and receive Hyper-V
> > messages and events.
> > 
> > More specifically,
> > 
> > - SynIC is turned into a full-fledged device managing the memory regions
> >   used for QEMU->guest communication
> > - machinery is introduced to post messages and signal events to the
> >   guest
> > - infrastructure is added to subscribe to messages and events from the
> >   guest, and to dispatch the received messages and events to the
> >   subscribers
> > 
> > Based-on: 20180921082041.29380-1-rkagan@virtuozzo.com
> > 
> > Roman Kagan (10):
> >   hyperv:synic: split capability testing and setting
> >   hyperv: qom-ify SynIC
> >   hyperv: only add SynIC in compatible configurations
> >   hyperv: make overlay pages for SynIC
> >   hyperv: add synic message delivery
> >   hyperv: add synic event flag signaling
> >   hyperv: process SIGNAL_EVENT hypercall
> >   hyperv: add support for KVM_HYPERV_EVENTFD
> >   hyperv: process POST_MESSAGE hypercall
> >   hyperv_testdev: add SynIC message and event testmodes
> > 
> >  include/hw/hyperv/hyperv-proto.h |   1 +
> >  include/hw/hyperv/hyperv.h       |  58 +++-
> >  include/hw/i386/pc.h             |   8 +
> >  target/i386/cpu.h                |   1 +
> >  target/i386/hyperv.h             |   4 +
> >  hw/hyperv/hyperv.c               | 542 ++++++++++++++++++++++++++++++-
> >  hw/misc/hyperv_testdev.c         | 165 +++++++++-
> >  target/i386/cpu.c                |   2 +
> >  target/i386/hyperv-stub.c        |  13 +
> >  target/i386/hyperv.c             |  54 ++-
> >  target/i386/kvm.c                |  45 ++-
> >  target/i386/machine.c            |   9 +
> >  12 files changed, 872 insertions(+), 30 deletions(-)
> > 
> 
> I queued all three series, though if I were to post a pull request now
> I'd stop before "hyperv: add synic message delivery".

To make sure I interpret this correctly: do the remaining patches need
more work beside the things you've commented on?

Also do you want me to post the corrected stuff as incremental fixups or
as a full-fledged respin?  In the latter case should I assume your r-b
on all patches before that one?

Thanks,
Roman.
Paolo Bonzini Oct. 3, 2018, 2:35 p.m. UTC | #3
On 03/10/2018 16:25, Roman Kagan wrote:
>> I queued all three series, though if I were to post a pull request now
>> I'd stop before "hyperv: add synic message delivery".
> To make sure I interpret this correctly: do the remaining patches need
> more work beside the things you've commented on?
> 
> Also do you want me to post the corrected stuff as incremental fixups or
> as a full-fledged respin?  In the latter case should I assume your r-b
> on all patches before that one?

No need to do anything, I just wanted an explanation of patch 5 (I can
fix the "Mesage" thing myself).

Paolo