This is an automated email from the git hooks/post-receive script.
unknown user pushed a change to branch master in repository linux.
from 1b1934dbbdcf Merge tag 'docs-6.8-2' of git://git.lwn.net/linux new ef5b6a542b1d selftests: kvm/s390x: use vm_create_barebones() new e97b39c5c436 KVM: Tweak kvm_hva_range and hva_handler_t to allow reusin [...] new c0db19232c1e KVM: Assert that mmu_invalidate_in_progress *never* goes negative new 8569992d64b8 KVM: Use gfn instead of hva for mmu_notifier_retry new d497a0fab8b8 KVM: WARN if there are dangling MMU invalidations at VM de [...] new 1853d7502a19 KVM: PPC: Drop dead code related to KVM_ARCH_WANT_MMU_NOTIFIER new 4a2e993faad3 KVM: PPC: Return '1' unconditionally for KVM_CAP_SYNC_MMU new f128cf8cfbec KVM: Convert KVM_ARCH_WANT_MMU_NOTIFIER to CONFIG_KVM_GENE [...] new bb58b90b1a8f KVM: Introduce KVM_SET_USER_MEMORY_REGION2 new 16f95f3b95ca KVM: Add KVM_EXIT_MEMORY_FAULT exit to report faults to userspace new cec29eef0a81 KVM: Add a dedicated mmu_notifier flag for reclaiming free [...] new 193bbfaacc84 KVM: Drop .on_unlock() mmu_notifier hook new 5a475554db1e KVM: Introduce per-page memory attributes new 0003e2a41468 mm: Add AS_UNMOVABLE to mark mapping as completely unmovable new 4f0b9194bc11 fs: Rename anon_inode_getfile_secure() and anon_inode_getf [...] new a7800aa80ea4 KVM: Add KVM_CREATE_GUEST_MEMFD ioctl() for guest-specific [...] new ee605e315633 KVM: x86: "Reset" vcpu->run->exit_reason early in KVM_RUN new 90b4fe17981e KVM: x86: Disallow hugepages when memory attributes are mixed new 8dd2eee9d526 KVM: x86/mmu: Handle page fault for private memory new 2333afa17af0 KVM: Drop superfluous __KVM_VCPU_MULTIPLE_ADDRESS_SPACE macro new eed52e434bc3 KVM: Allow arch code to track number of memslot address sp [...] new 89ea60c2c7b5 KVM: x86: Add support for "protected VMs" that can utilize [...] new 335869c3f2b8 KVM: selftests: Drop unused kvm_userspace_memory_region_fi [...] new 8d99e347c097 KVM: selftests: Convert lib's mem regions to KVM_SET_USER_ [...] new bb2968ad6c33 KVM: selftests: Add support for creating private memslots new f7fa67495d11 KVM: selftests: Add helpers to convert guest memory b/w pr [...] new 01244fce2fa2 KVM: selftests: Add helpers to do KVM_HC_MAP_GPA_RANGE hyp [...] new 672eaa351015 KVM: selftests: Introduce VM "shape" to allow tests to spe [...] new 242331dfc495 KVM: selftests: Add GUEST_SYNC[1-6] macros for synchronizi [...] new 43f623f350ce KVM: selftests: Add x86-only selftest for private memory c [...] new e6f4f345b259 KVM: selftests: Add KVM_SET_USER_MEMORY_REGION2 helper new 2feabb855df8 KVM: selftests: Expand set_memory_region_test to validate [...] new 8a89efd43423 KVM: selftests: Add basic selftest for guest_memfd() new e3577788de64 KVM: selftests: Test KVM exit behavior for private memory/access new 5d74316466f4 KVM: selftests: Add a memory region subtest to validate in [...] new 6c370dc65374 Merge branch 'kvm-guestmemfd' into HEAD new e9e60c82fe39 selftests/kvm: fix compilation on non-x86_64 platforms new 849c1816436f KVM: selftests: fix supported_flags for aarch64 new 80583d0cfd8f KVM: guest-memfd: fix unused-function warning new 3b99d46a1170 KVM: selftests: Actually print out magic token in NX hugep [...] new fc6543bb55d4 KVM: selftests: add -MP to CFLAGS new 6542a0036928 KVM: selftests: Drop the single-underscore ioctl() helpers new 1b78d474ce4e KVM: selftests: Add logic to detect if ioctl() failed beca [...] new e29f5d0c3c7c KVM: selftests: Remove x86's so called "MMIO warning" test new 1af3bf2befc0 KVM: selftests: Fix MWAIT error message when guest asserti [...] new 4d53dcc5d0bc KVM: selftests: Fix benign %llx vs. %lx issues in guest asserts new f813e6d41baf KVM: selftests: Fix broken assert messages in Hyper-V feat [...] new 1b2658e4c709 KVM: selftests: Annotate guest ucall, printf, and assert h [...] new 1c3c87d720cb Merge tag 'kvm-x86-selftests-6.7-rcN' of https://github.co [...] new 8132d887a702 KVM: remove CONFIG_HAVE_KVM_EVENTFD new c5b31cc23717 KVM: remove CONFIG_HAVE_KVM_IRQFD new a5d3df8ae13f KVM: remove deprecated UAPIs new 8ed26ab8d591 KVM: clean up directives to compile out irqfds new 7ab6fb505b2a LoongArch: KVM: Optimization for memslot hugepage checking new 161267320158 LoongArch: KVM: Remove SW timer switch when vcpu is halt polling new 0d2abe670296 LoongArch: KVM: Allow to access HW timer CSR registers always new 1ab9c6099495 LoongArch: KVM: Remove kvm_acquire_timer() before entering guest new 5b3d524993ff LoongArch: KVM: Fix timer emulation with oneshot mode new db1ecca22edf LoongArch: KVM: Add LSX (128bit SIMD) support new 118e10cd893d LoongArch: KVM: Add LASX (256bit SIMD) support new 136292522e43 Merge tag 'loongarch-kvm-6.8' of git://git.kernel.org/pub/ [...] new 26fb87ffa9d9 s390/uvdevice: Report additional-data length for attestation new 2731d605d547 KVM: s390: vsie: Fix STFLE interpretive execution identification new 682dbf430d27 KVM: s390: vsie: Fix length of facility list shadowed new 10f7b1dcdfe0 KVM: s390: cpu model: Use proper define for facility mask size new 731859dde86e Merge tag 'kvm-s390-next-6.8-1' of https://git.kernel.org/ [...] new 683c5bbbf6ae riscv: kvm: Use SYM_*() assembly macros instead of depreca [...] new e5ff012743cb riscv: kvm: use ".L" local labels in assembly when applicable new bcd08e9bae57 RISC-V: KVM: remove a redundant condition in kvm_arch_vcpu [...] new c19829ba1e4d KVM: riscv: selftests: Generate ISA extension reg_list usi [...] new 7f58de96aa5e RISC-V: KVM: Don't add SBI multi regs in get-reg-list new 7602730d7f18 KVM: riscv: selftests: Drop SBI multi registers new 23e1dc45022e RISC-V: KVM: Make SBI uapi consistent with ISA uapi new 6ccf119a4cc8 KVM: riscv: selftests: Add RISCV_SBI_EXT_REG new b26e70d72d12 KVM: riscv: selftests: Use register subtypes new bdf6aa328f13 RISC-V: KVM: selftests: Treat SBI ext regs like ISA ext regs new 197bd237b672 RISC-V: KVM: set 'vlenb' in kvm_riscv_vcpu_alloc_vector_context() new 2fa290372dfe RISC-V: KVM: add 'vlenb' Vector CSR new 3975525e5545 RISC-V: KVM: add vector registers and CSRs in KVM_GET_REG_LIST new 4c460eb36951 RISC-V: KVM: Fix indentation in kvm_riscv_vcpu_set_reg_csr() new 323925ed6dbb RISC-V: paravirt: Add skeleton for pv-time support new 6cfc624576a6 RISC-V: Add SBI STA extension definitions new fdf68acccfc6 RISC-V: paravirt: Implement steal-time support new 5fed84a800e6 RISC-V: KVM: Add SBI STA extension skeleton new 2a1f6bf07970 RISC-V: KVM: Add steal-update vcpu request new 38b3390ee488 RISC-V: KVM: Add SBI STA info to vcpu_arch new 5b9e41321ba9 RISC-V: KVM: Add support for SBI extension registers new f61ce890b1f0 RISC-V: KVM: Add support for SBI STA registers new e9f12b5fff8a RISC-V: KVM: Implement SBI STA extension new 0dcab5c4762a RISC-V: KVM: selftests: Move sbi_ecall to processor.c new 945d880d6be0 RISC-V: KVM: selftests: Add guest_sbi_probe_extension new 60b6e31c4996 RISC-V: KVM: selftests: Add steal_time test support new aad86da229bc RISC-V: KVM: selftests: Add get-reg-list test for STA registers new 9cc52627c702 Merge tag 'kvm-riscv-6.8-1' of https://github.com/kvm-risc [...] new caadf876bb74 KVM: introduce CONFIG_KVM_COMMON new 3a373e027d8b KVM: fix direction of dependency on MMU notifiers new 783288010035 KVM: x86: add missing "depends on KVM" new d4fbbb26da52 KVM: arm64: Add new (V)TCR_EL2 field definitions for FEAT_LPA2 new bd412e2a310c KVM: arm64: Use LPA2 page-tables for stage2 and hyp stage1 new 419edf48d79f KVM: arm64: Convert translation level parameter to s8 new 0abc1b11a032 KVM: arm64: Support up to 5 levels of translation in kvm_pgtable new d782ac5b2cee KVM: arm64: Allow guests with >48-bit IPA size on FEAT_LPA [...] new 72324ac52ddd KVM: selftests: arm64: Determine max ipa size per-page size new 10a0cc3b688f KVM: selftests: arm64: Support P52V48 4K and 16K guest_modes new 11e5ea5242e3 KVM: arm64: Use helpers to classify exception types report [...] new 189f2c8e0c42 Merge branch kvm-arm64/lpa2 into kvmarm-master/next new e32afede682e Merge remote-tracking branch 'arm64/for-next/sysregs' into [...] new 1565c881c3df KVM: arm64: Explicitly trap unsupported HFGxTR_EL2 features new 9d400eb722bd KVM: arm64: Add missing HFGxTR_EL2 FGT entries to nested virt new 863ac38984a8 KVM: arm64: Add missing HFGITR_EL2 FGT entries to nested virt new f9d6ed021302 KVM: arm64: Add bit masks for HAFGRTR_EL2 new 676f48235488 KVM: arm64: Handle HAFGRTR_EL2 trapping in nested virt new fc04838f9c00 KVM: arm64: Update and fix FGT register masks new 6c4abbea6d9c KVM: arm64: Add build validation for FGT trap mask values new 9ff67dd26a9e KVM: arm64: Use generated FGT RES0 bits instead of specify [...] new 5f6bd3f3daaa KVM: arm64: Define FGT nMASK bits relative to other fields new 0ccd901da188 KVM: arm64: Macros for setting/clearing FGT bits new 73e3ce3f4a0e KVM: arm64: Fix which features are marked as allowed for p [...] new 21de26dbc517 KVM: arm64: Mark PAuth as a restricted feature for protected VMs new 9d5261269098 KVM: arm64: Trap external trace for protected VMs new 53d5486114ae Merge branch kvm-arm64/fgt-rework into kvmarm-master/next new 2bfc654b89c4 arm64: cpufeatures: Restrict NV support to FEAT_NV2 new 111903d1f5b9 KVM: arm64: nv: Hoist vcpu_has_nv() into is_hyp_ctxt() new 3ed0b5123cd5 KVM: arm64: nv: Compute NV view of idregs as a one-off new 4d4f52052ba8 KVM: arm64: nv: Drop EL12 register traps that are redirect [...] new 3606e0b2e462 KVM: arm64: nv: Add non-VHE-EL2->EL1 translation helpers new 60ce16cc122a KVM: arm64: nv: Add include containing the VNCR_EL2 offsets new 2733dd10701a KVM: arm64: Introduce a bad_trap() primitive for unexpecte [...] new 9b9cce60be85 KVM: arm64: nv: Add EL2_REG_VNCR()/EL2_REG_REDIR() sysreg helpers new d8bd48e3f0ee KVM: arm64: nv: Map VNCR-capable registers to a separate page new fedc612314ac KVM: arm64: nv: Handle virtual EL2 registers in vcpu_read/ [...] new d016264d0765 Merge branch kvm-arm64/nv-6.8-prefix into kvmarm-master/next new 7b95382f9651 KVM: arm64: vgic-v4: Restore pending state on host userspa [...] new 13886f344445 KVM: arm64: vgic: Use common accessor for writes to ISPENDR new 561851424d93 KVM: arm64: vgic: Use common accessor for writes to ICPENDR new 39084ba8d0fc KVM: arm64: vgic-v3: Reinterpret user ISPENDR writes as I{ [...] new ad362fe07fec KVM: arm64: vgic-its: Avoid potential UAF in LPI translati [...] new f4af13bd93b3 Merge branch kvm-arm64/vgic-6.8 into kvmarm-master/next new 040113fa32f2 KVM: arm64: Add missing memory barriers when switching to [...] new 5f53d88f10eb Merge tag 'kvmarm-6.8' of git://git.kernel.org/pub/scm/lin [...] new 63912245c19d KVM: move KVM_CAP_DEVICE_CTRL to the generic check new 573cc0e5cf14 KVM: x86: Harden copying of userspace-array against overflow new 8c4976772d9b KVM: s390: Harden copying of userspace-array against overflow new 1f829359c8c3 KVM: Harden copying of userspace-array against overflow new fb872da8e720 Merge tag 'kvm-x86-generic-6.8' of https://github.com/kvm- [...] new 0277022a77a5 KVM: x86/mmu: Declare flush_remote_tlbs{_range}() hooks if [...] new 87562052c965 KVM: x86/xen: Remove unneeded xen context from kvm_arch wh [...] new cfef5af3cb0e KVM: x86: Move Hyper-V partition assist page out of Hyper- [...] new 50a82b0eb88c KVM: VMX: Split off vmx_onhyperv.{ch} from hyperv.{ch} new 16e880bfa637 KVM: x86: Introduce helper to check if auto-EOI is set in [...] new 0659262a2625 KVM: x86: Introduce helper to check if vector is set in Hy [...] new e7ad84db4d71 KVM: VMX: Split off hyperv_evmcs.{ch} new af9d544a4521 KVM: x86: Introduce helper to handle Hyper-V paravirt TLB [...] new b2e02f82b7f7 KVM: nVMX: Split off helper for emulating VMCLEAR on Hyper [...] new 6dac1195181c KVM: selftests: Make Hyper-V tests explicitly require KVM [...] new 225b7c1117b2 KVM: selftests: Fix vmxon_pa == vmcs12_pa == -1ull nVMX te [...] new f97314626734 KVM: nVMX: Move guest_cpuid_has_evmcs() to hyperv.h new b4f69df0f65e KVM: x86: Make Hyper-V emulation optional new 453e42b05571 KVM: nVMX: Introduce helpers to check if Hyper-V evmptr12 [...] new c98842b26c23 KVM: nVMX: Introduce accessor to get Hyper-V eVMCS pointer new 5a30f97683af KVM: nVMX: Hide more stuff under CONFIG_KVM_HYPERV new 017a99a966f1 KVM: nSVM: Hide more stuff under CONFIG_KVM_HYPERV/CONFIG_HYPERV new 0afdfd85e33a Merge tag 'kvm-x86-hyperv-6.8' of https://github.com/kvm-x [...] new 75bedc1ee90b KVM: x86: Turn off KVM_WERROR by default for all configs new eefe5e668209 KVM: x86: Advertise CPUID.(EAX=7,ECX=2):EDX[5:0] to userspace new 80c883db87d9 KVM: x86: Use a switch statement and macros in __feature_t [...] new c52ffadc65e2 KVM: x86: Don't unnecessarily force masterclock update on [...] new 15223c4f973a KVM: SVM,VMX: Use %rip-relative addressing to access kvm_r [...] new 33d0403fdad8 Merge tag 'kvm-x86-misc-6.8' of https://github.com/kvm-x86 [...] new cbb359d81a26 KVM: x86/pmu: Move PMU reset logic to common x86 code new 1647b52757d5 KVM: x86/pmu: Reset the PMU, i.e. stop counters, before re [...] new f2f63f7ec6fd KVM: x86/pmu: Stop calling kvm_pmu_reset() at RESET (it's [...] new ec61b2306dfd KVM: x86/pmu: Remove manual clearing of fields in kvm_pmu_init() new 89acf1237b81 KVM: x86/pmu: Update sample period in pmc_write_counter() new fd89499a5151 KVM: x86/pmu: Track emulated counter events instead of pre [...] new 01edb1cfbdb9 Merge tag 'kvm-x86-pmu-6.8' of https://github.com/kvm-x86/ [...] new 7b0dd9430cf0 KVM: x86: Consolidate flags for __linearize() new 3963c52df422 KVM: x86: Add an emulation flag for implicit system access new 538ac9a92d66 KVM: x86: Add X86EMUL_F_INVLPG and pass it in em_invlpg() new a130066f7400 KVM: x86/mmu: Drop non-PA bits when getting GFN for guest's PGD new 2c49db455ee2 KVM: x86: Add & use kvm_vcpu_is_legal_cr3() to check CR3's [...] new 9c8021d4ae85 KVM: x86: Remove kvm_vcpu_is_illegal_gpa() new 37a41847b770 KVM: x86: Introduce get_untagged_addr() in kvm_x86_ops and [...] new b39bd520a60c KVM: x86: Untag addresses for LAM emulation where applicable new 93d1c9f498a7 KVM: x86: Virtualize LAM for supervisor pointer new 3098e6eca88e KVM: x86: Virtualize LAM for user pointer new 703d794cb8cb KVM: x86: Advertise and enable LAM (user and supervisor) new 183bdd161c2b KVM: x86: Use KVM-governed feature framework to track "LAM [...] new 8ecb10bcbfa3 Merge tag 'kvm-x86-lam-6.8' of https://github.com/kvm-x86/ [...] new a484755ab252 Revert "nSVM: Check for reserved encodings of TLB_CONTROL [...] new 176bfc5b17fe KVM: nSVM: Advertise support for flush-by-ASID new 770d6aa2e416 KVM: SVM: Explicitly require FLUSHBYASID to enable SEV support new 72046d0a077a KVM: SVM: Don't intercept IRET when injecting NMI and vNMI [...] new 8c9244af4dc8 Merge tag 'kvm-x86-svm-6.8' of https://github.com/kvm-x86/ [...] new 6d7228352609 KVM x86/xen: add an override for PVCLOCK_TSC_STABLE_BIT new 3115d2de39b8 Merge tag 'kvm-x86-xen-6.8' of https://github.com/kvm-x86/ [...] new 1aa4bb916808 KVM: x86/mmu: Fix off-by-1 when splitting huge pages during CLEAR new 45a61ebb2211 KVM: x86/mmu: Check for leaf SPTE when clearing dirty bit [...] new 5f3c8c9187b6 KVM: x86/mmu: remove unnecessary "bool shared" argument fr [...] new 484dd27c0602 KVM: x86/mmu: remove unnecessary "bool shared" argument fr [...] new 250ce1b4d21a KVM: x86/mmu: always take tdp_mmu_pages_lock new e59f75de4e50 KVM: x86/mmu: fix comment about mmu_unsync_pages_lock new 7f26fea9bc08 Merge tag 'kvm-x86-mmu-6.8' of https://github.com/kvm-x86/ [...] new 1c6d984f523f x86/kvm: Do not try to disable kvmclock if it was not enabled new 09d1c6a80f2c Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt [...] new 125c0a646a25 xen: update PV-device interface headers new f1479f0a4f53 xen/xenbus: client: fix kernel-doc comments new 2d2db7d40254 xen/gntdev: Fix the abuse of underlying struct page in DMA [...] new 82fd5ee9d8a5 Merge tag 'for-linus-6.8-rc1-tag' of git://git.kernel.org/ [...]
The 209 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference.
Summary of changes: Documentation/admin-guide/kernel-parameters.txt | 6 +- Documentation/virt/kvm/api.rst | 219 +++++++- Documentation/virt/kvm/locking.rst | 7 +- arch/arm64/include/asm/esr.h | 15 + arch/arm64/include/asm/kvm_arm.h | 63 ++- arch/arm64/include/asm/kvm_emulate.h | 34 +- arch/arm64/include/asm/kvm_host.h | 140 +++-- arch/arm64/include/asm/kvm_nested.h | 56 +- arch/arm64/include/asm/kvm_pgtable.h | 80 ++- arch/arm64/include/asm/kvm_pkvm.h | 5 +- arch/arm64/include/asm/vncr_mapping.h | 103 ++++ arch/arm64/kernel/cpufeature.c | 2 +- arch/arm64/kvm/Kconfig | 7 +- arch/arm64/kvm/arch_timer.c | 3 +- arch/arm64/kvm/arm.c | 12 +- arch/arm64/kvm/emulate-nested.c | 63 +++ arch/arm64/kvm/hyp/include/hyp/fault.h | 2 +- arch/arm64/kvm/hyp/include/hyp/switch.h | 93 ++-- arch/arm64/kvm/hyp/include/nvhe/fixed_config.h | 22 +- arch/arm64/kvm/hyp/nvhe/hyp-init.S | 6 +- arch/arm64/kvm/hyp/nvhe/mem_protect.c | 6 +- arch/arm64/kvm/hyp/nvhe/mm.c | 4 +- arch/arm64/kvm/hyp/nvhe/pkvm.c | 4 + arch/arm64/kvm/hyp/nvhe/setup.c | 2 +- arch/arm64/kvm/hyp/pgtable.c | 90 ++-- arch/arm64/kvm/mmu.c | 49 +- arch/arm64/kvm/nested.c | 22 +- arch/arm64/kvm/reset.c | 9 +- arch/arm64/kvm/sys_regs.c | 235 ++++++-- arch/arm64/kvm/vgic/vgic-its.c | 5 + arch/arm64/kvm/vgic/vgic-mmio-v3.c | 28 +- arch/arm64/kvm/vgic/vgic-mmio.c | 101 ++-- arch/loongarch/include/asm/kvm_host.h | 25 +- arch/loongarch/include/asm/kvm_vcpu.h | 21 +- arch/loongarch/include/uapi/asm/kvm.h | 1 + arch/loongarch/kernel/fpu.S | 2 + arch/loongarch/kvm/Kconfig | 5 +- arch/loongarch/kvm/exit.c | 50 +- arch/loongarch/kvm/main.c | 1 - arch/loongarch/kvm/mmu.c | 124 +++-- arch/loongarch/kvm/switch.S | 31 ++ arch/loongarch/kvm/timer.c | 129 +++-- arch/loongarch/kvm/trace.h | 6 +- arch/loongarch/kvm/vcpu.c | 307 +++++++++-- arch/mips/include/asm/kvm_host.h | 2 - arch/mips/kvm/Kconfig | 6 +- arch/powerpc/include/asm/kvm_host.h | 2 - arch/powerpc/kvm/Kconfig | 14 +- arch/powerpc/kvm/book3s_hv.c | 2 +- arch/powerpc/kvm/powerpc.c | 10 +- arch/riscv/Kconfig | 19 + arch/riscv/include/asm/kvm_host.h | 12 +- arch/riscv/include/asm/kvm_vcpu_sbi.h | 20 +- arch/riscv/include/asm/paravirt.h | 28 + .../include/asm/paravirt_api_clock.h | 0 arch/riscv/include/asm/sbi.h | 17 + arch/riscv/include/uapi/asm/kvm.h | 13 + arch/riscv/kernel/Makefile | 1 + arch/riscv/kernel/paravirt.c | 135 +++++ arch/riscv/kernel/time.c | 3 + arch/riscv/kvm/Kconfig | 7 +- arch/riscv/kvm/Makefile | 1 + arch/riscv/kvm/vcpu.c | 10 +- arch/riscv/kvm/vcpu_onereg.c | 135 +++-- arch/riscv/kvm/vcpu_sbi.c | 142 +++-- arch/riscv/kvm/vcpu_sbi_replace.c | 2 +- arch/riscv/kvm/vcpu_sbi_sta.c | 208 ++++++++ arch/riscv/kvm/vcpu_switch.S | 32 +- arch/riscv/kvm/vcpu_vector.c | 16 + arch/riscv/kvm/vm.c | 1 - arch/s390/include/asm/facility.h | 6 + arch/s390/include/asm/kvm_host.h | 2 +- arch/s390/kernel/Makefile | 2 +- arch/s390/kernel/facility.c | 21 + arch/s390/kvm/Kconfig | 5 +- arch/s390/kvm/guestdbg.c | 4 +- arch/s390/kvm/kvm-s390.c | 1 - arch/s390/kvm/vsie.c | 19 +- arch/x86/include/asm/kvm-x86-ops.h | 3 + arch/x86/include/asm/kvm-x86-pmu-ops.h | 2 +- arch/x86/include/asm/kvm_host.h | 75 ++- arch/x86/include/uapi/asm/kvm.h | 3 + arch/x86/kernel/kvmclock.c | 12 +- arch/x86/kvm/Kconfig | 47 +- arch/x86/kvm/Makefile | 16 +- arch/x86/kvm/cpuid.c | 33 +- arch/x86/kvm/cpuid.h | 13 +- arch/x86/kvm/debugfs.c | 2 +- arch/x86/kvm/emulate.c | 27 +- arch/x86/kvm/governed_features.h | 1 + arch/x86/kvm/hyperv.h | 85 ++- arch/x86/kvm/irq.c | 2 + arch/x86/kvm/irq_comm.c | 9 +- arch/x86/kvm/kvm_emulate.h | 9 + arch/x86/kvm/kvm_onhyperv.h | 20 + arch/x86/kvm/lapic.c | 5 +- arch/x86/kvm/mmu.h | 8 + arch/x86/kvm/mmu/mmu.c | 293 +++++++++- arch/x86/kvm/mmu/mmu_internal.h | 3 + arch/x86/kvm/mmu/paging_tmpl.h | 2 +- arch/x86/kvm/mmu/tdp_mmu.c | 95 ++-- arch/x86/kvm/mmu/tdp_mmu.h | 3 +- arch/x86/kvm/pmu.c | 140 ++++- arch/x86/kvm/pmu.h | 47 +- arch/x86/kvm/reverse_cpuid.h | 35 +- arch/x86/kvm/svm/hyperv.h | 9 + arch/x86/kvm/svm/nested.c | 49 +- arch/x86/kvm/svm/pmu.c | 17 - arch/x86/kvm/svm/sev.c | 7 +- arch/x86/kvm/svm/svm.c | 18 +- arch/x86/kvm/svm/svm.h | 2 + arch/x86/kvm/svm/svm_onhyperv.c | 10 +- arch/x86/kvm/svm/vmenter.S | 10 +- arch/x86/kvm/vmx/hyperv.c | 447 ---------------- arch/x86/kvm/vmx/hyperv.h | 204 ++----- arch/x86/kvm/vmx/{hyperv.c => hyperv_evmcs.c} | 367 +------------ arch/x86/kvm/vmx/hyperv_evmcs.h | 166 ++++++ arch/x86/kvm/vmx/nested.c | 160 ++++-- arch/x86/kvm/vmx/nested.h | 3 +- arch/x86/kvm/vmx/pmu_intel.c | 22 - arch/x86/kvm/vmx/sgx.c | 1 + arch/x86/kvm/vmx/vmenter.S | 2 +- arch/x86/kvm/vmx/vmx.c | 86 ++- arch/x86/kvm/vmx/vmx.h | 14 +- arch/x86/kvm/vmx/vmx_onhyperv.c | 36 ++ arch/x86/kvm/vmx/{hyperv.h => vmx_onhyperv.h} | 87 +-- arch/x86/kvm/vmx/vmx_ops.h | 2 +- arch/x86/kvm/x86.c | 168 ++++-- arch/x86/kvm/x86.h | 2 + arch/x86/kvm/xen.c | 9 +- drivers/s390/char/uvdevice.c | 3 + drivers/xen/gntdev-dmabuf.c | 50 +- drivers/xen/xenbus/xenbus_client.c | 59 ++- fs/anon_inodes.c | 51 +- fs/userfaultfd.c | 5 +- include/linux/anon_inodes.h | 4 +- include/linux/kvm_host.h | 181 +++++-- include/linux/kvm_types.h | 1 + include/linux/pagemap.h | 17 + include/trace/events/kvm.h | 8 +- include/uapi/linux/kvm.h | 140 ++--- include/xen/interface/io/displif.h | 2 +- include/xen/interface/io/ring.h | 2 +- include/xen/interface/io/sndif.h | 2 +- io_uring/io_uring.c | 3 +- mm/compaction.c | 43 +- mm/migrate.c | 2 + tools/testing/selftests/kvm/Makefile | 9 +- .../selftests/kvm/aarch64/page_fault_test.c | 2 +- tools/testing/selftests/kvm/dirty_log_test.c | 2 +- tools/testing/selftests/kvm/guest_memfd_test.c | 198 +++++++ .../selftests/kvm/include/aarch64/processor.h | 4 +- tools/testing/selftests/kvm/include/guest_modes.h | 4 +- .../testing/selftests/kvm/include/kvm_util_base.h | 217 ++++++-- .../selftests/kvm/include/riscv/processor.h | 62 ++- tools/testing/selftests/kvm/include/test_util.h | 7 +- tools/testing/selftests/kvm/include/ucall_common.h | 18 +- .../selftests/kvm/include/x86_64/processor.h | 15 + tools/testing/selftests/kvm/kvm_page_table_test.c | 2 +- .../testing/selftests/kvm/lib/aarch64/processor.c | 69 ++- tools/testing/selftests/kvm/lib/guest_modes.c | 50 +- tools/testing/selftests/kvm/lib/kvm_util.c | 229 ++++---- tools/testing/selftests/kvm/lib/memstress.c | 3 +- tools/testing/selftests/kvm/lib/riscv/processor.c | 49 +- tools/testing/selftests/kvm/lib/riscv/ucall.c | 26 - tools/testing/selftests/kvm/riscv/get-reg-list.c | 588 ++++++++++----------- tools/testing/selftests/kvm/s390x/cmma_test.c | 11 +- .../testing/selftests/kvm/set_memory_region_test.c | 161 +++++- tools/testing/selftests/kvm/steal_time.c | 99 ++++ tools/testing/selftests/kvm/x86_64/hyperv_clock.c | 2 + tools/testing/selftests/kvm/x86_64/hyperv_evmcs.c | 5 +- .../kvm/x86_64/hyperv_extended_hypercalls.c | 2 + .../testing/selftests/kvm/x86_64/hyperv_features.c | 12 +- tools/testing/selftests/kvm/x86_64/hyperv_ipi.c | 2 + .../testing/selftests/kvm/x86_64/hyperv_svm_test.c | 1 + .../selftests/kvm/x86_64/hyperv_tlb_flush.c | 2 + .../selftests/kvm/x86_64/mmio_warning_test.c | 121 ----- .../selftests/kvm/x86_64/monitor_mwait_test.c | 6 +- .../kvm/x86_64/private_mem_conversions_test.c | 482 +++++++++++++++++ .../kvm/x86_64/private_mem_kvm_exits_test.c | 120 +++++ .../kvm/x86_64/svm_nested_soft_inject_test.c | 4 +- .../selftests/kvm/x86_64/ucna_injection_test.c | 2 +- .../selftests/kvm/x86_64/vmx_pmu_caps_test.c | 2 +- .../kvm/x86_64/vmx_set_nested_state_test.c | 16 +- .../testing/selftests/kvm/x86_64/xcr0_cpuid_test.c | 8 +- virt/kvm/Kconfig | 30 +- virt/kvm/Makefile.kvm | 1 + virt/kvm/dirty_ring.c | 2 +- virt/kvm/eventfd.c | 28 +- virt/kvm/guest_memfd.c | 532 +++++++++++++++++++ virt/kvm/kvm_main.c | 522 +++++++++++++++--- virt/kvm/kvm_mm.h | 26 + 192 files changed, 7099 insertions(+), 3208 deletions(-) create mode 100644 arch/arm64/include/asm/vncr_mapping.h create mode 100644 arch/riscv/include/asm/paravirt.h copy arch/{arm => riscv}/include/asm/paravirt_api_clock.h (100%) create mode 100644 arch/riscv/kernel/paravirt.c create mode 100644 arch/riscv/kvm/vcpu_sbi_sta.c create mode 100644 arch/s390/kernel/facility.c copy arch/x86/kvm/vmx/{hyperv.c => hyperv_evmcs.c} (56%) create mode 100644 arch/x86/kvm/vmx/hyperv_evmcs.h create mode 100644 arch/x86/kvm/vmx/vmx_onhyperv.c copy arch/x86/kvm/vmx/{hyperv.h => vmx_onhyperv.h} (59%) create mode 100644 tools/testing/selftests/kvm/guest_memfd_test.c delete mode 100644 tools/testing/selftests/kvm/x86_64/mmio_warning_test.c create mode 100644 tools/testing/selftests/kvm/x86_64/private_mem_conversions_test.c create mode 100644 tools/testing/selftests/kvm/x86_64/private_mem_kvm_exits_test.c create mode 100644 virt/kvm/guest_memfd.c