On Fri, Jul 07, 2017 at 02:22:20PM +0200, Igor Mammedov wrote: > On Thu, 29 Jun 2017 20:51:01 +0300 > Roman Kagan <rka...@virtuozzo.com> wrote: > > > On Thu, Jun 29, 2017 at 05:05:46PM +0200, Igor Mammedov wrote: > > > On Wed, 21 Jun 2017 19:24:15 +0300 > > > Roman Kagan <rka...@virtuozzo.com> wrote: > [...] > > > > > > + if (cpu->hyperv_synic) { > > > > + if (kvm_vcpu_enable_cap(CPU(cpu), KVM_CAP_HYPERV_SYNIC, 0)) { > > > > + fprintf(stderr, "failed to enable Hyper-V SynIC\n"); > > > > + return -ENOSYS; > > > > + } > > > > + > > > > + hyperv_synic_add(cpu); > > > is synic KVM specific or may it work with TCG accel? > > > > No, it's exclusively KVM. Actually most of it sits in the kernel. > > > > > in either case, looks like hyperv_synic_add() should be called from > > > x86_cpu_realizefn(), the same like we do with APIC creating it > > > depending feature being enabled. > > > > I'm not sure I understand the reason, in view of it being exclusively > > KVM. > couldn't synic be emulated (if missing QEMU part is written) in TCG mode > or it relies on specific KVM features?
At the moment it depends on KVM and, in particular, relies on lapic being in KVM. I guess with certain effort it can be done in TCG too, but we didn't even consider this so far, and have no plans for it. Roman.