<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bwlp/qemu.git/target/i386/hyperv.h, branch spice_video_codecs</title>
<subtitle>Experimental fork of QEMU with video encoding patches</subtitle>
<id>https://git.openslx.org/bwlp/qemu.git/atom/target/i386/hyperv.h?h=spice_video_codecs</id>
<link rel='self' href='https://git.openslx.org/bwlp/qemu.git/atom/target/i386/hyperv.h?h=spice_video_codecs'/>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/'/>
<updated>2020-12-16T19:06:52+00:00</updated>
<entry>
<title>i386: move kvm accel files into kvm/</title>
<updated>2020-12-16T19:06:52+00:00</updated>
<author>
<name>Claudio Fontana</name>
</author>
<published>2020-12-12T15:55:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=a9dc68d9b240bd4cb0c8910c6d10f6bdf9d53cb3'/>
<id>urn:sha1:a9dc68d9b240bd4cb0c8910c6d10f6bdf9d53cb3</id>
<content type='text'>
Signed-off-by: Claudio Fontana &lt;cfontana@suse.de&gt;
Reviewed-by: Alex Bennée &lt;alex.bennee@linaro.org&gt;
Reviewed-by: Richard Henderson &lt;richard.henderson@linaro.org&gt;
Message-Id: &lt;20201212155530.23098-2-cfontana@suse.de&gt;
Signed-off-by: Eduardo Habkost &lt;ehabkost@redhat.com&gt;
</content>
</entry>
<entry>
<title>hyperv: qom-ify SynIC</title>
<updated>2018-10-19T11:44:14+00:00</updated>
<author>
<name>Roman Kagan</name>
</author>
<published>2018-09-21T08:22:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=606c34bfd57a0ecda67b395bea022bb307a5384e'/>
<id>urn:sha1:606c34bfd57a0ecda67b395bea022bb307a5384e</id>
<content type='text'>
Make Hyper-V SynIC a device which is attached as a child to a CPU.  For
now it only makes SynIC visibile in the qom hierarchy, and maintains its
internal fields in sync with the respecitve msrs of the parent cpu (the
fields will be used in followup patches).

Signed-off-by: Roman Kagan &lt;rkagan@virtuozzo.com&gt;
Message-Id: &lt;20180921082217.29481-3-rkagan@virtuozzo.com&gt;
Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
</content>
</entry>
<entry>
<title>i386: add hyperv-stub for CONFIG_HYPERV=n</title>
<updated>2018-10-19T11:44:14+00:00</updated>
<author>
<name>Roman Kagan</name>
</author>
<published>2018-09-21T08:20:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=8417442a34f78f1e1dda87aff27c8a42124f4d42'/>
<id>urn:sha1:8417442a34f78f1e1dda87aff27c8a42124f4d42</id>
<content type='text'>
This will allow to build slightly leaner QEMU that supports some HyperV
features of KVM (e.g. SynIC timers, PV spinlocks, APIC assists, etc.)
but nothing else on the QEMU side.

Signed-off-by: Roman Kagan &lt;rkagan@virtuozzo.com&gt;
Message-Id: &lt;20180921082041.29380-6-rkagan@virtuozzo.com&gt;
Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
</content>
</entry>
<entry>
<title>hyperv: factor out arch-independent API into hw/hyperv</title>
<updated>2018-10-19T11:44:13+00:00</updated>
<author>
<name>Roman Kagan</name>
</author>
<published>2018-09-21T08:20:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=701189e31140a7c82ec02a7f4ca632cfd6a8559d'/>
<id>urn:sha1:701189e31140a7c82ec02a7f4ca632cfd6a8559d</id>
<content type='text'>
A significant part of hyperv.c is not actually tied to x86, and can
be moved to hw/.

This will allow to maintain most of Hyper-V and VMBus
target-independent, and to avoid conflicts with inclusion of
arch-specific headers down the road in VMBus implementation.

Also this stuff can now be opt-out with CONFIG_HYPERV.

Signed-off-by: Roman Kagan &lt;rkagan@virtuozzo.com&gt;
Message-Id: &lt;20180921082041.29380-4-rkagan@virtuozzo.com&gt;
Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
</content>
</entry>
<entry>
<title>hyperv: make hyperv_vp_index inline</title>
<updated>2018-10-19T11:44:13+00:00</updated>
<author>
<name>Roman Kagan</name>
</author>
<published>2018-09-21T08:20:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=51f0ac63812abf41d3a9284a272c6275d7318705'/>
<id>urn:sha1:51f0ac63812abf41d3a9284a272c6275d7318705</id>
<content type='text'>
Also make the inverse function, hyperv_find_vcpu, static as it's not
used outside hyperv.c

This paves the way to making hyperv.c built optionally.

