kvm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Marc Zyngier <maz@kernel.org>
To: Will Deacon <will@kernel.org>, kvmarm@lists.linux.dev
Cc: "Vincent Donnefort" <vdonnefort@google.com>,
	"James Morse" <james.morse@arm.com>,
	"Mark Rutland" <mark.rutland@arm.com>,
	"Alexandru Elisei" <alexandru.elisei@arm.com>,
	kernel-team@android.com, "Quentin Perret" <qperret@google.com>,
	"Philippe Mathieu-Daudé" <philmd@linaro.org>,
	"Suzuki K Poulose" <suzuki.poulose@arm.com>,
	"Fuad Tabba" <tabba@google.com>,
	kvm@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	"Oliver Upton" <oliver.upton@linux.dev>,
	"Sean Christopherson" <seanjc@google.com>,
	"Catalin Marinas" <catalin.marinas@arm.com>,
	"Chao Peng" <chao.p.peng@linux.intel.com>
Subject: Re: [PATCH v6 00/26] KVM: arm64: Introduce pKVM hyp VM and vCPU state at EL2
Date: Fri, 11 Nov 2022 19:06:14 +0000	[thread overview]
Message-ID: <166819337067.3836113.13147674500457473286.b4-ty@kernel.org> (raw)
In-Reply-To: <20221110190259.26861-1-will@kernel.org>

On Thu, 10 Nov 2022 19:02:33 +0000, Will Deacon wrote:
> This is version six of the pKVM EL2 state series, extending the pKVM
> hypervisor code so that it can dynamically instantiate and manage VM
> data structures without the host being able to access them directly.
> These structures consist of a hyp VM, a set of hyp vCPUs and the stage-2
> page-table for the MMU. The pages used to hold the hypervisor structures
> are returned to the host when the VM is destroyed.
> 
> [...]

As for Oliver's series, I've tentatively applied this to -next.
I've dropped Oliver's patch for now, but kept the RFC one. Maybe I'll
change my mind.

Anyway, there was an interesting number of conflicts between the two
series, which I tried to resolve as well as I could, but it is likely
I broke something (although it compiles, so it must be perfect).

Please have a look and shout if/when you spot something.

[01/26] KVM: arm64: Move hyp refcount manipulation helpers to common header file
        commit: 0f4f7ae10ee4e6403659b2d9ddf05424eecde45b
[02/26] KVM: arm64: Allow attaching of non-coalescable pages to a hyp pool
        commit: 72a5bc0f153ce8ca80e9abbd1d9adec7d586915a
[03/26] KVM: arm64: Back the hypervisor 'struct hyp_page' array for all memory
        commit: 8e6bcc3a4502a0d8d065466efd888b6b59b85789
[04/26] KVM: arm64: Fix-up hyp stage-1 refcounts for all pages mapped at EL2
        commit: 0d16d12eb26ef85602ef8a678d94825a66772774
[05/26] KVM: arm64: Unify identifiers used to distinguish host and hypervisor
        commit: 33bc332d4061e95db55594893c4f80105b1dd813
[06/26] KVM: arm64: Implement do_donate() helper for donating memory
        commit: 1ed5c24c26f48ff61dc5d97c655769821f36a622
[07/26] KVM: arm64: Prevent the donation of no-map pages
        commit: 43c1ff8b75011bc3e3e923adf31ba815864a2494
[08/26] KVM: arm64: Add helpers to pin memory shared with the hypervisor at EL2
        commit: 9926cfce8dcb880255f30ab9ac930add787e1ead
[09/26] KVM: arm64: Include asm/kvm_mmu.h in nvhe/mem_protect.h
        commit: 4d968b12e6bbe4440f4f220c41d779e02df8af1a
[10/26] KVM: arm64: Add hyp_spinlock_t static initializer
        commit: 1c80002e3264552d8b9c0e162e09aa4087403716
[11/26] KVM: arm64: Rename 'host_kvm' to 'host_mmu'
        commit: 5304002dc3754a5663d75c977bfa2d9e3c08906d
