* [GIT PULL] KVM/arm64 updates for 7.0
@ 2026-02-06 15:33 Marc Zyngier
2026-02-09 17:19 ` Paolo Bonzini
0 siblings, 1 reply; 2+ messages in thread
From: Marc Zyngier @ 2026-02-06 15:33 UTC (permalink / raw)
To: Paolo Bonzini
Cc: Alexandru Elisei, Andrew Jones, Arnd Bergmann, Ben Dooks,
Ben Horgan, Catalin Marinas, Dongxu Sun, Fuad Tabba,
Itaru Kitayama, Jinqian Yang, Joey Gouly, Jonathan Cameron,
Kornel Dulęba, Lorenzo Pieralisi, Mark Brown, Mark Rutland,
Nathan Chancellor, Oliver Upton, Oliver Upton,
Petteri Kangaslampi, Quentin Perret, Sascha Bischoff,
Suzuki K Poulose, Vincent Donnefort, Will Deacon, Yicong Yang,
Yuan Yao, Zenghui Yu, Zhou Wang, Zenghui Yu, kvmarm,
linux-arm-kernel, kvm
[With the various lists on Cc this time around, apologies for the
noise]
Paolo,
Here's the initial set of updates for 7.0.
This time, the changes are more or less separated in two cagegories:
- a bunch of pKVM fixes, mostly ensuring that features that are not
exposed to guest or host are indeed out of reach
- a lot of rework of the register sanitisation infrastructure,
including new registers being sanitised
The rest is a set of random, low key changes -- details in the tag
below.
Note that this pull request also brings two additional branches to
avoid ugly conflicts:
- the kvmarm-fixes-6.19-1 tag, which made it into Linus' tree after
the base for the kvmarm/next branch was created,
- a shared branch with the arm64 tree (arm64/for-next/cpufeature),
which also touches KVM
Please pull,
M.
The following changes since commit 9ace4753a5202b02191d54e9fdf7f9e3d02b85eb:
Linux 6.19-rc4 (2026-01-04 14:41:55 -0800)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git tags/kvmarm-7.0
for you to fetch changes up to 6316366129d2885fae07c2774f4b7ae0a45fb55d:
Merge branch kvm-arm64/misc-6.20 into kvmarm-master/next (2026-02-05 09:17:58 +0000)
----------------------------------------------------------------
KVM/arm64 updates for 7.0
- Add support for FEAT_IDST, allowing ID registers that are not
implemented to be reported as a normal trap rather than as an UNDEF
exception.
- Add sanitisation of the VTCR_EL2 register, fixing a number of
UXN/PXN/XN bugs in the process.
- Full handling of RESx bits, instead of only RES0, and resulting in
SCTLR_EL2 being added to the list of sanitised registers.
- More pKVM fixes for features that are not supposed to be exposed to
guests.
- Make sure that MTE being disabled on the pKVM host doesn't give it
the ability to attack the hypervisor.
- Allow pKVM's host stage-2 mappings to use the Force Write Back
version of the memory attributes by using the "pass-through'
encoding.
- Fix trapping of ICC_DIR_EL1 on GICv5 hosts emulating GICv3 for the
guest.
- Preliminary work for guest GICv5 support.
- A bunch of debugfs fixes, removing pointless custom iterators stored
in guest data structures.
- A small set of FPSIMD cleanups.
- Selftest fixes addressing the incorrect alignment of page
allocation.
- Other assorted low-impact fixes and spelling fixes.
----------------------------------------------------------------
Alexandru Elisei (4):
KVM: arm64: Copy FGT traps to unprotected pKVM VCPU on VCPU load
KVM: arm64: Inject UNDEF for a register trap without accessor
KVM: arm64: Remove extra argument for __pvkm_host_{share,unshare}_hyp()
KVM: arm64: Remove unused parameter in synchronize_vcpu_pstate()
Ben Dooks (1):
KVM: arm64: Fix missing <asm/stackpage/nvhe.h> include
Dongxu Sun (1):
KVM: arm64: Remove unused vcpu_{clear,set}_wfx_traps()
Fuad Tabba (22):
KVM: arm64: selftests: Disable unused TTBR1_EL1 translations
KVM: arm64: selftests: Fix incorrect rounding in page_align()
KVM: riscv: selftests: Fix incorrect rounding in page_align()
KVM: selftests: Move page_align() to shared header
KVM: selftests: Fix typos and stale comments in kvm_util
KVM: arm64: Fix Trace Buffer trapping for protected VMs
KVM: arm64: Fix Trace Buffer trap polarity for protected VMs
KVM: arm64: Fix MTE flag initialization for protected VMs
KVM: arm64: Introduce helper to calculate fault IPA offset
KVM: arm64: Include VM type when checking VM capabilities in pKVM
KVM: arm64: Do not allow KVM_CAP_ARM_MTE for any guest in pKVM
KVM: arm64: Track KVM IOCTLs and their associated KVM caps
KVM: arm64: Check whether a VM IOCTL is allowed in pKVM
KVM: arm64: Prevent host from managing timer offsets for protected VMs
KVM: arm64: Remove dead code resetting HCR_EL2 for pKVM
KVM: arm64: Trap MTE access and discovery when MTE is disabled
KVM: arm64: Inject UNDEF when accessing MTE sysregs with MTE disabled
KVM: arm64: Use kvm_has_mte() in pKVM trap initialization
KVM: arm64: Use standard seq_file iterator for idregs debugfs
KVM: arm64: Reimplement vgic-debug XArray iteration
KVM: arm64: Use standard seq_file iterator for vgic-debug debugfs
KVM: arm64: nv: Avoid NV stage-2 code when NV is not supported
Jinqian Yang (1):
arm64: Add support for TSV110 Spectre-BHB mitigation
Kornel Dulęba (1):
KVM: arm64: Fix error checking for FFA_VERSION
Marc Zyngier (59):
KVM: arm64: Fix EL2 S1 XN handling for hVHE setups
KVM: arm64: Don't blindly set set PSTATE.PAN on guest exit
Merge branch kvmarm-fixes-6.19-1 into kvm-arm64/vtcr
arm64: Convert ID_AA64MMFR0_EL1.TGRAN{4,16,64}_2 to UnsignedEnum
arm64: Convert VTCR_EL2 to sysreg infratructure
KVM: arm64: Account for RES1 bits in DECLARE_FEAT_MAP() and co
KVM: arm64: Convert VTCR_EL2 to config-driven sanitisation
KVM: arm64: Honor UX/PX attributes for EL2 S1 mappings
arm64: Repaint ID_AA64MMFR2_EL1.IDS description
KVM: arm64: Add trap routing for GMID_EL1
KVM: arm64: Add a generic synchronous exception injection primitive
KVM: arm64: Handle FEAT_IDST for sysregs without specific handlers
KVM: arm64: Handle CSSIDR2_EL1 and SMIDR_EL1 in a generic way
KVM: arm64: Force trap of GMID_EL1 when the guest doesn't have MTE
KVM: arm64: pkvm: Add a generic synchronous exception injection primitive
KVM: arm64: pkvm: Report optional ID register traps with a 0x18 syndrome
KVM: arm64: selftests: Add a test for FEAT_IDST
KVM: arm64: Always populate FGT masks at boot time
arm64: Unconditionally enable LSE support
arm64: Unconditionally enable PAN support
KVM: arm64: Add exit to userspace on {LD,ST}64B* outside of memslots
KVM: arm64: Add documentation for KVM_EXIT_ARM_LDST64B
Merge branch arm64/for-next/cpufeature into kvmarm-master/next
Merge branch kvm-arm64/vtcr into kvmarm-master/next
Merge branch kvm-arm64/selftests-6.20 into kvmarm-master/next
Merge branch kvm-arm64/feat_idst into kvmarm-master/next
Merge branch kvm-arm64/pkvm-features-6.20 into kvmarm-master/next
arm64: Add MT_S2{,_FWB}_AS_S1 encodings
KVM: arm64: Add KVM_PGTABLE_S2_AS_S1 flag
KVM: arm64: Switch pKVM host S2 over to KVM_PGTABLE_S2_AS_S1
KVM: arm64: Kill KVM_PGTABLE_S2_NOFWB
KVM: arm64: Simplify PAGE_S2_MEMATTR
arm64: Convert SCTLR_EL2 to sysreg infrastructure
KVM: arm64: Remove duplicate configuration for SCTLR_EL1.{EE,E0E}
KVM: arm64: Introduce standalone FGU computing primitive
KVM: arm64: Introduce data structure tracking both RES0 and RES1 bits
KVM: arm64: Extend unified RESx handling to runtime sanitisation
KVM: arm64: Inherit RESx bits from FGT register descriptors
KVM: arm64: Allow RES1 bits to be inferred from configuration
KVM: arm64: Correctly handle SCTLR_EL1 RES1 bits for unsupported features
KVM: arm64: Convert HCR_EL2.RW to AS_RES1
KVM: arm64: Simplify FIXED_VALUE handling
KVM: arm64: Add REQUIRES_E2H1 constraint as configuration flags
KVM: arm64: Add RES1_WHEN_E2Hx constraints as configuration flags
KVM: arm64: Move RESx into individual register descriptors
KVM: arm64: Simplify handling of HCR_EL2.E2H RESx
KVM: arm64: Get rid of FIXED_VALUE altogether
KVM: arm64: Simplify handling of full register invalid constraint
KVM: arm64: Remove all traces of FEAT_TME
KVM: arm64: Remove all traces of HCR_EL2.MIOCNCE
KVM: arm64: Add sanitisation to SCTLR_EL2
KVM: arm64: Add debugfs file dumping computed RESx values
Merge branch kvm-arm64/pkvm-no-mte into kvmarm-master/next
Merge branch kvm-arm64/fwb-for-all into kvmarm-master/next
Merge branch kvm-arm64/gicv3-tdir-fixes into kvmarm-master/next
Merge branch kvm-arm64/gicv5-prologue into kvmarm-master/next
Merge branch kvm-arm64/debugfs-fixes into kvmarm-master/next
Merge branch kvm-arm64/resx into kvmarm-master/next
Merge branch kvm-arm64/misc-6.20 into kvmarm-master/next
Mark Rutland (3):
KVM: arm64: Fix comment in fpsimd_lazy_switch_to_host()
KVM: arm64: Shuffle KVM_HOST_DATA_FLAG_* indices
KVM: arm64: Remove ISB after writing FPEXC32_EL2
Oliver Upton (1):
KVM: arm64: nv: Respect stage-2 write permssion when setting stage-1 AF
Petteri Kangaslampi (1):
KVM: arm64: Calculate hyp VA size only once
Sascha Bischoff (7):
KVM: arm64: gic: Check for vGICv3 when clearing TWI
KVM: arm64: gic: Enable GICv3 CPUIF trapping on GICv5 hosts if required
KVM: arm64: Correct test for ICH_HCR_EL2_TDIR cap for GICv5 hosts
KVM: arm64: gic-v3: Switch vGIC-v3 to use generated ICH_VMCR_EL2
arm64/sysreg: Drop ICH_HFGRTR_EL2.ICC_HAPR_EL1 and make RES1
KVM: arm64: gic: Set vgic_model before initing private IRQs
irqchip/gic-v5: Check if impl is virt capable
Will Deacon (1):
KVM: arm64: Invert KVM_PGTABLE_WALK_HANDLE_FAULT to fix pKVM walkers
Yicong Yang (4):
KVM: arm64: Handle DABT caused by LS64* instructions on unsupported memory
arm64: Provide basic EL2 setup for FEAT_{LS64, LS64_V} usage at EL0/1
KVM: arm64: Enable FEAT_{LS64, LS64_V} in the supported guest
arm64: Add support for FEAT_{LS64, LS64_V}
Zenghui Yu (Huawei) (3):
KVM: arm64: nv: Return correct RES0 bits for FGT registers
KVM: arm64: nv: Add trap config for DBGWCR<15>_EL1
KVM: arm64: Fix various comments
Documentation/arch/arm64/booting.rst | 12 +
Documentation/arch/arm64/elf_hwcaps.rst | 7 +
Documentation/virt/kvm/api.rst | 43 +-
arch/arm64/Kconfig | 33 --
arch/arm64/include/asm/cpucaps.h | 2 -
arch/arm64/include/asm/el2_setup.h | 13 +-
arch/arm64/include/asm/esr.h | 8 +
arch/arm64/include/asm/hwcap.h | 1 +
arch/arm64/include/asm/insn.h | 23 -
arch/arm64/include/asm/kvm_arm.h | 56 +--
arch/arm64/include/asm/kvm_emulate.h | 24 +-
arch/arm64/include/asm/kvm_host.h | 56 ++-
arch/arm64/include/asm/kvm_mmu.h | 3 +-
arch/arm64/include/asm/kvm_pgtable.h | 15 +-
arch/arm64/include/asm/kvm_pkvm.h | 32 +-
arch/arm64/include/asm/lse.h | 9 -
arch/arm64/include/asm/memory.h | 11 +-
arch/arm64/include/asm/pgtable-prot.h | 4 +-
arch/arm64/include/asm/sysreg.h | 32 +-
arch/arm64/include/asm/uaccess.h | 6 +-
arch/arm64/include/uapi/asm/hwcap.h | 1 +
arch/arm64/kernel/cpufeature.c | 42 +-
arch/arm64/kernel/cpuinfo.c | 1 +
arch/arm64/kernel/head.S | 2 +-
arch/arm64/kernel/proton-pack.c | 1 +
arch/arm64/kvm/arch_timer.c | 18 +-
arch/arm64/kvm/arm.c | 64 ++-
arch/arm64/kvm/at.c | 15 +-
arch/arm64/kvm/config.c | 505 +++++++++++++--------
arch/arm64/kvm/emulate-nested.c | 105 +++--
arch/arm64/kvm/hyp/entry.S | 2 +-
arch/arm64/kvm/hyp/include/hyp/switch.h | 8 +-
arch/arm64/kvm/hyp/nvhe/ffa.c | 4 +-
arch/arm64/kvm/hyp/nvhe/hyp-init.S | 5 -
arch/arm64/kvm/hyp/nvhe/hyp-main.c | 70 +++
arch/arm64/kvm/hyp/nvhe/mem_protect.c | 4 +-
arch/arm64/kvm/hyp/nvhe/pkvm.c | 21 +-
arch/arm64/kvm/hyp/nvhe/switch.c | 2 +-
arch/arm64/kvm/hyp/nvhe/sys_regs.c | 39 +-
arch/arm64/kvm/hyp/pgtable.c | 63 ++-
arch/arm64/kvm/hyp/vgic-v2-cpuif-proxy.c | 2 +-
arch/arm64/kvm/hyp/vgic-v3-sr.c | 69 +--
arch/arm64/kvm/hyp/vhe/switch.c | 2 +-
arch/arm64/kvm/hyp/vhe/sysreg-sr.c | 2 +-
arch/arm64/kvm/inject_fault.c | 46 +-
arch/arm64/kvm/mmio.c | 27 +-
arch/arm64/kvm/mmu.c | 58 +--
arch/arm64/kvm/nested.c | 172 +++----
arch/arm64/kvm/sys_regs.c | 127 ++++--
arch/arm64/kvm/sys_regs.h | 10 +
arch/arm64/kvm/va_layout.c | 33 +-
arch/arm64/kvm/vgic/vgic-debug.c | 108 ++---
arch/arm64/kvm/vgic/vgic-init.c | 8 +-
arch/arm64/kvm/vgic/vgic-v3-nested.c | 10 +-
arch/arm64/kvm/vgic/vgic-v3.c | 73 +--
arch/arm64/kvm/vgic/vgic-v5.c | 2 +
arch/arm64/kvm/vgic/vgic.h | 1 +
arch/arm64/lib/insn.c | 2 -
arch/arm64/net/bpf_jit_comp.c | 7 -
arch/arm64/tools/cpucaps | 2 +
arch/arm64/tools/sysreg | 154 ++++++-
drivers/irqchip/irq-gic-v5-irs.c | 2 +
drivers/irqchip/irq-gic-v5.c | 10 +
include/kvm/arm_vgic.h | 4 -
include/linux/irqchip/arm-gic-v5.h | 4 +
include/uapi/linux/kvm.h | 3 +-
tools/arch/arm64/include/asm/sysreg.h | 6 -
tools/perf/Documentation/perf-arm-spe.txt | 1 -
tools/testing/selftests/kvm/Makefile.kvm | 1 +
tools/testing/selftests/kvm/arm64/idreg-idst.c | 117 +++++
tools/testing/selftests/kvm/arm64/set_id_regs.c | 1 -
.../selftests/kvm/include/arm64/processor.h | 4 +
tools/testing/selftests/kvm/include/kvm_util.h | 9 +-
tools/testing/selftests/kvm/lib/arm64/processor.c | 9 +-
tools/testing/selftests/kvm/lib/kvm_util.c | 2 +-
tools/testing/selftests/kvm/lib/riscv/processor.c | 7 +-
76 files changed, 1538 insertions(+), 919 deletions(-)
create mode 100644 tools/testing/selftests/kvm/arm64/idreg-idst.c
^ permalink raw reply [flat|nested] 2+ messages in thread* Re: [GIT PULL] KVM/arm64 updates for 7.0
2026-02-06 15:33 [GIT PULL] KVM/arm64 updates for 7.0 Marc Zyngier
@ 2026-02-09 17:19 ` Paolo Bonzini
0 siblings, 0 replies; 2+ messages in thread
From: Paolo Bonzini @ 2026-02-09 17:19 UTC (permalink / raw)
To: Marc Zyngier
Cc: Alexandru Elisei, Andrew Jones, Arnd Bergmann, Ben Dooks,
Ben Horgan, Catalin Marinas, Dongxu Sun, Fuad Tabba,
Itaru Kitayama, Jinqian Yang, Joey Gouly, Jonathan Cameron,
Kornel Dulęba, Lorenzo Pieralisi, Mark Brown, Mark Rutland,
Nathan Chancellor, Oliver Upton, Oliver Upton,
Petteri Kangaslampi, Quentin Perret, Sascha Bischoff,
Suzuki K Poulose, Vincent Donnefort, Will Deacon, Yicong Yang,
Yuan Yao, Zenghui Yu, Zhou Wang, Zenghui Yu, kvmarm,
linux-arm-kernel, kvm
On Fri, Feb 6, 2026 at 4:34 PM Marc Zyngier <maz@kernel.org> wrote:
>
> [With the various lists on Cc this time around, apologies for the
> noise]
>
> Paolo,
>
> Here's the initial set of updates for 7.0.
>
> This time, the changes are more or less separated in two cagegories:
>
> - a bunch of pKVM fixes, mostly ensuring that features that are not
> exposed to guest or host are indeed out of reach
>
> - a lot of rework of the register sanitisation infrastructure,
> including new registers being sanitised
>
> The rest is a set of random, low key changes -- details in the tag
> below.
>
> Note that this pull request also brings two additional branches to
> avoid ugly conflicts:
>
> - the kvmarm-fixes-6.19-1 tag, which made it into Linus' tree after
> the base for the kvmarm/next branch was created,
>
> - a shared branch with the arm64 tree (arm64/for-next/cpufeature),
> which also touches KVM
>
> Please pull,
Done, thanks.
Paolo
> M.
>
> The following changes since commit 9ace4753a5202b02191d54e9fdf7f9e3d02b85eb:
>
> Linux 6.19-rc4 (2026-01-04 14:41:55 -0800)
>
> are available in the Git repository at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git tags/kvmarm-7.0
>
> for you to fetch changes up to 6316366129d2885fae07c2774f4b7ae0a45fb55d:
>
> Merge branch kvm-arm64/misc-6.20 into kvmarm-master/next (2026-02-05 09:17:58 +0000)
>
> ----------------------------------------------------------------
> KVM/arm64 updates for 7.0
>
> - Add support for FEAT_IDST, allowing ID registers that are not
> implemented to be reported as a normal trap rather than as an UNDEF
> exception.
>
> - Add sanitisation of the VTCR_EL2 register, fixing a number of
> UXN/PXN/XN bugs in the process.
>
> - Full handling of RESx bits, instead of only RES0, and resulting in
> SCTLR_EL2 being added to the list of sanitised registers.
>
> - More pKVM fixes for features that are not supposed to be exposed to
> guests.
>
> - Make sure that MTE being disabled on the pKVM host doesn't give it
> the ability to attack the hypervisor.
>
> - Allow pKVM's host stage-2 mappings to use the Force Write Back
> version of the memory attributes by using the "pass-through'
> encoding.
>
> - Fix trapping of ICC_DIR_EL1 on GICv5 hosts emulating GICv3 for the
> guest.
>
> - Preliminary work for guest GICv5 support.
>
> - A bunch of debugfs fixes, removing pointless custom iterators stored
> in guest data structures.
>
> - A small set of FPSIMD cleanups.
>
> - Selftest fixes addressing the incorrect alignment of page
> allocation.
>
> - Other assorted low-impact fixes and spelling fixes.
>
> ----------------------------------------------------------------
> Alexandru Elisei (4):
> KVM: arm64: Copy FGT traps to unprotected pKVM VCPU on VCPU load
> KVM: arm64: Inject UNDEF for a register trap without accessor
> KVM: arm64: Remove extra argument for __pvkm_host_{share,unshare}_hyp()
> KVM: arm64: Remove unused parameter in synchronize_vcpu_pstate()
>
> Ben Dooks (1):
> KVM: arm64: Fix missing <asm/stackpage/nvhe.h> include
>
> Dongxu Sun (1):
> KVM: arm64: Remove unused vcpu_{clear,set}_wfx_traps()
>
> Fuad Tabba (22):
> KVM: arm64: selftests: Disable unused TTBR1_EL1 translations
> KVM: arm64: selftests: Fix incorrect rounding in page_align()
> KVM: riscv: selftests: Fix incorrect rounding in page_align()
> KVM: selftests: Move page_align() to shared header
> KVM: selftests: Fix typos and stale comments in kvm_util
> KVM: arm64: Fix Trace Buffer trapping for protected VMs
> KVM: arm64: Fix Trace Buffer trap polarity for protected VMs
> KVM: arm64: Fix MTE flag initialization for protected VMs
> KVM: arm64: Introduce helper to calculate fault IPA offset
> KVM: arm64: Include VM type when checking VM capabilities in pKVM
> KVM: arm64: Do not allow KVM_CAP_ARM_MTE for any guest in pKVM
> KVM: arm64: Track KVM IOCTLs and their associated KVM caps
> KVM: arm64: Check whether a VM IOCTL is allowed in pKVM
> KVM: arm64: Prevent host from managing timer offsets for protected VMs
> KVM: arm64: Remove dead code resetting HCR_EL2 for pKVM
> KVM: arm64: Trap MTE access and discovery when MTE is disabled
> KVM: arm64: Inject UNDEF when accessing MTE sysregs with MTE disabled
> KVM: arm64: Use kvm_has_mte() in pKVM trap initialization
> KVM: arm64: Use standard seq_file iterator for idregs debugfs
> KVM: arm64: Reimplement vgic-debug XArray iteration
> KVM: arm64: Use standard seq_file iterator for vgic-debug debugfs
> KVM: arm64: nv: Avoid NV stage-2 code when NV is not supported
>
> Jinqian Yang (1):
> arm64: Add support for TSV110 Spectre-BHB mitigation
>
> Kornel Dulęba (1):
> KVM: arm64: Fix error checking for FFA_VERSION
>
> Marc Zyngier (59):
> KVM: arm64: Fix EL2 S1 XN handling for hVHE setups
> KVM: arm64: Don't blindly set set PSTATE.PAN on guest exit
> Merge branch kvmarm-fixes-6.19-1 into kvm-arm64/vtcr
> arm64: Convert ID_AA64MMFR0_EL1.TGRAN{4,16,64}_2 to UnsignedEnum
> arm64: Convert VTCR_EL2 to sysreg infratructure
> KVM: arm64: Account for RES1 bits in DECLARE_FEAT_MAP() and co
> KVM: arm64: Convert VTCR_EL2 to config-driven sanitisation
> KVM: arm64: Honor UX/PX attributes for EL2 S1 mappings
> arm64: Repaint ID_AA64MMFR2_EL1.IDS description
> KVM: arm64: Add trap routing for GMID_EL1
> KVM: arm64: Add a generic synchronous exception injection primitive
> KVM: arm64: Handle FEAT_IDST for sysregs without specific handlers
> KVM: arm64: Handle CSSIDR2_EL1 and SMIDR_EL1 in a generic way
> KVM: arm64: Force trap of GMID_EL1 when the guest doesn't have MTE
> KVM: arm64: pkvm: Add a generic synchronous exception injection primitive
> KVM: arm64: pkvm: Report optional ID register traps with a 0x18 syndrome
> KVM: arm64: selftests: Add a test for FEAT_IDST
> KVM: arm64: Always populate FGT masks at boot time
> arm64: Unconditionally enable LSE support
> arm64: Unconditionally enable PAN support
> KVM: arm64: Add exit to userspace on {LD,ST}64B* outside of memslots
> KVM: arm64: Add documentation for KVM_EXIT_ARM_LDST64B
> Merge branch arm64/for-next/cpufeature into kvmarm-master/next
> Merge branch kvm-arm64/vtcr into kvmarm-master/next
> Merge branch kvm-arm64/selftests-6.20 into kvmarm-master/next
> Merge branch kvm-arm64/feat_idst into kvmarm-master/next
> Merge branch kvm-arm64/pkvm-features-6.20 into kvmarm-master/next
> arm64: Add MT_S2{,_FWB}_AS_S1 encodings
> KVM: arm64: Add KVM_PGTABLE_S2_AS_S1 flag
> KVM: arm64: Switch pKVM host S2 over to KVM_PGTABLE_S2_AS_S1
> KVM: arm64: Kill KVM_PGTABLE_S2_NOFWB
> KVM: arm64: Simplify PAGE_S2_MEMATTR
> arm64: Convert SCTLR_EL2 to sysreg infrastructure
> KVM: arm64: Remove duplicate configuration for SCTLR_EL1.{EE,E0E}
> KVM: arm64: Introduce standalone FGU computing primitive
> KVM: arm64: Introduce data structure tracking both RES0 and RES1 bits
> KVM: arm64: Extend unified RESx handling to runtime sanitisation
> KVM: arm64: Inherit RESx bits from FGT register descriptors
> KVM: arm64: Allow RES1 bits to be inferred from configuration
> KVM: arm64: Correctly handle SCTLR_EL1 RES1 bits for unsupported features
> KVM: arm64: Convert HCR_EL2.RW to AS_RES1
> KVM: arm64: Simplify FIXED_VALUE handling
> KVM: arm64: Add REQUIRES_E2H1 constraint as configuration flags
> KVM: arm64: Add RES1_WHEN_E2Hx constraints as configuration flags
> KVM: arm64: Move RESx into individual register descriptors
> KVM: arm64: Simplify handling of HCR_EL2.E2H RESx
> KVM: arm64: Get rid of FIXED_VALUE altogether
> KVM: arm64: Simplify handling of full register invalid constraint
> KVM: arm64: Remove all traces of FEAT_TME
> KVM: arm64: Remove all traces of HCR_EL2.MIOCNCE
> KVM: arm64: Add sanitisation to SCTLR_EL2
> KVM: arm64: Add debugfs file dumping computed RESx values
> Merge branch kvm-arm64/pkvm-no-mte into kvmarm-master/next
> Merge branch kvm-arm64/fwb-for-all into kvmarm-master/next
> Merge branch kvm-arm64/gicv3-tdir-fixes into kvmarm-master/next
> Merge branch kvm-arm64/gicv5-prologue into kvmarm-master/next
> Merge branch kvm-arm64/debugfs-fixes into kvmarm-master/next
> Merge branch kvm-arm64/resx into kvmarm-master/next
> Merge branch kvm-arm64/misc-6.20 into kvmarm-master/next
>
> Mark Rutland (3):
> KVM: arm64: Fix comment in fpsimd_lazy_switch_to_host()
> KVM: arm64: Shuffle KVM_HOST_DATA_FLAG_* indices
> KVM: arm64: Remove ISB after writing FPEXC32_EL2
>
> Oliver Upton (1):
> KVM: arm64: nv: Respect stage-2 write permssion when setting stage-1 AF
>
> Petteri Kangaslampi (1):
> KVM: arm64: Calculate hyp VA size only once
>
> Sascha Bischoff (7):
> KVM: arm64: gic: Check for vGICv3 when clearing TWI
> KVM: arm64: gic: Enable GICv3 CPUIF trapping on GICv5 hosts if required
> KVM: arm64: Correct test for ICH_HCR_EL2_TDIR cap for GICv5 hosts
> KVM: arm64: gic-v3: Switch vGIC-v3 to use generated ICH_VMCR_EL2
> arm64/sysreg: Drop ICH_HFGRTR_EL2.ICC_HAPR_EL1 and make RES1
> KVM: arm64: gic: Set vgic_model before initing private IRQs
> irqchip/gic-v5: Check if impl is virt capable
>
> Will Deacon (1):
> KVM: arm64: Invert KVM_PGTABLE_WALK_HANDLE_FAULT to fix pKVM walkers
>
> Yicong Yang (4):
> KVM: arm64: Handle DABT caused by LS64* instructions on unsupported memory
> arm64: Provide basic EL2 setup for FEAT_{LS64, LS64_V} usage at EL0/1
> KVM: arm64: Enable FEAT_{LS64, LS64_V} in the supported guest
> arm64: Add support for FEAT_{LS64, LS64_V}
>
> Zenghui Yu (Huawei) (3):
> KVM: arm64: nv: Return correct RES0 bits for FGT registers
> KVM: arm64: nv: Add trap config for DBGWCR<15>_EL1
> KVM: arm64: Fix various comments
>
> Documentation/arch/arm64/booting.rst | 12 +
> Documentation/arch/arm64/elf_hwcaps.rst | 7 +
> Documentation/virt/kvm/api.rst | 43 +-
> arch/arm64/Kconfig | 33 --
> arch/arm64/include/asm/cpucaps.h | 2 -
> arch/arm64/include/asm/el2_setup.h | 13 +-
> arch/arm64/include/asm/esr.h | 8 +
> arch/arm64/include/asm/hwcap.h | 1 +
> arch/arm64/include/asm/insn.h | 23 -
> arch/arm64/include/asm/kvm_arm.h | 56 +--
> arch/arm64/include/asm/kvm_emulate.h | 24 +-
> arch/arm64/include/asm/kvm_host.h | 56 ++-
> arch/arm64/include/asm/kvm_mmu.h | 3 +-
> arch/arm64/include/asm/kvm_pgtable.h | 15 +-
> arch/arm64/include/asm/kvm_pkvm.h | 32 +-
> arch/arm64/include/asm/lse.h | 9 -
> arch/arm64/include/asm/memory.h | 11 +-
> arch/arm64/include/asm/pgtable-prot.h | 4 +-
> arch/arm64/include/asm/sysreg.h | 32 +-
> arch/arm64/include/asm/uaccess.h | 6 +-
> arch/arm64/include/uapi/asm/hwcap.h | 1 +
> arch/arm64/kernel/cpufeature.c | 42 +-
> arch/arm64/kernel/cpuinfo.c | 1 +
> arch/arm64/kernel/head.S | 2 +-
> arch/arm64/kernel/proton-pack.c | 1 +
> arch/arm64/kvm/arch_timer.c | 18 +-
> arch/arm64/kvm/arm.c | 64 ++-
> arch/arm64/kvm/at.c | 15 +-
> arch/arm64/kvm/config.c | 505 +++++++++++++--------
> arch/arm64/kvm/emulate-nested.c | 105 +++--
> arch/arm64/kvm/hyp/entry.S | 2 +-
> arch/arm64/kvm/hyp/include/hyp/switch.h | 8 +-
> arch/arm64/kvm/hyp/nvhe/ffa.c | 4 +-
> arch/arm64/kvm/hyp/nvhe/hyp-init.S | 5 -
> arch/arm64/kvm/hyp/nvhe/hyp-main.c | 70 +++
> arch/arm64/kvm/hyp/nvhe/mem_protect.c | 4 +-
> arch/arm64/kvm/hyp/nvhe/pkvm.c | 21 +-
> arch/arm64/kvm/hyp/nvhe/switch.c | 2 +-
> arch/arm64/kvm/hyp/nvhe/sys_regs.c | 39 +-
> arch/arm64/kvm/hyp/pgtable.c | 63 ++-
> arch/arm64/kvm/hyp/vgic-v2-cpuif-proxy.c | 2 +-
> arch/arm64/kvm/hyp/vgic-v3-sr.c | 69 +--
> arch/arm64/kvm/hyp/vhe/switch.c | 2 +-
> arch/arm64/kvm/hyp/vhe/sysreg-sr.c | 2 +-
> arch/arm64/kvm/inject_fault.c | 46 +-
> arch/arm64/kvm/mmio.c | 27 +-
> arch/arm64/kvm/mmu.c | 58 +--
> arch/arm64/kvm/nested.c | 172 +++----
> arch/arm64/kvm/sys_regs.c | 127 ++++--
> arch/arm64/kvm/sys_regs.h | 10 +
> arch/arm64/kvm/va_layout.c | 33 +-
> arch/arm64/kvm/vgic/vgic-debug.c | 108 ++---
> arch/arm64/kvm/vgic/vgic-init.c | 8 +-
> arch/arm64/kvm/vgic/vgic-v3-nested.c | 10 +-
> arch/arm64/kvm/vgic/vgic-v3.c | 73 +--
> arch/arm64/kvm/vgic/vgic-v5.c | 2 +
> arch/arm64/kvm/vgic/vgic.h | 1 +
> arch/arm64/lib/insn.c | 2 -
> arch/arm64/net/bpf_jit_comp.c | 7 -
> arch/arm64/tools/cpucaps | 2 +
> arch/arm64/tools/sysreg | 154 ++++++-
> drivers/irqchip/irq-gic-v5-irs.c | 2 +
> drivers/irqchip/irq-gic-v5.c | 10 +
> include/kvm/arm_vgic.h | 4 -
> include/linux/irqchip/arm-gic-v5.h | 4 +
> include/uapi/linux/kvm.h | 3 +-
> tools/arch/arm64/include/asm/sysreg.h | 6 -
> tools/perf/Documentation/perf-arm-spe.txt | 1 -
> tools/testing/selftests/kvm/Makefile.kvm | 1 +
> tools/testing/selftests/kvm/arm64/idreg-idst.c | 117 +++++
> tools/testing/selftests/kvm/arm64/set_id_regs.c | 1 -
> .../selftests/kvm/include/arm64/processor.h | 4 +
> tools/testing/selftests/kvm/include/kvm_util.h | 9 +-
> tools/testing/selftests/kvm/lib/arm64/processor.c | 9 +-
> tools/testing/selftests/kvm/lib/kvm_util.c | 2 +-
> tools/testing/selftests/kvm/lib/riscv/processor.c | 7 +-
> 76 files changed, 1538 insertions(+), 919 deletions(-)
> create mode 100644 tools/testing/selftests/kvm/arm64/idreg-idst.c
>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-02-09 17:19 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-02-06 15:33 [GIT PULL] KVM/arm64 updates for 7.0 Marc Zyngier
2026-02-09 17:19 ` Paolo Bonzini
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox