lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <20251003131028.67395-1-pbonzini@redhat.com>
Date: Fri,  3 Oct 2025 09:10:27 -0400
From: Paolo Bonzini <pbonzini@...hat.com>
To: torvalds@...ux-foundation.org
Cc: linux-kernel@...r.kernel.org,
	kvm@...r.kernel.org
Subject: [GIT PULL] First batch of KVM changes for Linux 6.18

Linus,

The following changes since commit 07e27ad16399afcd693be20211b0dfae63e0615f:

  Linux 6.17-rc7 (2025-09-21 15:08:52 -0700)

are available in the Git repository at:

  https://git.kernel.org/pub/scm/virt/kvm/kvm.git tags/for-linus

for you to fetch changes up to 99cab80208809cb918d6e579e6165279096f058a:

  Merge tag 'kvm-x86-generic-6.18' of https://github.com/kvm-x86/linux into HEAD (2025-09-30 13:27:59 -0400)

This excludes the bulk of the x86 changes, which I will send separately.
They have two not complex but relatively unusual conflicts so I will wait
for other dust to settle.

Paolo

----------------------------------------------------------------
guest_memfd:

* Add support for host userspace mapping of guest_memfd-backed memory for VM
  types that do NOT use support KVM_MEMORY_ATTRIBUTE_PRIVATE (which isn't
  precisely the same thing as CoCo VMs, since x86's SEV-MEM and SEV-ES have
  no way to detect private vs. shared).

  This lays the groundwork for removal of guest memory from the kernel direct
  map, as well as for limited mmap() for guest_memfd-backed memory.

  For more information see:
  * a6ad54137af9 ("Merge branch 'guest-memfd-mmap' into HEAD", 2025-08-27)
  * https://github.com/firecracker-microvm/firecracker/tree/feature/secret-hiding
    (guest_memfd in Firecracker)
  * https://lore.kernel.org/all/20250221160728.1584559-1-roypat@amazon.co.uk/
    (direct map removal)
  * https://lore.kernel.org/all/20250328153133.3504118-1-tabba@google.com/
    (mmap support)

ARM:

* Add support for FF-A 1.2 as the secure memory conduit for pKVM,
  allowing more registers to be used as part of the message payload.

* Change the way pKVM allocates its VM handles, making sure that the
  privileged hypervisor is never tricked into using uninitialised
  data.

* Speed up MMIO range registration by avoiding unnecessary RCU
  synchronisation, which results in VMs starting much quicker.

* Add the dump of the instruction stream when panic-ing in the EL2
  payload, just like the rest of the kernel has always done. This will
  hopefully help debugging non-VHE setups.

* Add 52bit PA support to the stage-1 page-table walker, and make use
  of it to populate the fault level reported to the guest on failing
  to translate a stage-1 walk.

* Add NV support to the GICv3-on-GICv5 emulation code, ensuring
  feature parity for guests, irrespective of the host platform.

* Fix some really ugly architecture problems when dealing with debug
  in a nested VM. This has some bad performance impacts, but is at
  least correct.

* Add enough infrastructure to be able to disable EL2 features and
  give effective values to the EL2 control registers. This then allows
  a bunch of features to be turned off, which helps cross-host
  migration.

* Large rework of the selftest infrastructure to allow most tests to
  transparently run at EL2. This is the first step towards enabling
  NV testing.

* Various fixes and improvements all over the map, including one BE
  fix, just in time for the removal of the feature.

LoongArch:

* Detect page table walk feature on new hardware

* Add sign extension with kernel MMIO/IOCSR emulation

* Improve in-kernel IPI emulation

* Improve in-kernel PCH-PIC emulation

* Move kvm_iocsr tracepoint out of generic code

RISC-V:

* Added SBI FWFT extension for Guest/VM with misaligned delegation and
  pointer masking PMLEN features

* Added ONE_REG interface for SBI FWFT extension

* Added Zicbop and bfloat16 extensions for Guest/VM

* Enabled more common KVM selftests for RISC-V

* Added SBI v3.0 PMU enhancements in KVM and perf driver

s390:

* Improve interrupt cpu for wakeup, in particular the heuristic to decide
  which vCPU to deliver a floating interrupt to.

* Clear the PTE when discarding a swapped page because of CMMA; this
  bug was introduced in 6.16 when refactoring gmap code.

