All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v2 00/14] target/arm/kvm: enable SVE in guests
@ 2019-07-04 10:20 Zhang, Lei
  2019-07-17  8:43 ` Andrew Jones
  0 siblings, 1 reply; 3+ messages in thread
From: Zhang, Lei @ 2019-07-04 10:20 UTC (permalink / raw)
  To: 'drjones@redhat.com', 'qemu-devel@nongnu.org'
  Cc: Mizuma, Masayoshi, Okamoto, Takayuki, Zhang, Lei

Hi Andrew,

This patch series works fine for my use cases.
Please feel free to add.

   Tested-by: Zhang, Lei <zhang.lei@jp.fujitsu.com>

I suppose v3 patches will be released. I'm looking forward to the v3 patches.

Best Regards,
Lei Zhang

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [Qemu-devel] [PATCH v2 00/14] target/arm/kvm: enable SVE in guests
  2019-07-04 10:20 [Qemu-devel] [PATCH v2 00/14] target/arm/kvm: enable SVE in guests Zhang, Lei
@ 2019-07-17  8:43 ` Andrew Jones
  0 siblings, 0 replies; 3+ messages in thread
From: Andrew Jones @ 2019-07-17  8:43 UTC (permalink / raw)
  To: Zhang, Lei
  Cc: Mizuma, Masayoshi, Okamoto, Takayuki, 'qemu-devel@nongnu.org'

On Thu, Jul 04, 2019 at 10:20:16AM +0000, Zhang, Lei wrote:
> Hi Andrew,
> 
> This patch series works fine for my use cases.
> Please feel free to add.
> 
>    Tested-by: Zhang, Lei <zhang.lei@jp.fujitsu.com>

Thank you, Lei.

> 
> I suppose v3 patches will be released. I'm looking forward to the v3 patches.

I'm starting to pull v3 together now.

Thanks,
drew


^ permalink raw reply	[flat|nested] 3+ messages in thread

* [Qemu-devel] [PATCH v2 00/14] target/arm/kvm: enable SVE in guests
@ 2019-06-21 16:34 Andrew Jones
  0 siblings, 0 replies; 3+ messages in thread
From: Andrew Jones @ 2019-06-21 16:34 UTC (permalink / raw)
  To: qemu-devel, qemu-arm
  Cc: peter.maydell, richard.henderson, armbru, eric.auger, imammedo,
	alex.bennee, Dave.Martin

Since Linux kernel v5.2-rc1 KVM has support for enabling SVE in guests.
This series provides the QEMU bits for that enablement. This is a v2
series, however it looks completely different than v1. Thank you to
all who reviewed v1. I've included all input still relevant to this
new approach. And the new approach is thanks to Igor for suggesting
it. The new approach is to use a CPU property for each vector length
and then implement the preexisting qmp_query_cpu_model_expansion
query for Arm to expose them. Here's how the series goes:

First, we select existing CPU properties representing features we
want to advertise in addition to the SVE vector lengths and prepare
them for the qmp query. Then we introduce the qmp query, applying
it immediately to those selected features. We next add a qtest for
the selected CPU features that uses the qmp query for its tests - and
we continue to add tests as we add CPU features with the following
patches. So then, once we have the support we need for CPU feature
querying and testing, we add our first SVE CPU feature property, sve,
which just allows SVE to be completely enabled/disabled. Following
that feature property, we add all 16 vector length properties along
with the input validation they need and tests to prove the validation
works. At this point the SVE features are still only for TCG, so we
provide some patches to prepare for KVM and then a patch that allows
the 'max' CPU type to enable SVE with KVM, but at first without
vector length properties. After a bit more preparation we add the
SVE vector length properties to the KVM-enabled 'max' CPU type along
with the additional input validation and tests that that needs.
Finally we allow the 'host' CPU type to also enjoy these properties
by simply sharing them with it.

Phew, I think that's everything.

Thanks!
drew

Andrew Jones (14):
  target/arm/cpu64: Ensure kvm really supports aarch64=off
  target/arm/cpu: Ensure we can use the pmu with kvm
  target/arm/monitor: Introduce qmp_query_cpu_model_expansion
  tests: arm: Introduce cpu feature tests
  target/arm/helper: zcr: Add build bug next to value range assumption
  target/arm: Allow SVE to be disabled via a CPU property
  target/arm/cpu64: max cpu: Introduce sve<vl-bits> properties
  target/arm/kvm64: Fix error returns
  target/arm/kvm64: Move the get/put of fpsimd registers out
  target/arm/kvm64: Add kvm_arch_get/put_sve
  target/arm/kvm64: max cpu: Enable SVE when available
  target/arm/kvm: scratch vcpu: Preserve input kvm_vcpu_init features
  target/arm/cpu64: max cpu: Support sve properties with KVM
  target/arm/kvm: host cpu: Add support for sve<vl-bits> properties

 qapi/target.json         |   6 +-
 target/arm/cpu.c         |  47 +++-
 target/arm/cpu.h         |  17 ++
 target/arm/cpu64.c       | 548 +++++++++++++++++++++++++++++++++++++--
 target/arm/helper.c      |  20 +-
 target/arm/kvm.c         |  34 ++-
 target/arm/kvm32.c       |   6 +-
 target/arm/kvm64.c       | 428 +++++++++++++++++++++++++-----
 target/arm/kvm_arm.h     |  73 ++++++
 target/arm/monitor.c     | 148 +++++++++++
 tests/Makefile.include   |   5 +-
 tests/arm-cpu-features.c | 509 ++++++++++++++++++++++++++++++++++++
 12 files changed, 1738 insertions(+), 103 deletions(-)
 create mode 100644 tests/arm-cpu-features.c

-- 
2.20.1



^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2019-07-17  8:43 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-07-04 10:20 [Qemu-devel] [PATCH v2 00/14] target/arm/kvm: enable SVE in guests Zhang, Lei
2019-07-17  8:43 ` Andrew Jones
  -- strict thread matches above, loose matches on Subject: below --
2019-06-21 16:34 Andrew Jones

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.