Signed-off-by: Roman Kagan &lt;rkagan@virtuozzo.com&gt;
Message-Id: &lt;20180921082041.29380-3-rkagan@virtuozzo.com&gt;
Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
</content>
</entry>
<entry>
<title>hyperv: rename kvm_hv_sint_route_set_sint</title>
<updated>2018-10-19T11:44:13+00:00</updated>
<author>
<name>Roman Kagan</name>
</author>
<published>2018-09-21T08:18:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=2486cb8eba919980091c754256cd014342738a6a'/>
<id>urn:sha1:2486cb8eba919980091c754256cd014342738a6a</id>
<content type='text'>
There's nothing kvm-specific in it so follow the suite and replace
"kvm_hv" prefix with "hyperv".

Signed-off-by: Roman Kagan &lt;rkagan@virtuozzo.com&gt;
Message-Id: &lt;20180921081836.29230-9-rkagan@virtuozzo.com&gt;
Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
</content>
</entry>
<entry>
<title>hyperv: make HvSintRoute reference-counted</title>
<updated>2018-10-19T11:44:13+00:00</updated>
<author>
<name>Roman Kagan</name>
</author>
<published>2018-09-21T08:18:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=3d3e6e85c3ebd5cd551133af9bace084360307a3'/>
<id>urn:sha1:3d3e6e85c3ebd5cd551133af9bace084360307a3</id>
<content type='text'>
Multiple entities (e.g. VMBus devices) can use the same SINT route.  To
make their lives easier in maintaining SINT route ownership, make it
reference-counted.  Adjust the respective API names accordingly.

Signed-off-by: Roman Kagan &lt;rkagan@virtuozzo.com&gt;
Message-Id: &lt;20180921081836.29230-8-rkagan@virtuozzo.com&gt;
Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
</content>
</entry>
<entry>
<title>hyperv: allow passing arbitrary data to sint ack callback</title>
<updated>2018-10-19T11:44:13+00:00</updated>
<author>
<name>Roman Kagan</name>
</author>
<published>2018-09-21T08:18:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=b56920245c1f708976b6f1bf8ddc4a1e9bd33059'/>
<id>urn:sha1:b56920245c1f708976b6f1bf8ddc4a1e9bd33059</id>
<content type='text'>
Make sint ack callback accept an opaque pointer, that is stored on
sint_route at creation time.

This allows for more convenient interaction with the callback.

Besides, nothing outside hyperv.c should need to know the layout of
HvSintRoute fields any more so its declaration can be removed from the
header.

Signed-off-by: Roman Kagan &lt;rkagan@virtuozzo.com&gt;
Message-Id: &lt;20180921081836.29230-6-rkagan@virtuozzo.com&gt;
Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
</content>
</entry>
<entry>
<title>hyperv: ensure VP index equal to QEMU cpu_index</title>
<updated>2018-07-16T14:58:16+00:00</updated>
<author>
<name>Roman Kagan</name>
</author>
<published>2018-07-02T13:41:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=e9688fabc32b532c9a93794c37e343facd5ecd36'/>
<id>urn:sha1:e9688fabc32b532c9a93794c37e343facd5ecd36</id>
<content type='text'>
Hyper-V identifies vCPUs by Virtual Processor (VP) index which can be
queried by the guest via HV_X64_MSR_VP_INDEX msr.  It is defined by the
spec as a sequential number which can't exceed the maximum number of
vCPUs per VM.

It has to be owned by QEMU in order to preserve it across migration.

However, the initial implementation in KVM didn't allow to set this
msr, and KVM used its own notion of VP index.  Fortunately, the way
vCPUs are created in QEMU/KVM makes it likely that the KVM value is
equal to QEMU cpu_index.

So choose cpu_index as the value for vp_index, and push that to KVM on
kernels that support setting the msr.  On older ones that don't, query
the kernel value and assert that it's in sync with QEMU.

Besides, since handling errors from vCPU init at hotplug time is
impossible, disable vCPU hotplug.

This patch also introduces accessor functions to encapsulate the mapping
between a vCPU and its vp_index.

Signed-off-by: Roman Kagan &lt;rkagan@virtuozzo.com&gt;
Message-Id: &lt;20180702134156.13404-3-rkagan@virtuozzo.com&gt;
Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
</content>
</entry>
<entry>
<title>hyperv: rename vcpu_id to vp_index</title>
<updated>2018-07-16T14:58:16+00:00</updated>
<author>
<name>Roman Kagan</name>
</author>
<published>2018-07-02T13:41:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=1b2013ea5ddfd7d6a1426bd716dd6528ec91a8a7'/>
<id>urn:sha1:1b2013ea5ddfd7d6a1426bd716dd6528ec91a8a7</id>
<content type='text'>
In Hyper-V-related code, vCPUs are identified by their VP (virtual
processor) index.  Since it's customary for "vcpu_id" in QEMU to mean
APIC id, rename the respective variables to "vp_index" to make the
distinction clear.

Signed-off-by: Roman Kagan &lt;rkagan@virtuozzo.com&gt;
Message-Id: &lt;20180702134156.13404-2-rkagan@virtuozzo.com&gt;
Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
</content>
</entry>
</feed>
