Kernel KVM virtualization development
 help / color / mirror / Atom feed
From: Marc Zyngier <maz@kernel.org>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: Fuad Tabba <fuad.tabba@linux.dev>,
	Itaru Kitayama <itaru.kitayama@fujitsu.com>,
	Lorenzo Stoakes <ljs@kernel.org>, Mark Brown <broonie@kernel.org>,
	Oliver Upton <oupton@kernel.org>,
	Sascha Bischoff <sascha.bischoff@arm.com>,
	Sasha Levin <sashal@kernel.org>,
	Steven Rostedt <rostedt@goodmis.org>,
	Suzuki K Poulose <suzuki.poulose@arm.com>,
	Vincent Donnefort <vdonnefort@google.com>,
	Steffen Eiden <seiden@linux.ibm.com>,
	Joey Gouly <joey.gouly@arm.com>,
	Zenghui Yu <yuzenghui@huawei.com>,
	kvmarm@lists.linux.dev, linux-arm-kernel@lists.infradead.org,
	kvm@vger.kernel.org
Subject: [GIT PULL] KVM/arm64 fixes for 7.4, take #1
Date: Tue, 27 Oct 2026 14:34:24 +0000	[thread overview]
Message-ID: <20261027143424.2732449-1-maz@kernel.org> (raw)

Paolo,

Here's the first set of KVM/arm64 fixes for 7.4, most of which have
been brewing for some time. Of note: a couple of fixes for mismerges
in the initial kvmarm-7,4 pull request, fixes for the publication of
IN/OUTSIDE_GUEST_MODE, and nesting for vcpu pausing. The rest is a
bunch of cleanups for nonsensical configurations and some more pKVM
fixes. I have already started queuing more fixes, so it is likely that
I'll be back next week with a similar email.

Note that this is on top of the initial pull-request that you sent to
Linus, so hopefully conflict free.

Please pull,

	M.

The following changes since commit 814607cd40df80d5727957adaa857e0feca43497:

  Merge tag 'kvm-s390-next-7.4-2' of git://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux into HEAD (2026-10-19 15:11:58 +0200)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git tags/kvmarm-fixes-7.4-1

for you to fetch changes up to 9e9283e4c941e806d2735f09b66763487bc48b50:

  Merge branch kvm-arm64/misc-fixes-7.4-1 into kvmarm-master/fixes (2026-10-26 10:57:37 +0000)

----------------------------------------------------------------
KVM/arm64 fixes for 7.4, take #1

- Fix a couple of embarrassing merge mistakes in kvmarm-7.4

- Cleanup the HCR_EL2 bit fields to exclusively use the generated
  definitions, fixings a nasty regression introduced in 6.16, where
  barriers were not upgraded from NSH to ISH anymore

- Fix publication of state when a vcpu is forced out of the guest

- Let vcpu pausing nest correctly

- Sanitise ID_AA64MMFR3_EL1.S1P[IO]E to follow the rules of the architecture

- Don't warn on SMCCC filter reserved range allocation failure

- Prevent GICv5 and TLBI hypercalls to be used from the host when pKVM
  is active

- Enforce that only GICv3 guests are supported for pKVM

- Don't try to access GICv5 EL2 sysregs from EL1

- Compute architectrally correct values for ID_AA64MMFR3_EL1.S1P[IO]E
  by checking the feature dependencies

- Require matching VGIC and ITS model

- Cleanup TRACE_REMOTE dependencies

- selftests: Skip unwritable ID fields in the failed-run test

- Move pkvm_selftests() after all CPUs have initialized EL2

- Fix random comments

----------------------------------------------------------------
Fuad Tabba (10):
      KVM: arm64: vgic-its: Don't map an LPI from more than one event
      KVM: arm64: vgic-its: Remove the pending state of a discarded LPI
      KVM: arm64: Don't WARN on SMCCC filter reserved range allocation failure
      KVM: arm64: Reject the GICv5 CPU interface hypercalls under pKVM
      KVM: arm64: Return on kvm_gmem_get_pfn() failure in gmem_abort()
      KVM: arm64: Reject the stage-2 flush hypercalls under pKVM
      KVM: arm64: Validate the host-provided vgic model in pKVM
      KVM: arm64: vgic: Do not access the GICv5 CPU interface from EL1
      KVM: arm64: Fix stale VGICv3 comments in the nVHE world switch
      KVM: arm64: Set HCR_EL2.BSU to Inner Shareable for guests

Marc Zyngier (12):
      KVM: arm64: nv: Move L2->L1 switch on interrupt early
      KVM: arm64: Move OUTSIDE_GUEST_MODE publication past context being saved
      KVM: arm64: Move IN_GUEST_MODE ahead of state being loaded
      KVM: arm64: Turn vcpu->arch.pause into a counter
      KVM: arm64: vgic: Stop the target vcpu when disabling LPIs
      KVM: arm64: vgic-its: Stop the VM when handling MOVALL
      KVM: arm64: Convert HCR_xyz to HCR_EL2_xyz
      KVM: arm64: Get rid of compatibility HCR_EL2 aliases
      KVM: arm64: Sanitise ID_AA64MMFR3_EL1.S1P[IO]E
      Merge branch kvm-arm64/hcr-cleanup into kvmarm-master/fixes
      Merge branch kvm-arm64/cross-vcpu-sync into kvmarm-master/fixes
      Merge branch kvm-arm64/misc-fixes-7.4-1 into kvmarm-master/fixes