x86 selftests:

* Add #DE coverage in the fastops test (the only exception that's guest-
  triggerable in fastop-emulated instructions).

* Fix PMU selftests errors encountered on Granite Rapids (GNR), Sierra
  Forest (SRF) and Clearwater Forest (CWF).

* Minor cleanups and improvements

x86 (guest side):

* For the legacy PCI hole (memory between TOLUD and 4GiB) to UC when
  overriding guest MTRR for TDX/SNP to fix an issue where ACPI auto-mapping
  could map devices as WB and prevent the device drivers from mapping their
  devices with UC/UC-.

* Make kvm_async_pf_task_wake() a local static helper and remove its
  export.

* Use native qspinlocks when running in a VM with dedicated vCPU=>pCPU
  bindings even when PV_UNHALT is unsupported.

Generic:

* Remove a redundant __GFP_NOWARN from kvm_setup_async_pf() as __GFP_NOWARN is
  now included in GFP_NOWAIT.

----------------------------------------------------------------
Ackerley Tng (2):
      KVM: x86/mmu: Rename .private_max_mapping_level() to .gmem_max_mapping_level()
      KVM: x86/mmu: Handle guest page faults for guest_memfd with shared memory

Alexandru Elisei (1):
      KVM: arm64: Update stale comment for sanitise_mte_tags()

Alok Tiwari (1):
      KVM: selftests: Fix typo in hyperv cpuid test message

Anup Patel (6):
      RISC-V: KVM: Set initial value of hedeleg in kvm_arch_vcpu_create()
      RISC-V: KVM: Introduce feature specific reset for SBI FWFT
      RISC-V: KVM: Introduce optional ONE_REG callbacks for SBI extensions
      RISC-V: KVM: Move copy_sbi_ext_reg_indices() to SBI implementation
      RISC-V: KVM: Implement ONE_REG interface for SBI FWFT state
      KVM: riscv: selftests: Add SBI FWFT to get-reg-list test

Atish Patra (8):
      drivers/perf: riscv: Add SBI v3.0 flag
      drivers/perf: riscv: Add raw event v2 support
      RISC-V: KVM: Add support for Raw event v2
      drivers/perf: riscv: Implement PMU event info function
      drivers/perf: riscv: Export PMU event info function
      RISC-V: KVM: No need of explicit writable slot check
      RISC-V: KVM: Implement get event info function
      RISC-V: KVM: Upgrade the supported SBI version to 3.0

Ben Horgan (1):
      KVM: arm64: Fix debug checking for np-guests using huge mappings

Bibo Mao (9):
      LoongArch: KVM: Add PTW feature detection on new hardware
      LoongArch: KVM: Add sign extension with kernel MMIO read emulation
      LoongArch: KVM: Add sign extension with kernel IOCSR read emulation
      LoongArch: KVM: Add implementation with IOCSR_IPI_SET
      LoongArch: KVM: Access mailbox directly in mail_send()
      LoongArch: KVM: Set version information at initial stage
      LoongArch: KVM: Add IRR and ISR register read emulation
      LoongArch: KVM: Add different length support in loongarch_pch_pic_read()
      LoongArch: KVM: Add different length support in loongarch_pch_pic_write()

Christian Borntraeger (1):
      KVM: s390: improve interrupt cpu for wakeup

Clément Léger (2):
      RISC-V: KVM: add support for FWFT SBI extension
      RISC-V: KVM: add support for SBI_FWFT_MISALIGNED_DELEG

Dapeng Mi (2):
      KVM: selftests: Add timing_info bit support in vmx_pmu_caps_test
      KVM: selftests: Validate more arch-events in pmu_counters_test

Dong Yang (1):
      KVM: riscv: selftests: Add missing headers for new testcases

Fangyu Yu (1):
      RISC-V: KVM: Write hgatp register with valid mode bits

Fuad Tabba (25):
      KVM: Rename CONFIG_KVM_PRIVATE_MEM to CONFIG_KVM_GUEST_MEMFD
      KVM: Rename CONFIG_KVM_GENERIC_PRIVATE_MEM to CONFIG_HAVE_KVM_ARCH_GMEM_POPULATE
      KVM: Rename kvm_slot_can_be_private() to kvm_slot_has_gmem()
      KVM: Fix comments that refer to slots_lock
      KVM: Fix comment that refers to kvm uapi header path
      KVM: x86: Enable KVM_GUEST_MEMFD for all 64-bit builds
      KVM: guest_memfd: Add plumbing to host to map guest_memfd pages
      KVM: guest_memfd: Track guest_memfd mmap support in memslot
      KVM: arm64: Refactor user_mem_abort()
      KVM: arm64: Handle guest_memfd-backed guest page faults
      KVM: arm64: nv: Handle VNCR_EL2-triggered faults backed by guest_memfd
      KVM: arm64: Enable support for guest_memfd backed memory
      KVM: Allow and advertise support for host mmap() on guest_memfd files
      KVM: selftests: Do not use hardcoded page sizes in guest_memfd test
      KVM: selftests: guest_memfd mmap() test when mmap is supported
      KVM: arm64: Add build-time check for duplicate DECLARE_REG use
      KVM: arm64: Rename pkvm.enabled to pkvm.is_protected
      KVM: arm64: Rename 'host_kvm' to 'kvm' in pKVM host code
      KVM: arm64: Clarify comments to distinguish pKVM mode from protected VMs
      KVM: arm64: Decouple hyp VM creation state from its handle
      KVM: arm64: Separate allocation and insertion of pKVM VM table entries
      KVM: arm64: Consolidate pKVM hypervisor VM initialization logic
      KVM: arm64: Introduce separate hypercalls for pKVM VM reservation and initialization
      KVM: arm64: Reserve pKVM handle during pkvm_init_host_vm()
      KVM: arm64: Fix page leak in user_mem_abort()

Gautam Gala (1):
      KVM: s390: Fix to clear PTE when discarding a swapped page

Gopi Krishna Menon (1):
      KVM: selftests: fix minor typo in cpumodel_subfuncs

Guo Ren (Alibaba DAMO Academy) (2):
      RISC-V: KVM: Remove unnecessary HGATP csr_read
      RISC-V: KVM: Prevent HGATP_MODE_BARE passed

James Clark (1):
      KVM: arm64: Add trap configs for PMSDSFR_EL1

James Houghton (1):
      KVM: selftests: Fix signedness issue with vCPU mmap size check

Jinqian Yang (2):
      KVM: arm64: Make ID_AA64MMFR1_EL1.{HCX, TWED} writable from userspace
      KVM: arm64: selftests: Test writes to ID_AA64MMFR1_EL1.{HCX, TWED}

Keir Fraser (4):
      KVM: arm64: vgic-init: Remove vgic_ready() macro
      KVM: arm64: vgic: Explicitly implement vgic_dist::ready ordering
      KVM: Implement barriers before accessing kvm->buses[] on SRCU read paths
      KVM: Avoid synchronize_srcu() in kvm_io_bus_register_dev()

Li RongQing (1):
      x86/kvm: Prefer native qspinlock for dedicated vCPUs irrespective of PV_UNHALT

