qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [RFC PATCH 09/34] hyperv: block SynIC use in QEMU in in


From: Paolo Bonzini
Subject: Re: [Qemu-devel] [RFC PATCH 09/34] hyperv: block SynIC use in QEMU in incompatible configurations
Date: Wed, 7 Feb 2018 11:46:30 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.5.2

On 06/02/2018 21:30, Roman Kagan wrote:
> Certain configurations do not allow SynIC to be used in QEMU.  In
> particular,
> 
> - when hyperv_vpindex is off, SINT routes can't be used as they refer to
>   the destination vCPU by vp_index
> 
> - older KVM (which doesn't expose KVM_CAP_HYPERV_SYNIC2) zeroes out
>   SynIC message and event pages on every msr load, breaking migration
> 
> OTOH in-KVM users of SynIC -- SynIC timers -- do work in those
> configurations, and we shouldn't stop the guest from using them.
> 
> To cover both scenarios, introduce a (user-invisible) SynIC property
> that disallows to use the SynIC within QEMU but not in KVM.  The
> property is clear by default but is set via compat logic for older
> machine types.
> 
> As a result, when hv_synic and a modern machine type are specified, QEMU
> will refuse to run unless vp_index is on and the kernel is recent
> enough.  OTOH with older machine types QEMU will fine run against an
> older kernel and/or without vp_index enabled but will refuse the in-QEMU
> uses of SynIC (e.g. VMBus).
> 
> Also a function is added that allows the devices to query the status of
> SynIC support across vCPUs.
> 
> Signed-off-by: Roman Kagan <address@hidden>

FWIW I'm okay with just requiring a new-enough kernel when using SynIC.
It's always been experimental.

Paolo



reply via email to

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