[12/26] KVM: arm64: Add infrastructure to create and track pKVM instances at EL2
        commit: a1ec5c70d3f63d8a143fb83cd7f53bd8ff2f72c8
[13/26] KVM: arm64: Instantiate pKVM hypervisor VM and vCPU structures from EL1
        commit: 9d0c063a4d1d10ef8e6288899b8524413e40cfa0
[14/26] KVM: arm64: Add per-cpu fixmap infrastructure at EL2
        commit: aa6948f82f0b7060fbbac21911dc7996b144ba3c
[15/26] KVM: arm64: Initialise hypervisor copies of host symbols unconditionally
        commit: 6c165223e9a6384aa1e934b90f2650e71adb972a
[16/26] KVM: arm64: Provide I-cache invalidation by virtual address at EL2
        commit: 13e248aab73d2f1c27b458ef09d38b44f3e5bf2e
[17/26] KVM: arm64: Add generic hyp_memcache helpers
        commit: 717a7eebac106a5cc5d5493f8eef9cf4ae6edf19
[18/26] KVM: arm64: Consolidate stage-2 initialisation into a single function
        commit: 315775ff7c6de497dd07c3f6eff499fb538783eb
[19/26] KVM: arm64: Instantiate guest stage-2 page-tables at EL2
        commit: 60dfe093ec13b056856c672e1daa35134be38283
[20/26] KVM: arm64: Return guest memory from EL2 via dedicated teardown memcache
        commit: f41dff4efb918db68923a826e966ca62c7c8e929
[21/26] KVM: arm64: Unmap 'kvm_arm_hyp_percpu_base' from the host
        commit: fe41a7f8c0ee3ee2f682f8c28c7e1c5ff2be8a79
[22/26] KVM: arm64: Maintain a copy of 'kvm_arm_vmid_bits' at EL2
        commit: 73f38ef2ae531b180685173e0923225551434fcb
[23/26] KVM: arm64: Explicitly map 'kvm_vgic_global_state' at EL2
        commit: 27eb26bfff5d358d42911d04bbecc62e659ec32b
[24/26] KVM: arm64: Don't unnecessarily map host kernel sections at EL2
        commit: 169cd0f8238f2598b85d2db2e15828e8f8da18e5
[25/26] KVM: arm64: Clean out the odd handling of completer_addr
        (no commit info)
[26/26] KVM: arm64: Use the pKVM hyp vCPU structure in handle___kvm_vcpu_run()
        commit: be66e67f175096f283c9d5614c4991fc9e7ed975

Cheers,

	M.
-- 
Without deviation from the norm, progress is not possible.



  parent reply	other threads:[~2022-11-11 19:06 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-11-10 19:02 [PATCH v6 00/26] KVM: arm64: Introduce pKVM hyp VM and vCPU state at EL2 Will Deacon
2022-11-10 19:02 ` [PATCH v6 01/26] KVM: arm64: Move hyp refcount manipulation helpers to common header file Will Deacon
2022-11-10 19:02 ` [PATCH v6 02/26] KVM: arm64: Allow attaching of non-coalescable pages to a hyp pool Will Deacon
2022-11-10 19:02 ` [PATCH v6 03/26] KVM: arm64: Back the hypervisor 'struct hyp_page' array for all memory Will Deacon
2022-11-10 19:02 ` [PATCH v6 04/26] KVM: arm64: Fix-up hyp stage-1 refcounts for all pages mapped at EL2 Will Deacon
2022-11-10 19:02 ` [PATCH v6 05/26] KVM: arm64: Unify identifiers used to distinguish host and hypervisor Will Deacon
2022-11-10 19:02 ` [PATCH v6 06/26] KVM: arm64: Implement do_donate() helper for donating memory Will Deacon
2022-11-10 19:02 ` [PATCH v6 07/26] KVM: arm64: Prevent the donation of no-map pages Will Deacon
2022-11-10 19:02 ` [PATCH v6 08/26] KVM: arm64: Add helpers to pin memory shared with the hypervisor at EL2 Will Deacon
2022-11-10 19:02 ` [PATCH v6 09/26] KVM: arm64: Include asm/kvm_mmu.h in nvhe/mem_protect.h Will Deacon
2022-11-10 19:02 ` [PATCH v6 10/26] KVM: arm64: Add hyp_spinlock_t static initializer Will Deacon
2022-11-10 19:02 ` [PATCH v6 11/26] KVM: arm64: Rename 'host_kvm' to 'host_mmu' Will Deacon
2022-11-10 19:02 ` [PATCH v6 12/26] KVM: arm64: Add infrastructure to create and track pKVM instances at EL2 Will Deacon
2022-11-11 17:11   ` Marc Zyngier
2022-11-10 19:02 ` [PATCH v6 13/26] KVM: arm64: Instantiate pKVM hypervisor VM and vCPU structures from EL1 Will Deacon
2022-11-10 19:02 ` [PATCH v6 14/26] KVM: arm64: Add per-cpu fixmap infrastructure at EL2 Will Deacon
2022-11-10 19:02 ` [PATCH v6 15/26] KVM: arm64: Initialise hypervisor copies of host symbols unconditionally Will Deacon
2022-11-10 19:02 ` [PATCH v6 16/26] KVM: arm64: Provide I-cache invalidation by virtual address at EL2 Will Deacon
2022-11-10 19:02 ` [PATCH v6 17/26] KVM: arm64: Add generic hyp_memcache helpers Will Deacon
2022-11-10 19:02 ` [PATCH v6 18/26] KVM: arm64: Consolidate stage-2 initialisation into a single function Will Deacon
2022-11-10 19:02 ` [PATCH v6 19/26] KVM: arm64: Instantiate guest stage-2 page-tables at EL2 Will Deacon
2022-11-10 19:02 ` [PATCH v6 20/26] KVM: arm64: Return guest memory from EL2 via dedicated teardown memcache Will Deacon
2022-11-10 19:02 ` [PATCH v6 21/26] KVM: arm64: Unmap 'kvm_arm_hyp_percpu_base' from the host Will Deacon
2022-11-10 19:02 ` [PATCH v6 22/26] KVM: arm64: Maintain a copy of 'kvm_arm_vmid_bits' at EL2 Will Deacon
2022-11-10 19:02 ` [PATCH v6 23/26] KVM: arm64: Explicitly map 'kvm_vgic_global_state' " Will Deacon
2022-11-10 19:02 ` [PATCH v6 24/26] KVM: arm64: Don't unnecessarily map host kernel sections " Will Deacon
2022-11-10 19:02 ` [PATCH v6 25/26] KVM: arm64: Clean out the odd handling of completer_addr Will Deacon
2022-11-10 19:02 ` [RFC PATCH v6 26/26] KVM: arm64: Use the pKVM hyp vCPU structure in handle___kvm_vcpu_run() Will Deacon
2022-11-11 16:54 ` [PATCH v6 00/26] KVM: arm64: Introduce pKVM hyp VM and vCPU state at EL2 Marc Zyngier
2022-11-11 19:42   ` Oliver Upton
2022-11-14 18:19     ` Will Deacon
2022-11-11 19:06 ` Marc Zyngier [this message]
2022-11-11 20:08   ` Oliver Upton
2022-11-12 11:34     ` Marc Zyngier
2022-11-14 19:30   ` Will Deacon

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=166819337067.3836113.13147674500457473286.b4-ty@kernel.org \
    --to=maz@kernel.org \
    --cc=alexandru.elisei@arm.com \
    --cc=catalin.marinas@arm.com \
    --cc=chao.p.peng@linux.intel.com \
    --cc=james.morse@arm.com \
    --cc=kernel-team@android.com \
    --cc=kvm@vger.kernel.org \
    --cc=kvmarm@lists.linux.dev \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=mark.rutland@arm.com \
    --cc=oliver.upton@linux.dev \
    --cc=philmd@linaro.org \
    --cc=qperret@google.com \
    --cc=seanjc@google.com \
    --cc=suzuki.poulose@arm.com \
    --cc=tabba@google.com \
    --cc=vdonnefort@google.com \
    --cc=will@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).