Marc Zyngier (39):
      Merge branch kvm-arm64/ffa-1.2 into kvmarm-master/next
      Merge branch kvm-arm64/pkvm_vm_handle into kvmarm-master/next
      KVM: arm64: Fix kvm_vcpu_{set,is}_be() to deal with EL2 state
      Merge branch kvm-arm64/mmio-rcu into kvmarm-master/next
      Merge branch kvm-arm64/dump-instr into kvmarm-master/next
      KVM: arm64: Don't access ICC_SRE_EL2 if GICv3 doesn't support v2 compatibility
      KVM: arm64: Remove duplicate FEAT_{SYSREG128,MTE2} descriptions
      KVM: arm64: Add reg_feat_map_desc to describe full register dependency
      KVM: arm64: Enforce absence of FEAT_FGT on FGT registers
      KVM: arm64: Enforce absence of FEAT_FGT2 on FGT2 registers
      KVM: arm64: Enforce absence of FEAT_HCX on HCRX_EL2
      KVM: arm64: Convert HCR_EL2 RES0 handling to compute_reg_res0_bits()
      KVM: arm64: Enforce absence of FEAT_SCTLR2 on SCTLR2_EL{1,2}
      KVM: arm64: Enforce absence of FEAT_TCR2 on TCR2_EL2
      KVM: arm64: Convert SCTLR_EL1 RES0 handling to compute_reg_res0_bits()
      KVM: arm64: Convert MDCR_EL2 RES0 handling to compute_reg_res0_bits()
      KVM: arm64: Add helper computing the state of 52bit PA support
      KVM: arm64: Account for 52bit when computing maximum OA
      KVM: arm64: Compute 52bit TTBR address and alignment
      KVM: arm64: Decouple output address from the PT descriptor
      KVM: arm64: Pass the walk_info structure to compute_par_s1()
      KVM: arm64: Compute shareability for LPA2
      KVM: arm64: Populate PAR_EL1 with 52bit addresses
      KVM: arm64: Expand valid block mappings to FEAT_LPA/LPA2 support
      KVM: arm64: Report faults from S1 walk setup at the expected start level
      KVM: arm64: Allow use of S1 PTW for non-NV vcpus
      KVM: arm64: Allow EL1 control registers to be accessed from the CPU state
      KVM: arm64: Don't switch MMU on translation from non-NV context
      KVM: arm64: Add filtering hook to S1 page table walk
      KVM: arm64: Add S1 IPA to page table level walker
      KVM: arm64: Populate level on S1PTW SEA injection
      KVM: arm64: selftest: Expand external_aborts test to look for TTW levels
      Merge branch kvm-arm64/52bit-at into kvmarm-master/next
      Merge branch kvm-arm64/gic-v5-nv into kvmarm-master/next
      Merge branch kvm-arm64/nv-debug into kvmarm-master/next
      Merge branch kvm-arm64/el2-feature-control into kvmarm-master/next
      Merge branch kvm-arm64/nv-misc-6.18 into kvmarm-master/next
      Merge branch kvm-arm64/misc-6.18 into kvmarm-master/next
      Merge branch kvm-arm64/selftests-6.18 into kvmarm-master/next

Mark Brown (3):
      KVM: arm64: Expose FEAT_LSFE to guests
      KVM: arm64: selftests: Remove a duplicate register listing in set_id_regs
      KVM: arm64: selftests: Cover ID_AA64ISAR3_EL1 in set_id_regs

Mostafa Saleh (2):
      KVM: arm64: Dump instruction on hyp panic
      KVM: arm64: Map hyp text as RO and dump instr on panic

Oliver Upton (29):
      KVM: arm64: nv: Trap debug registers when in hyp context
      KVM: arm64: nv: Apply guest's MDCR traps in nested context
      KVM: arm64: nv: Treat AMO as 1 when at EL2 and {E2H,TGE} = {1, 0}
      KVM: arm64: nv: Allow userspace to de-feature stage-2 TGRANs
      KVM: arm64: nv: Convert masks to denylists in limit_nv_id_reg()
      KVM: arm64: nv: Don't erroneously claim FEAT_DoubleLock for NV VMs
      KVM: arm64: nv: Expose FEAT_DF2 to NV-enabled VMs
      KVM: arm64: nv: Expose FEAT_RASv1p1 via RAS_frac
      KVM: arm64: nv: Expose FEAT_ECBHB to NV-enabled VMs
      KVM: arm64: nv: Expose FEAT_AFP to NV-enabled VMs
      KVM: arm64: nv: Exclude guest's TWED configuration when TWE isn't set
      KVM: arm64: nv: Expose FEAT_TWED to NV-enabled VMs
      KVM: arm64: nv: Advertise FEAT_SpecSEI to NV-enabled VMs
      KVM: arm64: nv: Advertise FEAT_TIDCP1 to NV-enabled VMs
      KVM: arm64: nv: Expose up to FEAT_Debugv8p8 to NV-enabled VMs
      KVM: arm64: selftests: Provide kvm_arch_vm_post_create() in library code
      KVM: arm64: selftests: Initialize VGICv3 only once
      KVM: arm64: selftests: Add helper to check for VGICv3 support
      KVM: arm64: selftests: Add unsanitised helpers for VGICv3 creation
      KVM: arm64: selftests: Create a VGICv3 for 'default' VMs
      KVM: arm64: selftests: Alias EL1 registers to EL2 counterparts
      KVM: arm64: selftests: Provide helper for getting default vCPU target
      KVM: arm64: selftests: Select SMCCC conduit based on current EL
      KVM: arm64: selftests: Use hyp timer IRQs when test runs at EL2
      KVM: arm64: selftests: Use the vCPU attr for setting nr of PMU counters
      KVM: arm64: selftests: Initialize HCR_EL2
      KVM: arm64: selftests: Enable EL2 by default
      KVM: arm64: selftests: Add basic test for running in VHE EL2
      KVM: arm64: selftests: Cope with arch silliness in EL2 selftest

