hyperv: SControl is optional to enable SynIc
authorJon Doron <arilou@gmail.com>
Wed, 16 Feb 2022 10:24:57 +0000 (12:24 +0200)
committerPaolo Bonzini <pbonzini@redhat.com>
Wed, 6 Apr 2022 12:31:56 +0000 (14:31 +0200)
commit64ddecc88bcf2689d2df5df3bea7f85856dc6519
tree7f411bd7e2f1e62083f2ccd5348dbf9896e357f7
parent8ab3026489eafa9da07c09f1929593fe0db5e380
hyperv: SControl is optional to enable SynIc

SynIc can be enabled regardless of the SControl mechanisim which can
register a GSI for a given SintRoute.

This behaviour can achived by setting enabling SIMP and then the guest
will poll on the message slot.

Once there is another message pending the host will set the message slot
with the pending flag.
When the guest polls from the message slot, in case the pending flag is
set it will write to the HV_X64_MSR_EOM indicating it has cleared the
slot and we can try and push our message again.

Signed-off-by: Jon Doron <arilou@gmail.com>
Reviewed-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Message-Id: <20220216102500.692781-2-arilou@gmail.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
hw/hyperv/hyperv.c