All of lore.kernel.org
 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 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.