Paolo Bonzini (10):
      Merge tag 'kvm-x86-fixes-6.17-rc7' of https://github.com/kvm-x86/linux into HEAD
      Merge branch 'guest-memfd-mmap' into HEAD
      Merge tag 'kvm-s390-next-6.18-1' of https://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux into HEAD
      Merge tag 'kvmarm-fixes-6.17-2' of https://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into HEAD
      Merge tag 'kvmarm-6.18' of git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into HEAD
      Merge tag 'kvm-riscv-6.18-1' of https://github.com/kvm-riscv/linux into HEAD
      Merge tag 'loongarch-kvm-6.18' of git://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson into HEAD
      Merge tag 'kvm-x86-selftests-6.18' of https://github.com/kvm-x86/linux into HEAD
      Merge tag 'kvm-x86-guest-6.18' of https://github.com/kvm-x86/linux into HEAD
      Merge tag 'kvm-x86-generic-6.18' of https://github.com/kvm-x86/linux into HEAD

Per Larsen (6):
      KVM: arm64: Correct return value on host version downgrade attempt
      KVM: arm64: Use SMCCC 1.2 for FF-A initialization and in host handler
      KVM: arm64: Mark FFA_NOTIFICATION_* calls as unsupported
      KVM: arm64: Mark optional FF-A 1.2 interfaces as unsupported
      KVM: arm64: Mask response to FFA_FEATURE call
      KVM: arm64: Bump the supported version of FF-A to 1.2

Qianfeng Rong (1):
      KVM: remove redundant __GFP_NOWARN

Quan Zhou (8):
      RISC-V: KVM: Change zicbom/zicboz block size to depend on the host isa
      RISC-V: KVM: Provide UAPI for Zicbop block size
      RISC-V: KVM: Allow Zicbop extension for Guest/VM
      RISC-V: KVM: Allow bfloat16 extension for Guest/VM
      KVM: riscv: selftests: Add Zicbop extension to get-reg-list test
      KVM: riscv: selftests: Add bfloat16 extension to get-reg-list test
      KVM: riscv: selftests: Use the existing RISCV_FENCE macro in `rseq-riscv.h`
      KVM: riscv: selftests: Add common supported test cases

Samuel Holland (1):
      RISC-V: KVM: Add support for SBI_FWFT_POINTER_MASKING_PMLEN

Sascha Bischoff (4):
      KVM: arm64: Enable nested for GICv5 host with FEAT_GCIE_LEGACY
      arm64: cpucaps: Add GICv5 Legacy vCPU interface (GCIE_LEGACY) capability
      KVM: arm64: Use ARM64_HAS_GICV5_LEGACY for GICv5 probing
      irqchip/gic-v5: Drop has_gcie_v3_compat from gic_kvm_info

Sean Christopherson (17):
      KVM: selftests: Move Intel and AMD module param helpers to x86/processor.h
      KVM: x86: Have all vendor neutral sub-configs depend on KVM_X86, not just KVM
      KVM: x86: Select KVM_GENERIC_PRIVATE_MEM directly from KVM_SW_PROTECTED_VM
      KVM: x86: Select TDX's KVM_GENERIC_xxx dependencies iff CONFIG_KVM_INTEL_TDX=y
      KVM: x86/mmu: Hoist guest_memfd max level/order helpers "up" in mmu.c
      KVM: x86/mmu: Enforce guest_memfd's max order when recovering hugepages
      KVM: x86/mmu: Extend guest_memfd's max mapping level to shared mappings
      KVM: selftests: Add guest_memfd testcase to fault-in on !mmap()'d memory
      KVM: selftests: Add support for #DE exception fixup
      KVM: selftests: Add coverage for 'b' (byte) sized fastops emulation
      KVM: selftests: Dedup the gnarly constraints of the fastops tests (more macros!)
      KVM: selftests: Add support for DIV and IDIV in the fastops test
      x86/kvm: Force legacy PCI hole to UC when overriding MTRRs for TDX/SNP
      x86/kvm: Make kvm_async_pf_task_wake() a local static helper
      KVM: selftests: Track unavailable_mask for PMU events as 32-bit value
      KVM: selftests: Reduce number of "unavailable PMU events" combos tested
      KVM: selftests: Add ex_str() to print human friendly name of exception vectors