Oliver Upton (1):
      KVM: arm64: Add helpers to halt a vCPU

Sascha Bischoff (3):
      KVM: arm64: gic-v5: Drop unused addr variable
      KVM: arm64: vgic: Require matching VGIC and ITS models
      KVM: selftests: Reject GICv3 ITS with a GICv5 VGIC

Sasha Levin (2):
      KVM: arm64: Take a protected vCPU's TWI and TWE only at vCPU load
      KVM: arm64: selftests: Skip unwritable ID fields in the failed-run test

Vincent Donnefort (2):
      KVM: arm64: Move pkvm_selftests() after all CPUs have initialized EL2
      tracing/remotes: Fix TRACE_REMOTE build when TRACING=n

 arch/arm64/include/asm/el2_setup.h              |   4 +-
 arch/arm64/include/asm/hardirq.h                |   6 +-
 arch/arm64/include/asm/kvm_arm.h                |  79 ++--------------
 arch/arm64/include/asm/kvm_asm.h                |  22 ++---
 arch/arm64/include/asm/kvm_emulate.h            |  18 ++--
 arch/arm64/include/asm/kvm_host.h               |  10 +-
 arch/arm64/include/asm/kvm_mte.h                |   4 +-
 arch/arm64/include/asm/kvm_pkvm.h               |   1 -
 arch/arm64/include/asm/kvm_ptrauth.h            |   4 +-
 arch/arm64/kernel/head.S                        |   4 +-
 arch/arm64/kvm/Kconfig                          |   2 +-
 arch/arm64/kvm/arm.c                            | 100 ++++++++++++--------
 arch/arm64/kvm/at.c                             |  18 ++--
 arch/arm64/kvm/config.c                         |  78 ++++++++++++++++
 arch/arm64/kvm/emulate-nested.c                 | 116 ++++++++++++------------
 arch/arm64/kvm/guest.c                          |   2 +-
 arch/arm64/kvm/handle_exit.c                    |   2 +-
 arch/arm64/kvm/hyp/include/hyp/switch.h         |  14 +--
 arch/arm64/kvm/hyp/include/nvhe/pkvm.h          |  13 +--
 arch/arm64/kvm/hyp/nvhe/host.S                  |   2 +-
 arch/arm64/kvm/hyp/nvhe/hyp-init.S              |   2 +-
 arch/arm64/kvm/hyp/nvhe/hyp-main.c              |  15 +--
 arch/arm64/kvm/hyp/nvhe/mem_protect.c           |   6 +-
 arch/arm64/kvm/hyp/nvhe/pkvm.c                  |  41 +++++----
 arch/arm64/kvm/hyp/nvhe/switch.c                |   4 +-
 arch/arm64/kvm/hyp/vgic-v3-sr.c                 |   4 +-
 arch/arm64/kvm/hyp/vhe/switch.c                 |  12 +--
 arch/arm64/kvm/hyp/vhe/tlb.c                    |   2 +-
 arch/arm64/kvm/hypercalls.c                     |   4 +-
 arch/arm64/kvm/inject_fault.c                   |   6 +-
 arch/arm64/kvm/mmu.c                            |   9 +-
 arch/arm64/kvm/nested.c                         |  16 +++-
 arch/arm64/kvm/pkvm.c                           |   4 +-
 arch/arm64/kvm/sys_regs.c                       |  26 +++---
 arch/arm64/kvm/vgic/vgic-init.c                 |  17 ++++
 arch/arm64/kvm/vgic/vgic-irs-v5.c               |   3 +-
 arch/arm64/kvm/vgic/vgic-its.c                  |  85 +++++++++++++++--
 arch/arm64/kvm/vgic/vgic-mmio-v3.c              |  15 ++-
 arch/arm64/kvm/vgic/vgic-v3-nested.c            |   4 +-
 arch/arm64/kvm/vgic/vgic.c                      |  15 +--
 include/kvm/arm_vgic.h                          |   6 +-
 kernel/trace/Kconfig                            |   1 +
 tools/testing/selftests/kvm/arm64/set_id_regs.c |  13 ++-
 tools/testing/selftests/kvm/arm64/vgic_v5.c     |  32 +++++++
 44 files changed, 517 insertions(+), 324 deletions(-)

             reply	other threads:[~2026-10-27 14:34 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-10-27 14:34 Marc Zyngier [this message]
2026-10-28 18:06 ` [GIT PULL] KVM/arm64 fixes for 7.4, take #1 Paolo Bonzini

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=20261027143424.2732449-1-maz@kernel.org \
    --to=maz@kernel.org \
    --cc=broonie@kernel.org \
    --cc=fuad.tabba@linux.dev \
    --cc=itaru.kitayama@fujitsu.com \
    --cc=joey.gouly@arm.com \
    --cc=kvm@vger.kernel.org \
    --cc=kvmarm@lists.linux.dev \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=ljs@kernel.org \
    --cc=oupton@kernel.org \
    --cc=pbonzini@redhat.com \
    --cc=rostedt@goodmis.org \
    --cc=sascha.bischoff@arm.com \
    --cc=sashal@kernel.org \
    --cc=seiden@linux.ibm.com \
    --cc=suzuki.poulose@arm.com \
    --cc=vdonnefort@google.com \
    --cc=yuzenghui@huawei.com \
    /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