Steven Rostedt (1):
      LoongArch: KVM: Move kvm_iocsr tracepoint out of generic code

Sukrut Heroorkar (1):
      selftests/kvm: remove stale TODO in xapic_state_test

Wei-Lin Chang (1):
      KVM: arm64: ptdump: Don't test PTE_VALID alongside other attributes

Yingchao Deng (1):
      KVM: arm64: Return early from trace helpers when KVM isn't available

Yury Norov (NVIDIA) (1):
      LoongArch: KVM: Rework pch_pic_update_batch_irqs()

dongsheng (1):
      KVM: selftests: Handle Intel Atom errata that leads to PMU event overcount

 Documentation/virt/kvm/api.rst                     |   9 +
 arch/arm64/include/asm/kvm_asm.h                   |   2 +
 arch/arm64/include/asm/kvm_emulate.h               |  34 +-
 arch/arm64/include/asm/kvm_host.h                  |   5 +-
 arch/arm64/include/asm/kvm_nested.h                |  27 +-
 arch/arm64/include/asm/kvm_pkvm.h                  |   1 +
 arch/arm64/include/asm/traps.h                     |   1 +
 arch/arm64/include/asm/vncr_mapping.h              |   2 +
 arch/arm64/kernel/cpufeature.c                     |  15 +
 arch/arm64/kernel/image-vars.h                     |   3 +
 arch/arm64/kernel/traps.c                          |  15 +-
 arch/arm64/kvm/Kconfig                             |   1 +
 arch/arm64/kvm/arm.c                               |  19 +-
 arch/arm64/kvm/at.c                                | 376 ++++++++++----
 arch/arm64/kvm/config.c                            | 358 +++++++++-----
 arch/arm64/kvm/debug.c                             |  25 +-
 arch/arm64/kvm/emulate-nested.c                    |   1 +
 arch/arm64/kvm/handle_exit.c                       |   3 +
 arch/arm64/kvm/hyp/include/nvhe/pkvm.h             |   4 +-
 arch/arm64/kvm/hyp/include/nvhe/trap_handler.h     |   3 +-
 arch/arm64/kvm/hyp/nvhe/Makefile                   |   1 +
 arch/arm64/kvm/hyp/nvhe/ffa.c                      | 217 +++++---
 arch/arm64/kvm/hyp/nvhe/hyp-main.c                 |  14 +
 arch/arm64/kvm/hyp/nvhe/mem_protect.c              |   9 +-
 arch/arm64/kvm/hyp/nvhe/pkvm.c                     | 177 +++++--
 arch/arm64/kvm/hyp/nvhe/setup.c                    |  12 +-
 arch/arm64/kvm/hyp/vgic-v3-sr.c                    |  25 +-
 arch/arm64/kvm/hyp/vhe/switch.c                    |   7 +
 arch/arm64/kvm/inject_fault.c                      |  27 +-
 arch/arm64/kvm/mmu.c                               | 212 +++++---
 arch/arm64/kvm/nested.c                            | 119 ++++-
 arch/arm64/kvm/pkvm.c                              |  76 ++-
 arch/arm64/kvm/ptdump.c                            |  20 +-
 arch/arm64/kvm/sys_regs.c                          |  55 ++-
 arch/arm64/kvm/vgic/vgic-init.c                    |  14 +-
 arch/arm64/kvm/vgic/vgic-v3.c                      |   8 +
 arch/arm64/kvm/vgic/vgic-v5.c                      |   2 +-
 arch/arm64/tools/cpucaps                           |   1 +
 arch/loongarch/include/asm/kvm_pch_pic.h           |  15 +-
 arch/loongarch/include/uapi/asm/kvm.h              |   1 +
 arch/loongarch/kvm/exit.c                          |  19 +-
 arch/loongarch/kvm/intc/ipi.c                      |  80 +--
 arch/loongarch/kvm/intc/pch_pic.c                  | 239 ++++-----
 arch/loongarch/kvm/trace.h                         |  35 ++
 arch/loongarch/kvm/vcpu.c                          |   2 +
 arch/loongarch/kvm/vm.c                            |   4 +
 arch/riscv/include/asm/kvm_host.h                  |   4 +
 arch/riscv/include/asm/kvm_vcpu_pmu.h              |   3 +
 arch/riscv/include/asm/kvm_vcpu_sbi.h              |  25 +-
 arch/riscv/include/asm/kvm_vcpu_sbi_fwft.h         |  34 ++
 arch/riscv/include/asm/sbi.h                       |  13 +
 arch/riscv/include/uapi/asm/kvm.h                  |  21 +
 arch/riscv/kvm/Makefile                            |   1 +
 arch/riscv/kvm/gstage.c                            |  27 +-
 arch/riscv/kvm/main.c                              |  33 +-
 arch/riscv/kvm/vcpu.c                              |   3 +-
 arch/riscv/kvm/vcpu_onereg.c                       |  95 ++--
 arch/riscv/kvm/vcpu_pmu.c                          |  74 ++-
 arch/riscv/kvm/vcpu_sbi.c                          | 198 ++++++--
 arch/riscv/kvm/vcpu_sbi_fwft.c                     | 544 +++++++++++++++++++++
 arch/riscv/kvm/vcpu_sbi_pmu.c                      |   3 +
 arch/riscv/kvm/vcpu_sbi_sta.c                      |  74 +--
 arch/riscv/kvm/vmid.c                              |   8 +-
 arch/s390/include/asm/kvm_host.h                   |   2 +-
 arch/s390/include/asm/pgtable.h                    |  22 +
 arch/s390/kvm/interrupt.c                          |  20 +-
 arch/s390/mm/gmap_helpers.c                        |  12 +-
 arch/s390/mm/pgtable.c                             |  23 +-
 arch/x86/include/asm/kvm-x86-ops.h                 |   2 +-
 arch/x86/include/asm/kvm_host.h                    |   6 +-
 arch/x86/include/asm/kvm_para.h                    |   2 -
 arch/x86/kernel/kvm.c                              |  44 +-
 arch/x86/kvm/Kconfig                               |  26 +-
 arch/x86/kvm/mmu/mmu.c                             | 142 +++---
 arch/x86/kvm/mmu/mmu_internal.h                    |   2 +-
 arch/x86/kvm/mmu/tdp_mmu.c                         |   2 +-
 arch/x86/kvm/svm/sev.c                             |   6 +-
 arch/x86/kvm/svm/svm.c                             |   2 +-
 arch/x86/kvm/svm/svm.h                             |   4 +-
 arch/x86/kvm/vmx/main.c                            |   7 +-
 arch/x86/kvm/vmx/tdx.c                             |   5 +-
 arch/x86/kvm/vmx/vmx.c                             |   7 +
 arch/x86/kvm/vmx/x86_ops.h                         |   2 +-
 arch/x86/kvm/x86.c                                 |  11 +
 drivers/irqchip/irq-gic-v5.c                       |   7 -
 drivers/perf/riscv_pmu_sbi.c                       | 191 ++++++--
 include/kvm/arm_vgic.h                             |   2 +-
 include/linux/arm_ffa.h                            |   1 +
 include/linux/irqchip/arm-vgic-info.h              |   2 -
 include/linux/kvm_host.h                           |  49 +-
 include/linux/perf/riscv_pmu.h                     |   1 +
 include/trace/events/kvm.h                         |  35 --
 include/uapi/linux/kvm.h                           |   2 +
 tools/testing/selftests/kvm/Makefile.kvm           |   8 +
 .../selftests/kvm/access_tracking_perf_test.c      |   1 +
 tools/testing/selftests/kvm/arm64/arch_timer.c     |  13 +-
 .../selftests/kvm/arm64/arch_timer_edge_cases.c    |  13 +-
 .../testing/selftests/kvm/arm64/external_aborts.c  |  42 ++
 tools/testing/selftests/kvm/arm64/hello_el2.c      |  71 +++
 tools/testing/selftests/kvm/arm64/hypercalls.c     |   2 +-
 tools/testing/selftests/kvm/arm64/kvm-uuid.c       |   2 +-
 tools/testing/selftests/kvm/arm64/no-vgic-v3.c     |   2 +
 tools/testing/selftests/kvm/arm64/psci_test.c      |  13 +-
 tools/testing/selftests/kvm/arm64/set_id_regs.c    |  44 +-
 tools/testing/selftests/kvm/arm64/smccc_filter.c   |  17 +-
 tools/testing/selftests/kvm/arm64/vgic_init.c      |   2 +
 tools/testing/selftests/kvm/arm64/vgic_irq.c       |   4 +-
 .../testing/selftests/kvm/arm64/vgic_lpi_stress.c  |   8 +-
 .../selftests/kvm/arm64/vpmu_counter_access.c      |  75 ++-
 tools/testing/selftests/kvm/dirty_log_perf_test.c  |  35 --
 tools/testing/selftests/kvm/dirty_log_test.c       |   1 +
 tools/testing/selftests/kvm/get-reg-list.c         |   9 +-
 tools/testing/selftests/kvm/guest_memfd_test.c     | 236 ++++++++-
 .../selftests/kvm/include/arm64/arch_timer.h       |  24 +
 .../selftests/kvm/include/arm64/kvm_util_arch.h    |   5 +-
 .../selftests/kvm/include/arm64/processor.h        |  74 +++
 tools/testing/selftests/kvm/include/arm64/vgic.h   |   3 +
 tools/testing/selftests/kvm/include/kvm_util.h     |  24 +-
 .../selftests/kvm/include/riscv/processor.h        |   1 +
 tools/testing/selftests/kvm/include/x86/pmu.h      |  26 +
 .../testing/selftests/kvm/include/x86/processor.h  |  35 +-
 tools/testing/selftests/kvm/lib/arm64/processor.c  | 104 +++-
 tools/testing/selftests/kvm/lib/arm64/vgic.c       |  66 ++-
 tools/testing/selftests/kvm/lib/kvm_util.c         |  57 +--
 tools/testing/selftests/kvm/lib/x86/pmu.c          |  49 ++
 tools/testing/selftests/kvm/lib/x86/processor.c    |  41 +-
 .../kvm/memslot_modification_stress_test.c         |   1 +
 tools/testing/selftests/kvm/memslot_perf_test.c    |   1 +
 tools/testing/selftests/kvm/riscv/get-reg-list.c   |  60 +++
 tools/testing/selftests/kvm/s390/cmma_test.c       |   2 +-
 .../selftests/kvm/s390/cpumodel_subfuncs_test.c    |   2 +-
 tools/testing/selftests/kvm/steal_time.c           |   2 +-
 tools/testing/selftests/kvm/x86/fastops_test.c     |  82 +++-
 tools/testing/selftests/kvm/x86/hyperv_cpuid.c     |   2 +-
 tools/testing/selftests/kvm/x86/hyperv_features.c  |  16 +-
 .../testing/selftests/kvm/x86/monitor_mwait_test.c |   8 +-
 .../testing/selftests/kvm/x86/pmu_counters_test.c  |  67 ++-
 .../selftests/kvm/x86/pmu_event_filter_test.c      |   4 +-
 .../testing/selftests/kvm/x86/vmx_pmu_caps_test.c  |   7 +-
 tools/testing/selftests/kvm/x86/xapic_state_test.c |   4 +-
 tools/testing/selftests/kvm/x86/xcr0_cpuid_test.c  |  12 +-
 tools/testing/selftests/rseq/rseq-riscv.h          |   3 +-
 virt/kvm/Kconfig                                   |  15 +-
 virt/kvm/Makefile.kvm                              |   2 +-
 virt/kvm/async_pf.c                                |   2 +-
 virt/kvm/guest_memfd.c                             |  81 ++-
 virt/kvm/kvm_main.c                                |  55 ++-
 virt/kvm/kvm_mm.h                                  |   4 +-
 148 files changed, 4132 insertions(+), 1501 deletions(-)
 create mode 100644 arch/riscv/include/asm/kvm_vcpu_sbi_fwft.h
 create mode 100644 arch/riscv/kvm/vcpu_sbi_fwft.c
 create mode 100644 tools/testing/selftests/kvm/arm64/hello_el2.c


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