mbox series

[GIT,PULL] KVM changes for Linux 5.20 merge window

Message ID 20220802171231.1267184-1-pbonzini@redhat.com (mailing list archive)
State New, archived
Headers show
Series [GIT,PULL] KVM changes for Linux 5.20 merge window | expand

Pull-request

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

Message

Paolo Bonzini Aug. 2, 2022, 5:12 p.m. UTC
Linus,

The following changes since commit e0dccc3b76fb35bb257b4118367a883073d7390e:

  Linux 5.19-rc8 (2022-07-24 13:26:27 -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 281106f938d3daaea6f8b6723a8217a2a1ef6936:

  selftests: kvm: set rax before vmcall (2022-08-01 08:43:05 -0400)

Quite a large pull request due to a selftest API overhaul and some
patches that had come in too late for 5.19.
----------------------------------------------------------------
ARM:

* Unwinder implementations for both nVHE modes (classic and
  protected), complete with an overflow stack

* Rework of the sysreg access from userspace, with a complete
  rewrite of the vgic-v3 view to allign with the rest of the
  infrastructure

* Disagregation of the vcpu flags in separate sets to better track
  their use model.

* A fix for the GICv2-on-v3 selftest

* A small set of cosmetic fixes

RISC-V:

* Track ISA extensions used by Guest using bitmap

* Added system instruction emulation framework

* Added CSR emulation framework

* Added gfp_custom flag in struct kvm_mmu_memory_cache

* Added G-stage ioremap() and iounmap() functions

* Added support for Svpbmt inside Guest

s390:

* add an interface to provide a hypervisor dump for secure guests

* improve selftests to use TAP interface

* enable interpretive execution of zPCI instructions (for PCI passthrough)

* First part of deferred teardown

* CPU Topology

* PV attestation

* Minor fixes

x86:

* Permit guests to ignore single-bit ECC errors

* Intel IPI virtualization

* Allow getting/setting pending triple fault with KVM_GET/SET_VCPU_EVENTS

* PEBS virtualization

* Simplify PMU emulation by just using PERF_TYPE_RAW events

* More accurate event reinjection on SVM (avoid retrying instructions)

* Allow getting/setting the state of the speaker port data bit

* Refuse starting the kvm-intel module if VM-Entry/VM-Exit controls are inconsistent

* "Notify" VM exit (detect microarchitectural hangs) for Intel

* Use try_cmpxchg64 instead of cmpxchg64

* Ignore benign host accesses to PMU MSRs when PMU is disabled

* Allow disabling KVM's "MONITOR/MWAIT are NOPs!" behavior

* Allow NX huge page mitigation to be disabled on a per-vm basis

* Port eager page splitting to shadow MMU as well

* Enable CMCI capability by default and handle injected UCNA errors

* Expose pid of vcpu threads in debugfs

* x2AVIC support for AMD

* cleanup PIO emulation

* Fixes for LLDT/LTR emulation

* Don't require refcounted "struct page" to create huge SPTEs

* Miscellaneous cleanups:
** MCE MSR emulation
** Use separate namespaces for guest PTEs and shadow PTEs bitmasks
** PIO emulation
** Reorganize rmap API, mostly around rmap destruction
** Do not workaround very old KVM bugs for L0 that runs with nesting enabled
** new selftests API for CPUID

Generic:

* Fix races in gfn->pfn cache refresh; do not pin pages tracked by the cache

* new selftests API using struct kvm_vcpu instead of a (vm, id) tuple

----------------------------------------------------------------
Andrei Vagin (1):
      selftests: kvm: set rax before vmcall

Andrew Jones (1):
      KVM: selftests: kvm_binary_stats_test: Fix index expressions

Andrey Konovalov (2):
      arm64: kasan: do not instrument stacktrace.c
      arm64: stacktrace: use non-atomic __set_bit

Anup Patel (7):
      RISC-V: KVM: Factor-out instruction emulation into separate sources
      RISC-V: KVM: Add extensible system instruction emulation framework
      RISC-V: KVM: Add extensible CSR emulation framework
      KVM: Add gfp_custom flag in struct kvm_mmu_memory_cache
      RISC-V: KVM: Add G-stage ioremap() and iounmap() functions
      RISC-V: KVM: Use PAGE_KERNEL_IO in kvm_riscv_gstage_ioremap()
      RISC-V: KVM: Add support for Svpbmt inside Guest/VM

Atish Patra (1):
      RISC-V: KVM: Improve ISA extension by using a bitmap

Bagas Sanjaya (1):
      Documentation: kvm: extend KVM_S390_ZPCI_OP subheading underline

Ben Gardon (9):
      KVM: selftests: Remove dynamic memory allocation for stats header
      KVM: selftests: Read binary stats header in lib
      KVM: selftests: Read binary stats desc in lib
      KVM: selftests: Read binary stat data in lib
      KVM: x86: Fix errant brace in KVM capability handling
      KVM: x86/MMU: Allow NX huge pages to be disabled on a per-vm basis
      KVM: selftests: Add NX huge pages test
      KVM: selftests: Test disabling NX hugepages on a VM
      KVM: selftests: Cache binary stats metadata for duration of test

Chao Gao (1):
      KVM: VMX: enable IPI virtualization

Chenyi Qiang (2):
      KVM: x86: Extend KVM_{G,S}ET_VCPU_EVENTS to support pending triple fault
      KVM: selftests: Add a test to get/set triple fault event

Christian Borntraeger (3):
      Merge tag 'kvm-s390-pci-5.20' into kernelorgnext
      KVM: s390/pci: fix include duplicates
      KVM: s390: Add facility 197 to the allow list

Claudio Imbrenda (12):
      KVM: s390: pv: leak the topmost page table when destroy fails
      KVM: s390: pv: handle secure storage violations for protected guests
      KVM: s390: pv: handle secure storage exceptions for normal guests
      KVM: s390: pv: refactor s390_reset_acc
      KVM: s390: pv: usage counter instead of flag
      KVM: s390: pv: add export before import
      KVM: s390: pv: clear the state without memset
      KVM: s390: pv: Add kvm_s390_cpus_from_pv to kvm-s390.h and add documentation
      KVM: s390: pv: add mmu_notifier
      s390/mm: KVM: pv: when tearing down, try to destroy protected pages
      KVM: s390: pv: refactoring of kvm_s390_pv_deinit_vm
      KVM: s390: pv: destroy the configuration before its memory

Colton Lewis (4):
      KVM: selftests: enumerate GUEST_ASSERT arguments
      KVM: selftests: Increase UCALL_MAX_ARGS to 7
      KVM: selftests: Write REPORT_GUEST_ASSERT macros to pair with GUEST_ASSERT
      KVM: selftests: Fix filename reporting in guest asserts

David Matlack (22):
      KVM: VMX: Print VM-instruction error when it may be helpful
      KVM: x86/mmu: Optimize MMU page cache lookup for all direct SPs
      KVM: x86/mmu: Use a bool for direct
      KVM: x86/mmu: Stop passing "direct" to mmu_alloc_root()
      KVM: x86/mmu: Derive shadow MMU page role from parent
      KVM: x86/mmu: Always pass 0 for @quadrant when gptes are 8 bytes
      KVM: x86/mmu: Decompose kvm_mmu_get_page() into separate functions
      KVM: x86/mmu: Consolidate shadow page allocation and initialization
      KVM: x86/mmu: Rename shadow MMU functions that deal with shadow pages
      KVM: x86/mmu: Move guest PT write-protection to account_shadowed()
      KVM: x86/mmu: Pass memory caches to allocate SPs separately
      KVM: x86/mmu: Replace vcpu with kvm in kvm_mmu_alloc_shadow_page()
      KVM: x86/mmu: Pass kvm pointer separately from vcpu to kvm_mmu_find_shadow_page()
      KVM: x86/mmu: Allow NULL @vcpu in kvm_mmu_find_shadow_page()
      KVM: x86/mmu: Pass const memslot to rmap_add()
      KVM: x86/mmu: Decouple rmap_add() and link_shadow_page() from kvm_vcpu
      KVM: x86/mmu: Update page stats in __rmap_add()
      KVM: x86/mmu: Cache the access bits of shadowed translations
      KVM: x86/mmu: Extend make_huge_page_split_spte() for the shadow MMU
      KVM: x86/mmu: Zap collapsible SPTEs in shadow MMU at all possible levels
      KVM: Allow for different capacities in kvm_mmu_memory_cache structs
      KVM: x86/mmu: Extend Eager Page Splitting to nested MMUs

Dongliang Mu (1):
      x86: kvm: remove NULL check before kfree

Guo Zhengkui (1):
      selftests: kvm: replace ternary operator with min()

Hou Wenlong (1):
      KVM: x86/mmu: Replace UNMAPPED_GVA with INVALID_GPA for gva_to_gpa()

Janis Schoetterl-Glausch (1):
      KVM: s390: selftests: Fix memop extension capability check

Janosch Frank (11):
      s390/uv: Add SE hdr query information
      s390/uv: Add dump fields to query
      KVM: s390: pv: Add query interface
      KVM: s390: pv: Add dump support definitions
      KVM: s390: pv: Add query dump information
      KVM: s390: Add configuration dump functionality
      KVM: s390: Add CPU dump functionality
      KVM: s390: Add KVM_CAP_S390_PROTECTED_DUMP
      Documentation: virt: Protected virtual machine dumps
      Documentation/virt/kvm/api.rst: Add protvirt dump/info api descriptions
      Documentation/virt/kvm/api.rst: Explain rc/rrc delivery

Jarkko Sakkinen (1):
      KVM: SVM: Dump Virtual Machine Save Area (VMSA) to klog

Jiang Jian (1):
      KVM: s390: drop unexpected word 'and' in the comments

Jim Mattson (1):
      KVM: VMX: Print VM-instruction error as unsigned

Jue Wang (8):
      KVM: x86: Make APIC_VERSION capture only the magic 0x14UL.
      KVM: x86: Fill apic_lvt_mask with enums / explicit entries.
      KVM: x86: Add APIC_LVTx() macro.
      KVM: x86: Add Corrected Machine Check Interrupt (CMCI) emulation to lapic.
      KVM: x86: Use kcalloc to allocate the mce_banks array.
      KVM: x86: Add emulation for MSR_IA32_MCx_CTL2 MSRs.
      KVM: x86: Enable CMCI capability by default and handle injected UCNA errors
      KVM: selftests: Add a self test for CMCI and UCNA emulations.

Kai Huang (1):
      KVM, x86/mmu: Fix the comment around kvm_tdp_mmu_zap_leafs()

Kalesh Singh (18):
      KVM: arm64: Fix hypervisor address symbolization
      arm64: stacktrace: Add shared header for common stack unwinding code
      arm64: stacktrace: Factor out on_accessible_stack_common()
      arm64: stacktrace: Factor out unwind_next_common()
      arm64: stacktrace: Handle frame pointer from different address spaces
      arm64: stacktrace: Factor out common unwind()
      arm64: stacktrace: Add description of stacktrace/common.h
      KVM: arm64: On stack overflow switch to hyp overflow_stack
      KVM: arm64: Stub implementation of non-protected nVHE HYP stack unwinder
      KVM: arm64: Prepare non-protected nVHE hypervisor stacktrace
      KVM: arm64: Implement non-protected nVHE hyp stack unwinder
      KVM: arm64: Introduce hyp_dump_backtrace()
      KVM: arm64: Add PROTECTED_NVHE_STACKTRACE Kconfig
      KVM: arm64: Allocate shared pKVM hyp stacktrace buffers
      KVM: arm64: Stub implementation of pKVM HYP stack unwinder
      KVM: arm64: Save protected-nVHE (pKVM) hyp stacktrace
      KVM: arm64: Implement protected nVHE hyp stack unwinder
      KVM: arm64: Introduce pkvm_dump_backtrace()

Lai Jiangshan (4):
      KVM: X86/MMU: Remove unused PT32_DIR_BASE_ADDR_MASK from mmu.c
      KVM: Rename ack_flush() to ack_kick()
      KVM: X86/MMU: Remove useless mmu_topup_memory_caches() in kvm_mmu_pte_write()
      KVM: X86/SVM: Use root_level in svm_load_mmu_pgd()

Lev Kujawski (1):
      KVM: set_msr_mce: Permit guests to ignore single-bit ECC errors

Like Xu (33):
      perf/x86/intel: Add EPT-Friendly PEBS for Ice Lake Server
      perf/x86/intel: Handle guest PEBS overflow PMI for KVM guest
      perf/x86/core: Pass "struct kvm_pmu *" to determine the guest values
      KVM: x86/pmu: Set MSR_IA32_MISC_ENABLE_EMON bit when vPMU is enabled
      KVM: x86/pmu: Introduce the ctrl_mask value for fixed counter
      KVM: x86/pmu: Add IA32_PEBS_ENABLE MSR emulation for extended PEBS
      KVM: x86/pmu: Reprogram PEBS event to emulate guest PEBS counter
      KVM: x86/pmu: Adjust precise_ip to emulate Ice Lake guest PDIR counter
      KVM: x86/pmu: Add IA32_DS_AREA MSR emulation to support guest DS
      KVM: x86/pmu: Add PEBS_DATA_CFG MSR emulation to support adaptive PEBS
      KVM: x86: Set PEBS_UNAVAIL in IA32_MISC_ENABLE when PEBS is enabled
      KVM: x86/pmu: Move pmc_speculative_in_use() to arch/x86/kvm/pmu.h
      KVM: x86/pmu: Disable guest PEBS temporarily in two rare situations
      KVM: x86/pmu: Add kvm_pmu_cap to optimize perf_get_x86_pmu_capability
      KVM: x86/cpuid: Refactor host/guest CPU model consistency check
      KVM: x86/pmu: Expose CPUIDs feature bits PDCM, DS, DTES64
      KVM: x86/pmu: Move the vmx_icl_pebs_cpu[] definition out of the header file
      KVM: x86/pmu: Don't overwrite the pmu->global_ctrl when refreshing
      KVM: x86/pmu: Ignore pmu->global_ctrl check if vPMU doesn't support global_ctrl
      KVM: x86/pmu: Update comments for AMD gp counters
      KVM: x86/pmu: Extract check_pmu_event_filter() handling both GP and fixed counters
      KVM: x86/pmu: Pass only "struct kvm_pmc *pmc" to reprogram_counter()
      KVM: x86/pmu: Drop "u64 eventsel" for reprogram_gp_counter()
      KVM: x86/pmu: Drop "u8 ctrl, int idx" for reprogram_fixed_counter()
      KVM: x86/pmu: Use PERF_TYPE_RAW to merge reprogram_{gp,fixed}counter()
      perf: x86/core: Add interface to query perfmon_event_map[] directly
      KVM: x86/pmu: Replace pmc_perf_hw_id() with perf_get_hw_event_config()
      KVM: x86/pmu: Drop amd_event_mapping[] in the KVM context
      perf/x86/intel: Fix the comment about guest LBR support on KVM
      KVM: x86/pmu: Update global enable_pmu when PMU is undetected
      KVM: x86/pmu: Avoid exposing Intel BTS feature
      KVM: x86/pmu: Restrict advanced features based on module enable_pmu
      KVM: x86/pmu: Accept 0 for absent PMU MSRs when host-initiated if !enable_pmu

Maciej S. Szmigiero (5):
      KVM: nSVM: Sync next_rip field from vmcb12 to vmcb02
      KVM: SVM: Don't BUG if userspace injects an interrupt with GIF=0
      KVM: nSVM: Transparently handle L1 -> L2 NMI re-injection
      KVM: selftests: nSVM: Add svm_nested_soft_inject_test
      KVM: nSVM: Pull CS.Base from actual VMCB12 for soft int/ex re-injection

Madhavan T. Venkataraman (2):
      arm64: Split unwind_init()
      arm64: Copy the task argument to unwind_state

Marc Zyngier (47):
      KVM: arm64: Drop FP_FOREIGN_STATE from the hypervisor code
      KVM: arm64: Move FP state ownership from flag to a tristate
      KVM: arm64: Add helpers to manipulate vcpu flags among a set
      KVM: arm64: Add three sets of flags to the vcpu state
      KVM: arm64: Move vcpu configuration flags into their own set
      KVM: arm64: Move vcpu PC/Exception flags to the input flag set
      KVM: arm64: Move vcpu debug/SPE/TRBE flags to the input flag set
      KVM: arm64: Move vcpu SVE/SME flags to the state flag set
      KVM: arm64: Move vcpu ON_UNSUPPORTED_CPU flag to the state flag set
      KVM: arm64: Move vcpu WFIT flag to the state flag set
      KVM: arm64: Kill unused vcpu flags field
      KVM: arm64: Convert vcpu sysregs_loaded_on_cpu to a state flag
      KVM: arm64: Warn when PENDING_EXCEPTION and INCREMENT_PC are set together
      KVM: arm64: Add build-time sanity checks for flags
      KVM: arm64: Reduce the size of the vcpu flag members
      KVM: arm64: Document why pause cannot be turned into a flag
      KVM: arm64: Move the handling of !FP outside of the fast path
      Merge branch kvm-arm64/burn-the-flags into kvmarm-master/next
      KVM: arm64: selftests: Add support for GICv2 on v3
      Merge branch kvm-arm64/misc-5.20 into kvmarm-master/next
      KVM: arm64: Add get_reg_by_id() as a sys_reg_desc retrieving helper
      KVM: arm64: Reorder handling of invariant sysregs from userspace
      KVM: arm64: Introduce generic get_user/set_user helpers for system registers
      KVM: arm64: Rely on index_to_param() for size checks on userspace access
      KVM: arm64: Consolidate sysreg userspace accesses
      KVM: arm64: Get rid of reg_from/to_user()
      KVM: arm64: vgic-v3: Simplify vgic_v3_has_cpu_sysregs_attr()
      KVM: arm64: vgic-v3: Push user access into vgic_v3_cpu_sysregs_uaccess()
      KVM: arm64: vgic-v3: Make the userspace accessors use sysreg API
      KVM: arm64: vgic-v3: Convert userspace accessors over to FIELD_GET/FIELD_PREP
      KVM: arm64: vgic-v3: Use u32 to manage the line level from userspace
      KVM: arm64: vgic-v3: Consolidate userspace access for MMIO registers
      KVM: arm64: vgic-v2: Consolidate userspace access for MMIO registers
      KVM: arm64: vgic: Use {get,put}_user() instead of copy_{from.to}_user
      KVM: arm64: vgic-v2: Add helper for legacy dist/cpuif base address setting
      KVM: arm64: vgic: Consolidate userspace access for base address setting
      KVM: arm64: vgic: Tidy-up calls to vgic_{get,set}_common_attr()
      KVM: arm64: Get rid of find_reg_by_id()
      KVM: arm64: Descope kvm_arm_sys_reg_{get,set}_reg()
      KVM: arm64: Get rid or outdated comments
      Merge branch kvm-arm64/sysreg-cleanup-5.20 into kvmarm-master/next
      KVM: arm64: Move PROTECTED_NVHE_STACKTRACE around
      KVM: arm64: Move nVHE stacktrace unwinding into its own compilation unit
      KVM: arm64: Make unwind()/on_accessible_stack() per-unwinder functions
      KVM: arm64: Move nVHE-only helpers into kvm/stacktrace.c
      arm64: Update 'unwinder howto'
      Merge branch kvm-arm64/nvhe-stacktrace into kvmarm-master/next

Masahiro Yamada (2):
      KVM: arm64: nvhe: Rename confusing obj-y
      KVM: arm64: nvhe: Add intermediates to 'targets' instead of extra-y

Matthew Rosato (21):
      s390/sclp: detect the zPCI load/store interpretation facility
      s390/sclp: detect the AISII facility
      s390/sclp: detect the AENI facility
      s390/sclp: detect the AISI facility
      s390/airq: pass more TPI info to airq handlers
      s390/airq: allow for airq structure that uses an input vector
      s390/pci: externalize the SIC operation controls and routine
      s390/pci: stash associated GISA designation
      s390/pci: stash dtsm and maxstbl
      vfio/pci: introduce CONFIG_VFIO_PCI_ZDEV_KVM
      KVM: s390: pci: add basic kvm_zdev structure
      KVM: s390: pci: do initial setup for AEN interpretation
      KVM: s390: pci: enable host forwarding of Adapter Event Notifications
      KVM: s390: mechanism to enable guest zPCI Interpretation
      KVM: s390: pci: provide routines for enabling/disabling interrupt forwarding
      KVM: s390: pci: add routines to start/stop interpretive execution
      vfio-pci/zdev: add open/close device hooks
      vfio-pci/zdev: add function handle to clp base capability
      vfio-pci/zdev: different maxstbl for interpreted devices
      KVM: s390: add KVM_S390_ZPCI_OP to manage guest zPCI devices
      MAINTAINERS: additional files related kvm s390 pci passthrough

Maxim Levitsky (3):
      KVM: x86: nSVM: always intercept x2apic msrs
      KVM: x86: nSVM: optimize svm_set_x2apic_msr_interception
      KVM: SVM: fix task switch emulation on INTn instruction.

Nico Boehr (1):
      KVM: s390: pv: don't present the ecall interrupt twice

Nikolay Borisov (2):
      RISC-V: KVM: Make kvm_riscv_guest_timer_init a void function
      RISC-V: KVM: move preempt_disable() call in kvm_arch_vcpu_ioctl_run

Oliver Upton (4):
      KVM: arm64: Don't open code ARRAY_SIZE()
      selftests: KVM: Check stat name before other fields
      selftests: KVM: Provide descriptive assertions in kvm_binary_stats_test
      selftests: KVM: Add exponent check for boolean stats

Paolo Bonzini (30):
      Merge branch 'kvm-5.19-early-fixes' into HEAD
      Merge branch 'kvm-5.20-early-patches' into HEAD
      Merge tag 'kvm-s390-next-5.19-2' of git://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux into HEAD
      KVM: x86/pmu: remove useless prototype
      KVM: vmx, pmu: accept 0 for host-initiated write to MSR_IA32_DS_AREA
      KVM: x86: always allow host-initiated writes to PMU MSRs
      KVM: x86/pmu: Use only the uniform interface reprogram_counter()
      x86: events: Do not return bogus capabilities if PMU is broken
      Merge branch 'kvm-5.20-early'
      KVM: SEV: fix misplaced closing parenthesis
      KVM: x86/mmu: Use common macros to compute 32/64-bit paging masks
      KVM: x86/mmu: pull call to drop_large_spte() into __link_shadow_page()
      KVM: x86/mmu: Avoid unnecessary flush on eager page split
      KVM: nVMX: clean up posted interrupt descriptor try_cmpxchg
      KVM: x86: complete fast IN directly with complete_emulator_pio_in()
      KVM: x86: inline kernel_pio into its sole caller
      KVM: x86: drop PIO from unregistered devices
      KVM: x86: move all vcpu->arch.pio* setup in emulator_pio_in_out()
      KVM: x86: wean in-kernel PIO from vcpu->arch.pio*
      KVM: x86: wean fast IN from emulator_pio_in
      KVM: x86: de-underscorify __emulator_pio_in
      KVM: SEV-ES: reuse advance_sev_es_emulated_ins for OUT too
      Merge commit 'kvm-vmx-nested-tsc-fix' into kvm-next-5.20
      Merge tag 'kvm-s390-next-5.20-1' of https://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux into HEAD
      Revert "KVM: nVMX: Do not expose MPX VMX controls when guest MPX disabled"
      Revert "KVM: nVMX: Expose load IA32_PERF_GLOBAL_CTRL VM-{Entry,Exit} control"
      Merge tag 'kvm-riscv-5.20-1' of https://github.com/kvm-riscv/linux into HEAD
      Merge remote-tracking branch 'kvm/next' into kvm-next-5.20
      Merge tag 'kvmarm-5.20' of git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into HEAD
      KVM: x86/mmu: remove unused variable

Paul Durrant (1):
      KVM: x86: PIT: Preserve state of speaker port data bit

Peter Zijlstra (Intel) (1):
      x86/perf/core: Add pebs_capable to store valid PEBS_COUNTER_MASK value

Pierre Morel (3):
      KVM: s390: Cleanup ipte lock access and SIIF facility checks
      KVM: s390: guest support for topology function
      KVM: s390: resetting the Topology-Change-Report

Quentin Perret (1):
      KVM: arm64: Don't return from void function

Robert Hoo (4):
      x86/cpu: Add new VMX feature, Tertiary VM-Execution control
      KVM: VMX: Extend BUILD_CONTROLS_SHADOW macro to support 64-bit variation
      KVM: VMX: Detect Tertiary VM-Execution control when setup VMCS config
      KVM: VMX: Report tertiary_exec_control field in dump_vmcs()

Sean Christopherson (310):
      KVM: Drop unused @gpa param from gfn=>pfn cache's __release_gpc() helper
      KVM: Put the extra pfn reference when reusing a pfn in the gpc cache
      KVM: Do not incorporate page offset into gfn=>pfn cache user address
      KVM: Fully serialize gfn=>pfn cache refresh via mutex
      KVM: Fix multiple races in gfn=>pfn cache refresh
      KVM: Do not pin pages tracked by gfn=>pfn caches
      KVM: SVM: Unwind "speculative" RIP advancement if INTn injection "fails"
      KVM: SVM: Stuff next_rip on emulated INT3 injection if NRIPS is supported
      KVM: SVM: Re-inject INT3/INTO instead of retrying the instruction
      KVM: SVM: Re-inject INTn instead of retrying the insn on "failure"
      KVM: x86: Trace re-injected exceptions
      KVM: x86: Print error code in exception injection tracepoint iff valid
      KVM: x86: Differentiate Soft vs. Hard IRQs vs. reinjected in tracepoint
      KVM: x86/mmu: Drop RWX=0 SPTEs during ept_sync_page()
      KVM: x86/mmu: Comment FNAME(sync_page) to document TLB flushing logic
      KVM: x86: Introduce "struct kvm_caps" to track misc caps/settings
      KVM: VMX: Sanitize VM-Entry/VM-Exit control pairs at kvm_intel load time
      KVM: VMX: Reject kvm_intel if an inconsistent VMCS config is detected
      KVM: x86: Grab regs_dirty in local 'unsigned long'
      KVM: x86: Harden _regs accesses to guard against buggy input
      KVM: x86: Omit VCPU_REGS_RIP from emulator's _regs array
      KVM: x86: Use 16-bit fields to track dirty/valid emulator GPRs
      KVM: x86: Reduce the number of emulator GPRs to '8' for 32-bit KVM
      KVM: x86: Bug the VM if the emulator accesses a non-existent GPR
      KVM: x86: Bug the VM if the emulator generates a bogus exception vector
      KVM: x86: Bug the VM on an out-of-bounds data read
      KVM: Fix references to non-existent KVM_CAP_TRIPLE_FAULT_EVENT
      KVM: selftests: Fix buggy-but-benign check in test_v3_new_redist_regions()
      KVM: selftests: Fix typo in vgic_init test
      KVM: selftests: Drop stale declarations from kvm_util_base.h
      KVM: selftests: Always open VM file descriptors with O_RDWR
      KVM: selftests: Add another underscore to inner ioctl() helpers
      KVM: selftests: Make vcpu_ioctl() a wrapper to pretty print ioctl name
      KVM: selftests: Drop @mode from common vm_create() helper
      KVM: selftests: Split vcpu_set_nested_state() into two helpers
      KVM: sefltests: Use vcpu_ioctl() and __vcpu_ioctl() helpers
      KVM: selftests: Add __vcpu_run() helper
      KVM: selftests: Use vcpu_access_device_attr() in arm64 code
      KVM: selftests: Remove vcpu_get_fd()
      KVM: selftests: Add vcpu_get() to retrieve and assert on vCPU existence
      KVM: selftests: Make vm_ioctl() a wrapper to pretty print ioctl name
      KVM: sefltests: Use vm_ioctl() and __vm_ioctl() helpers
      KVM: selftests: Make kvm_ioctl() a wrapper to pretty print ioctl name
      KVM: selftests: Use kvm_ioctl() helpers
      KVM: selftests: Use __KVM_SYSCALL_ERROR() to handle non-KVM syscall errors
      KVM: selftests: Make x86-64's register dump helpers static
      KVM: selftests: Get rid of kvm_util_internal.h
      KVM: selftests: Use KVM_IOCTL_ERROR() for one-off arm64 ioctls
      KVM: selftests: Drop @test param from kvm_create_device()
      KVM: selftests: Move KVM_CREATE_DEVICE_TEST code to separate helper
      KVM: selftests: Multiplex return code and fd in __kvm_create_device()
      KVM: selftests: Rename KVM_HAS_DEVICE_ATTR helpers for consistency
      KVM: selftests: Drop 'int' return from asserting *_has_device_attr()
      KVM: selftests: Split get/set device_attr helpers
      KVM: selftests: Dedup vgic_init's asserts and improve error messages
      KVM: selftests: Add a VM backpointer to 'struct vcpu'
      KVM: selftests: Consolidate KVM_ENABLE_CAP usage
      KVM: selftests: Simplify KVM_ENABLE_CAP helper APIs
      KVM: selftests: Cache list of MSRs to save/restore
      KVM: selftests: Harden and comment XSS / KVM_SET_MSRS interaction
      KVM: selftests: Dedup MSR index list helpers, simplify dedicated test
      KVM: selftests: Rename MP_STATE and GUEST_DEBUG helpers for consistency
      KVM: selftest: Add proper helpers for x86-specific save/restore ioctls
      KVM: selftests: Add vm_create_*() variants to expose/return 'struct vcpu'
      KVM: selftests: Push vm_adjust_num_guest_pages() into "w/o vCPUs" helper
      KVM: selftests: Use vm_create_without_vcpus() in set_boot_cpu_id
      KVM: selftests: Use vm_create_without_vcpus() in dirty_log_test
      KVM: selftests: Use vm_create_without_vcpus() in hardware_disable_test
      KVM: selftests: Use vm_create_without_vcpus() in psci_test
      KVM: selftests: Avoid memory allocations when adding vCPU in get-reg-list
      KVM: selftests: Rename vm_create() => vm_create_barebones(), drop param
      KVM: selftests: Rename vm_create_without_vcpus() => vm_create()
      KVM: selftests: Make vm_create() a wrapper that specifies VM_MODE_DEFAULT
      KVM: selftests: Rename xAPIC state test's vcpu struct
      KVM: selftests: Rename vcpu.state => vcpu.run
      KVM: selftests: Rename 'struct vcpu' to 'struct kvm_vcpu'
      KVM: selftests: Return the created vCPU from vm_vcpu_add()
      KVM: selftests: Convert memslot_perf_test away from VCPU_ID
      KVM: selftests: Convert rseq_test away from VCPU_ID
      KVM: selftests: Convert xss_msr_test away from VCPU_ID
      KVM: selftests: Convert vmx_preemption_timer_test away from VCPU_ID
      KVM: selftests: Convert vmx_pmu_msrs_test away from VCPU_ID
      KVM: selftests: Convert vmx_set_nested_state_test away from VCPU_ID
      KVM: selftests: Convert vmx_tsc_adjust_test away from VCPU_ID
      KVM: selftests: Convert mmu_role_test away from VCPU_ID
      KVM: selftests: Convert pmu_event_filter_test away from VCPU_ID
      KVM: selftests: Convert smm_test away from VCPU_ID
      KVM: selftests: Convert state_test away from VCPU_ID
      KVM: selftests: Convert svm_int_ctl_test away from VCPU_ID
      KVM: selftests: Convert svm_vmcall_test away from VCPU_ID
      KVM: selftests: Convert sync_regs_test away from VCPU_ID
      KVM: selftests: Convert hyperv_cpuid away from VCPU_ID
      KVM: selftests: Convert kvm_pv_test away from VCPU_ID
      KVM: selftests: Convert platform_info_test away from VCPU_ID
      KVM: selftests: Convert vmx_nested_tsc_scaling_test away from VCPU_ID
      KVM: selftests: Convert set_sregs_test away from VCPU_ID
      KVM: selftests: Convert vmx_dirty_log_test away from VCPU_ID
      KVM: selftests: Convert vmx_close_while_nested_test away from VCPU_ID
      KVM: selftests: Convert vmx_apic_access_test away from VCPU_ID
      KVM: selftests: Convert userspace_msr_exit_test away from VCPU_ID
      KVM: selftests: Convert vmx_exception_with_invalid_guest_state away from VCPU_ID
      KVM: selftests: Convert tsc_msrs_test away from VCPU_ID
      KVM: selftests: Convert kvm_clock_test away from VCPU_ID
      KVM: selftests: Convert hyperv_svm_test away from VCPU_ID
      KVM: selftests: Convert hyperv_features away from VCPU_ID
      KVM: selftests: Convert hyperv_clock away from VCPU_ID
      KVM: selftests: Convert evmcs_test away from VCPU_ID
      KVM: selftests: Convert emulator_error_test away from VCPU_ID
      KVM: selftests: Convert debug_regs away from VCPU_ID
      KVM: selftests: Add proper helper for advancing RIP in debug_regs
      KVM: selftests: Convert amx_test away from VCPU_ID
      KVM: selftests: Convert cr4_cpuid_sync_test away from VCPU_ID
      KVM: selftests: Convert cpuid_test away from VCPU_ID
      KVM: selftests: Convert userspace_io_test away from VCPU_ID
      KVM: selftests: Convert vmx_invalid_nested_guest_state away from VCPU_ID
      KVM: selftests: Convert xen_vmcall_test away from VCPU_ID
      KVM: selftests: Convert xen_shinfo_test away from VCPU_ID
      KVM: selftests: Convert dirty_log_test away from VCPU_ID
      KVM: selftests: Convert set_memory_region_test away from VCPU_ID
      KVM: selftests: Convert system_counter_offset_test away from VCPU_ID
      KVM: selftests: Track kvm_vcpu object in tsc_scaling_sync
      KVM: selftests: Convert xapic_state_test away from hardcoded vCPU ID
      KVM: selftests: Convert debug-exceptions away from VCPU_ID
      KVM: selftests: Convert fix_hypercall_test away from VCPU_ID
      KVM: selftests: Convert vgic_irq away from VCPU_ID
      KVM: selftests: Make arm64's guest_get_vcpuid() declaration arm64-only
      KVM: selftests: Move vm_is_unrestricted_guest() to x86-64
      KVM: selftests: Add "arch" to common utils that have arch implementations
      KVM: selftests: Return created vcpu from vm_vcpu_add_default()
      KVM: selftests: Rename vm_vcpu_add* helpers to better show relationships
      KVM: selftests: Convert set_boot_cpu_id away from global VCPU_IDs
      KVM: selftests: Convert psci_test away from VCPU_ID
      KVM: selftests: Convert hardware_disable_test to pass around vCPU objects
      KVM: selftests: Add VM creation helper that "returns" vCPUs
      KVM: selftests: Convert steal_time away from VCPU_ID
      KVM: selftests: Convert arch_timer away from VCPU_ID
      KVM: selftests: Convert svm_nested_soft_inject_test away from VCPU_ID
      KVM: selftests: Convert triple_fault_event_test away from VCPU_ID
      KVM: selftests: Convert vgic_init away from vm_create_default_with_vcpus()
      KVM: selftests: Consolidate KVM_{G,S}ET_ONE_REG helpers
      KVM: selftests: Sync stage before VM is freed in hypercalls test
      KVM: selftests: Convert hypercalls test away from vm_create_default()
      KVM: selftests: Convert xapic_ipi_test away from *_VCPU_ID
      KVM: selftests: Convert sync_regs_test away from VCPU_ID
      KVM: selftests: Convert s390's "resets" test away from VCPU_ID
      KVM: selftests: Convert memop away from VCPU_ID
      KVM: selftests: Convert s390x/diag318_test_handler away from VCPU_ID
      KVM: selftests: Convert tprot away from VCPU_ID
      KVM: selftests: Use vm_create() in tsc_scaling_sync
      KVM: selftests: Use vm_create_with_vcpus() in max_guest_memory_test
      KVM: selftests: Drop vm_create_default* helpers
      KVM: selftests: Drop @vcpuids param from VM creators
      KVM: selftests: Convert kvm_page_table_test away from reliance on vcpu_id
      KVM: selftests: Convert kvm_binary_stats_test away from vCPU IDs
      KVM: selftests: Convert get-reg-list away from its "VCPU_ID"
      KVM: selftests: Stop hardcoding vCPU IDs in vcpu_width_config
      KVM: selftests: Stop conflating vCPU index and ID in perf tests
      KVM: selftests: Remove vcpu_get() usage from dirty_log_test
      KVM: selftests: Require vCPU output array when creating VM with vCPUs
      KVM: selftests: Purge vm+vcpu_id == vcpu silliness
      KVM: selftests: Drop vcpu_get(), rename vcpu_find() => vcpu_exists()
      KVM: selftests: Remove vcpu_state() helper
      KVM: selftests: Open code and drop 'struct kvm_vm' accessors
      KVM: selftests: Drop @slot0_mem_pages from __vm_create_with_vcpus()
      KVM: selftests: Drop @num_percpu_pages from __vm_create_with_vcpus()
      KVM: selftests: Move per-VM/per-vCPU nr pages calculation to __vm_create()
      KVM: selftests: Trust that MAXPHYADDR > memslot0 in vmx_apic_access_test
      KVM: selftests: Drop DEFAULT_GUEST_PHY_PAGES, open code the magic number
      KVM: selftests: Return an 'unsigned int' from kvm_check_cap()
      KVM: selftests: Add kvm_has_cap() to provide syntactic sugar
      KVM: selftests: Add TEST_REQUIRE macros to reduce skipping copy+paste
      KVM: selftests: Use TAP-friendly ksft_exit_skip() in __TEST_REQUIRE
      KVM: selftests: Sanity check input to ioctls() at build time
      KVM: selftests: Add a missing apostrophe in comment to show ownership
      KVM: selftests: Call a dummy helper in VM/vCPU ioctls() to enforce type
      KVM: selftests: Drop a duplicate TEST_ASSERT() in vm_nr_pages_required()
      KVM: selftests: Use kvm_has_cap(), not kvm_check_cap(), where possible
      KVM: SVM: Hide SEV migration lockdep goo behind CONFIG_PROVE_LOCKING
      KVM: x86/mmu: Drop unused CMPXCHG macro from paging_tmpl.h
      KVM: VMX: Skip filter updates for MSRs that KVM is already intercepting
      KVM: nVMX: Snapshot pre-VM-Enter BNDCFGS for !nested_run_pending case
      KVM: nVMX: Snapshot pre-VM-Enter DEBUGCTL for !nested_run_pending case
      KVM: nVMX: Rename nested.vmcs01_* fields to nested.pre_vmenter_*
      KVM: nVMX: Save BNDCFGS to vmcs12 iff relevant controls are exposed to L1
      KVM: nVMX: Update vmcs12 on BNDCFGS write, not at vmcs02=>vmcs12 sync
      KVM: SVM: Drop unused AVIC / kvm_x86_ops declarations
      KVM: x86: Drop @vcpu parameter from kvm_x86_ops.hwapic_isr_update()
      KVM: x86: Check for in-kernel xAPIC when querying APICv for directed yield
      KVM: x86: Move "apicv_active" into "struct kvm_lapic"
      KVM: x86: Use lapic_in_kernel() to query in-kernel APIC in APICv helper
      KVM: VMX: Refactor 32-bit PSE PT creation to avoid using MMU macro
      KVM: x86/mmu: Bury 32-bit PSE paging helpers in paging_tmpl.h
      KVM: x86/mmu: Dedup macros for computing various page table masks
      KVM: x86/mmu: Use separate namespaces for guest PTEs and shadow PTEs
      KVM: x86/mmu: Truncate paging32's PT_BASE_ADDR_MASK to 32 bits
      KVM: x86/mmu: Use common logic for computing the 32/64-bit base PA mask
      KVM: Drop bogus "pfn != 0" guard from kvm_release_pfn()
      KVM: Don't set Accessed/Dirty bits for ZERO_PAGE
      KVM: Avoid pfn_to_page() and vice versa when releasing pages
      KVM: nVMX: Use kvm_vcpu_map() to get/pin vmcs12's APIC-access page
      KVM: Don't WARN if kvm_pfn_to_page() encounters a "reserved" pfn
      KVM: Remove kvm_vcpu_gfn_to_page() and kvm_vcpu_gpa_to_page()
      KVM: Take a 'struct page', not a pfn in kvm_is_zone_device_page()
      KVM: Rename/refactor kvm_is_reserved_pfn() to kvm_pfn_to_refcounted_page()
      KVM: x86/mmu: Shove refcounted page dependency into host_pfn_mapping_level()
      KVM: Do not zero initialize 'pfn' in hva_to_pfn()
      KVM: x86: Give host userspace full control of MSR_IA32_MISC_ENABLES
      KVM: VMX: Give host userspace full control of MSR_IA32_PERF_CAPABILITIES
      Revert "KVM: x86/pmu: Accept 0 for absent PMU MSRs when host-initiated if !enable_pmu"
      Revert "KVM: x86: always allow host-initiated writes to PMU MSRs"
      KVM: VMX: Use vcpu_get_perf_capabilities() to get guest-visible value
      KVM: x86: Ignore benign host accesses to "unsupported" PEBS and BTS MSRs
      KVM: x86: Ignore benign host writes to "unsupported" F15H_PERF_CTL MSRs
      KVM: x86: Add a quirk for KVM's "MONITOR/MWAIT are NOPs!" behavior
      KVM: selftests: Add x86-64 support for exception fixup
      KVM: selftests: Mostly fix broken Hyper-V Features test
      KVM: selftests: Use exception fixup for #UD/#GP Hyper-V MSR/hcall tests
      KVM: selftests: Add MONITOR/MWAIT quirk test
      KVM: selftests: Clean up coding style in binary stats test
      KVM: x86/mmu: Use "unsigned int", not "u32", for SPTEs' @access info
      KVM: x86/mmu: Buffer nested MMU split_desc_cache only by default capacity
      KVM: x86: Signal #GP, not -EPERM, on bad WRMSR(MCi_CTL/STATUS)
      KVM: x86: Use explicit case-statements for MCx banks in {g,s}et_msr_mce()
      KVM: x86: Add helpers to identify CTL and STATUS MCi MSRs
      Merge branch 'kvm-5.20-msr-eperm'
      KVM: x86: Initialize number of APIC LVT entries during APIC creation
      KVM: x86: Fix handling of APIC LVT updates when userspace changes MCG_CAP
      KVM: x86: Query vcpu->vcpu_idx directly and drop its accessor, again
      KVM: selftests: Test MONITOR and MWAIT, not just MONITOR for quirk
      KVM: selftests: Provide valid inputs for MONITOR/MWAIT regs
      KVM: x86: Tweak name of MONITOR/MWAIT #UD quirk to make it #UD specific
      KVM: x86: Mark TSS busy during LTR emulation _after_ all fault checks
      KVM: x86: Set error code to segment selector on LLDT/LTR non-canonical #GP
      KVM: x86: WARN only once if KVM leaves a dangling userspace I/O request
      KVM: selftests: Set KVM's supported CPUID as vCPU's CPUID during recreate
      KVM: sefltests: Use CPUID_* instead of X86_FEATURE_* for one-off usage
      KVM: selftests: Add framework to query KVM CPUID bits
      KVM: selftests: Use kvm_cpu_has() in the SEV migration test
      KVM: selftests: Use kvm_cpu_has() for nested SVM checks
      KVM: selftests: Use kvm_cpu_has() for nested VMX checks
      KVM: selftests: Use kvm_cpu_has() to query PDCM in PMU selftest
      KVM: selftests: Drop redundant vcpu_set_cpuid() from PMU selftest
      KVM: selftests: Use kvm_cpu_has() for XSAVES in XSS MSR test
      KVM: selftests: Check for _both_ XTILE data and cfg in AMX test
      KVM: selftests: Use kvm_cpu_has() in AMX test
      KVM: selftests: Use kvm_cpu_has() for XSAVE in cr4_cpuid_sync_test
      KVM: selftests: Remove the obsolete/dead MMU role test
      KVM: selftests: Use kvm_cpu_has() for KVM's PV steal time
      KVM: selftests: Use kvm_cpu_has() for nSVM soft INT injection test
      KVM: selftests: Verify that kvm_cpuid2.entries layout is unchanged by KVM
      KVM: selftests: Split out kvm_cpuid2_size() from allocate_kvm_cpuid2()
      KVM: selftests: Cache CPUID in struct kvm_vcpu
      KVM: selftests: Don't use a static local in vcpu_get_supported_hv_cpuid()
      KVM: selftests: Rename and tweak get_cpuid() to get_cpuid_entry()
      KVM: selftests: Use get_cpuid_entry() in kvm_get_supported_cpuid_index()
      KVM: selftests: Add helpers to get and modify a vCPU's CPUID entries
      KVM: selftests: Use vm->pa_bits to generate reserved PA bits
      KVM: selftests: Add and use helper to set vCPU's CPUID maxphyaddr
      KVM: selftests: Use vcpu_clear_cpuid_feature() in monitor_mwait_test
      KVM: selftests: Use vcpu_get_cpuid_entry() in PV features test (sort of)
      KVM: selftests: Use vCPU's CPUID directly in Hyper-V test
      KVM: selftests: Use vcpu_get_cpuid_entry() in CPUID test
      KVM: selftests: Use vcpu_{set,clear}_cpuid_feature() in nVMX state test
      KVM: selftests: Use vcpu_clear_cpuid_feature() to clear x2APIC
      KVM: selftests: Make get_supported_cpuid() returns "const"
      KVM: selftests: Set input function/index in raw CPUID helper(s)
      KVM: selftests: Add this_cpu_has() to query X86_FEATURE_* via cpuid()
      KVM: selftests: Use this_cpu_has() in CR4/CPUID sync test
      KVM: selftests: Use this_cpu_has() to detect SVM support in L1
      KVM: selftests: Drop unnecessary use of kvm_get_supported_cpuid_index()
      KVM: selftests: Rename kvm_get_supported_cpuid_index() to __..._entry()
      KVM: selftests: Inline "get max CPUID leaf" helpers
      KVM: selftests: Check KVM's supported CPUID, not host CPUID, for XFD
      KVM: selftests: Skip AMX test if ARCH_REQ_XCOMP_GUEST_PERM isn't supported
      KVM: selftests: Clean up requirements for XFD-aware XSAVE features
      KVM: selftests: Use the common cpuid() helper in cpu_vendor_string_is()
      KVM: selftests: Drop unused SVM_CPUID_FUNC macro
      KVM: VMX: Update PT MSR intercepts during filter change iff PT in host+guest
      KVM: x86/mmu: Add optimized helper to retrieve an SPTE's index
      KVM: x86/mmu: Expand quadrant comment for PG_LEVEL_4K shadow pages
      KVM: x86/mmu: Fix typo and tweak comment for split_desc_cache capacity
      KVM: x86: Add dedicated helper to get CPUID entry with significant index
      KVM: x86: Restrict get_mt_mask() to a u8, use KVM_X86_OP_OPTIONAL_RET0
      KVM: x86: Check target, not vCPU's x2APIC ID, when applying hotplug hack
      KVM: x86/mmu: Return a u64 (the old SPTE) from mmu_spte_clear_track_bits()
      KVM: x86/mmu: Directly "destroy" PTE list when recycling rmaps
      KVM: x86/mmu: Drop the "p is for pointer" from rmap helpers
      KVM: x86/mmu: Rename __kvm_zap_rmaps() to align with other nomenclature
      KVM: x86/mmu: Rename rmap zap helpers to eliminate "unmap" wrapper
      KVM: x86/mmu: Rename pte_list_{destroy,remove}() to show they zap SPTEs
      KVM: x86/mmu: Remove underscores from __pte_list_remove()
      KVM: x86: Reject loading KVM if host.PAT[0] != WB
      KVM: x86: Drop unnecessary goto+label in kvm_arch_init()
      KVM: x86/mmu: Add shadow mask for effective host MTRR memtype
      KVM: x86/mmu: Restrict mapping level based on guest MTRR iff they're used
      KVM: x86/mmu: Don't require refcounted "struct page" to create huge SPTEs
      KVM: x86/mmu: Document the "rules" for using host_pfn_mapping_level()
      KVM: x86/mmu: Don't bottom out on leafs when zapping collapsible SPTEs
      KVM: selftests: Add an option to run vCPUs while disabling dirty logging
      KVM: x86: Split kvm_is_valid_cr4() and export only the non-vendor bits
      KVM: nVMX: Account for KVM reserved CR4 bits in consistency checks
      KVM: nVMX: Inject #UD if VMXON is attempted with incompatible CR0/CR4
      KVM: nVMX: Rename handle_vm{on,off}() to handle_vmx{on,off}()
      KVM: nVMX: Let userspace set nVMX MSR to any _host_ supported value
      KVM: VMX: Mark all PERF_GLOBAL_(OVF)_CTRL bits reserved if there's no vPMU
      KVM: VMX: Add helper to check if the guest PMU has PERF_GLOBAL_CTRL
      KVM: nVMX: Attempt to load PERF_GLOBAL_CTRL on nVMX xfer iff it exists
      KVM: nVMX: Set UMIP bit CR4_FIXED1 MSR when emulating UMIP
      KVM: selftests: Verify VMX MSRs can be restored to KVM-supported values
      KVM: x86/mmu: Treat NX as a valid SPTE bit for NPT

Shaoqin Huang (1):
      KVM: selftests: Remove the mismatched parameter comments

Steffen Eiden (1):
      s390: Add attestation query information

Suravee Suthikulpanit (18):
      x86/cpufeatures: Introduce x2AVIC CPUID bit
      KVM: x86: lapic: Rename [GET/SET]_APIC_DEST_FIELD to [GET/SET]_XAPIC_DEST_FIELD
      KVM: SVM: Detect X2APIC virtualization (x2AVIC) support
      KVM: SVM: Update max number of vCPUs supported for x2AVIC mode
      KVM: SVM: Update avic_kick_target_vcpus to support 32-bit APIC ID
      KVM: SVM: Do not support updating APIC ID when in x2APIC mode
      KVM: SVM: Adding support for configuring x2APIC MSRs interception
      KVM: x86: Deactivate APICv on vCPU with APIC disabled
      KVM: SVM: Refresh AVIC configuration when changing APIC mode
      KVM: SVM: Introduce logic to (de)activate x2AVIC mode
      KVM: SVM: Do not throw warning when calling avic_vcpu_load on a running vcpu
      KVM: SVM: Introduce hybrid-AVIC mode
      KVM: x86: Warning APICv inconsistency only when vcpu APIC mode is valid
      KVM: SVM: Use target APIC ID to complete x2AVIC IRQs when possible
      KVM: SVM: Add AVIC doorbell tracepoint
      KVM: SVM: Fix x2APIC MSRs interception
      KVM: SVM: Do not virtualize MSR accesses for APIC LVTT register
      KVM: x86: Do not block APIC write for non ICR registers

Tao Xu (1):
      KVM: VMX: Enable Notify VM exit

Thomas Huth (4):
      KVM: s390: selftests: Use TAP interface in the memop test
      KVM: s390: selftests: Use TAP interface in the sync_regs test
      KVM: s390: selftests: Use TAP interface in the tprot test
      KVM: s390: selftests: Use TAP interface in the reset test

Uros Bizjak (3):
      KVM: x86/mmu: Use try_cmpxchg64 in tdp_mmu_set_spte_atomic
      KVM: VMX: Use try_cmpxchg64 in pi_try_set_control
      KVM: x86/mmu: Use try_cmpxchg64 in fast_pf_fix_direct_spte

Vineeth Pillai (1):
      KVM: debugfs: expose pid of vcpu threads

Vitaly Kuznetsov (3):
      KVM: x86: Fully initialize 'struct kvm_lapic_irq' in kvm_pv_kick_cpu_op()
      KVM: nVMX: Always enable TSC scaling for L2 when it was enabled for L1
      KVM: selftests: Use "a" and "d" to set EAX/EDX for wrmsr_safe()

Zeng Guang (6):
      KVM: x86: Add support for vICR APIC-write VM-Exits in x2APIC mode
      KVM: VMX: Clean up vmx_refresh_apicv_exec_ctrl()
      KVM: Move kvm_arch_vcpu_precreate() under kvm->lock
      KVM: x86: Allow userspace to set maximum VCPU id for VM
      kvm: selftests: Add KVM_CAP_MAX_VCPU_ID cap test
      KVM: selftests: Enhance handling WRMSR ICR register in x2APIC mode

Zhang Jiaming (1):
      RISC-V: KVM: Fix variable spelling mistake

 Documentation/admin-guide/kernel-parameters.txt    |    3 +-
 Documentation/virt/kvm/api.rst                     |  344 +++++-
 Documentation/virt/kvm/s390/index.rst              |    1 +
 Documentation/virt/kvm/s390/s390-pv-dump.rst       |   64 ++
 MAINTAINERS                                        |    1 +
 arch/arm64/include/asm/kvm_asm.h                   |   16 +
 arch/arm64/include/asm/kvm_emulate.h               |   11 +-
 arch/arm64/include/asm/kvm_host.h                  |  205 +++-
 arch/arm64/include/asm/memory.h                    |    8 +
 arch/arm64/include/asm/stacktrace.h                |   62 +-
 arch/arm64/include/asm/stacktrace/common.h         |  199 ++++
 arch/arm64/include/asm/stacktrace/nvhe.h           |   55 +
 arch/arm64/kernel/Makefile                         |    5 +
 arch/arm64/kernel/stacktrace.c                     |  184 ++-
 arch/arm64/kvm/Kconfig                             |   13 +
 arch/arm64/kvm/Makefile                            |    2 +-
 arch/arm64/kvm/arch_timer.c                        |    2 +-
 arch/arm64/kvm/arm.c                               |   25 +-
 arch/arm64/kvm/debug.c                             |   25 +-
 arch/arm64/kvm/fpsimd.c                            |   39 +-
 arch/arm64/kvm/handle_exit.c                       |   10 +-
 arch/arm64/kvm/hyp/exception.c                     |   23 +-
 arch/arm64/kvm/hyp/include/hyp/debug-sr.h          |    6 +-
 arch/arm64/kvm/hyp/include/hyp/switch.h            |   24 +-
 arch/arm64/kvm/hyp/include/hyp/sysreg-sr.h         |    4 +-
 arch/arm64/kvm/hyp/nvhe/Makefile                   |   14 +-
 arch/arm64/kvm/hyp/nvhe/debug-sr.c                 |    8 +-
 arch/arm64/kvm/hyp/nvhe/host.S                     |    9 +-
 arch/arm64/kvm/hyp/nvhe/stacktrace.c               |  160 +++
 arch/arm64/kvm/hyp/nvhe/switch.c                   |   14 +-
 arch/arm64/kvm/hyp/nvhe/sys_regs.c                 |    4 +-
 arch/arm64/kvm/hyp/vhe/switch.c                    |    6 +-
 arch/arm64/kvm/hyp/vhe/sysreg-sr.c                 |    4 +-
 arch/arm64/kvm/inject_fault.c                      |   17 +-
 arch/arm64/kvm/mmu.c                               |    2 +-
 arch/arm64/kvm/reset.c                             |    6 +-
 arch/arm64/kvm/stacktrace.c                        |  218 ++++
 arch/arm64/kvm/sys_regs.c                          |  294 ++---
 arch/arm64/kvm/sys_regs.h                          |   18 +-
 arch/arm64/kvm/vgic-sys-reg-v3.c                   |  462 ++++----
 arch/arm64/kvm/vgic/vgic-kvm-device.c              |  342 +++---
 arch/arm64/kvm/vgic/vgic-mmio-v3.c                 |   10 +-
 arch/arm64/kvm/vgic/vgic-mmio.c                    |    6 +-
 arch/arm64/kvm/vgic/vgic-mmio.h                    |    4 +-
 arch/arm64/kvm/vgic/vgic.h                         |    9 +-
 arch/riscv/include/asm/csr.h                       |   16 +
 arch/riscv/include/asm/kvm_host.h                  |   24 +-
 arch/riscv/include/asm/kvm_vcpu_fp.h               |    8 +-
 arch/riscv/include/asm/kvm_vcpu_insn.h             |   48 +
 arch/riscv/include/asm/kvm_vcpu_timer.h            |    2 +-
 arch/riscv/include/uapi/asm/kvm.h                  |    1 +
 arch/riscv/kvm/Makefile                            |    1 +
 arch/riscv/kvm/mmu.c                               |   35 +-
 arch/riscv/kvm/vcpu.c                              |  203 ++--
 arch/riscv/kvm/vcpu_exit.c                         |  496 +-------
 arch/riscv/kvm/vcpu_fp.c                           |   27 +-
 arch/riscv/kvm/vcpu_insn.c                         |  752 ++++++++++++
 arch/riscv/kvm/vcpu_timer.c                        |    4 +-
 arch/riscv/kvm/vm.c                                |    4 +-
 arch/s390/boot/uv.c                                |    6 +
 arch/s390/include/asm/airq.h                       |    7 +-
 arch/s390/include/asm/gmap.h                       |   39 +-
 arch/s390/include/asm/kvm_host.h                   |   44 +-
 arch/s390/include/asm/mmu.h                        |    2 +-
 arch/s390/include/asm/mmu_context.h                |    2 +-
 arch/s390/include/asm/pci.h                        |   11 +
 arch/s390/include/asm/pci_clp.h                    |    9 +-
 arch/s390/include/asm/pci_insn.h                   |   29 +-
 arch/s390/include/asm/pgtable.h                    |   21 +-
 arch/s390/include/asm/sclp.h                       |    4 +
 arch/s390/include/asm/tpi.h                        |   13 +
 arch/s390/include/asm/uv.h                         |   51 +-
 arch/s390/include/uapi/asm/kvm.h                   |    1 +
 arch/s390/kernel/uv.c                              |  156 +++
 arch/s390/kvm/Kconfig                              |    1 +
 arch/s390/kvm/Makefile                             |    1 +
 arch/s390/kvm/gaccess.c                            |   96 +-
 arch/s390/kvm/gaccess.h                            |    6 +-
 arch/s390/kvm/intercept.c                          |   15 +
 arch/s390/kvm/interrupt.c                          |   98 +-
 arch/s390/kvm/kvm-s390.c                           |  482 +++++++-
 arch/s390/kvm/kvm-s390.h                           |   16 +
 arch/s390/kvm/pci.c                                |  690 +++++++++++
 arch/s390/kvm/pci.h                                |   87 ++
 arch/s390/kvm/priv.c                               |   26 +-
 arch/s390/kvm/pv.c                                 |  269 ++++-
 arch/s390/kvm/sigp.c                               |    4 +-
 arch/s390/kvm/vsie.c                               |    8 +
 arch/s390/mm/fault.c                               |   23 +-
 arch/s390/mm/gmap.c                                |  177 ++-
 arch/s390/pci/pci.c                                |   16 +
 arch/s390/pci/pci_clp.c                            |    7 +
 arch/s390/pci/pci_insn.c                           |    4 +-
 arch/s390/pci/pci_irq.c                            |   48 +-
 arch/s390/tools/gen_facilities.c                   |    1 +
 arch/x86/events/core.c                             |   28 +-
 arch/x86/events/intel/core.c                       |  160 ++-
 arch/x86/events/perf_event.h                       |    6 +-
 arch/x86/hyperv/hv_apic.c                          |    2 +-
 arch/x86/include/asm/apicdef.h                     |    4 +-
 arch/x86/include/asm/cpufeatures.h                 |    1 +
 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                    |   90 +-
 arch/x86/include/asm/msr-index.h                   |    7 +
 arch/x86/include/asm/perf_event.h                  |   11 +-
 arch/x86/include/asm/svm.h                         |   16 +-
 arch/x86/include/asm/vmx.h                         |   18 +
 arch/x86/include/asm/vmxfeatures.h                 |    6 +-
 arch/x86/include/uapi/asm/kvm.h                    |   10 +-
 arch/x86/include/uapi/asm/vmx.h                    |    4 +-
 arch/x86/kernel/apic/apic.c                        |    2 +-
 arch/x86/kernel/apic/ipi.c                         |    2 +-
 arch/x86/kernel/cpu/feat_ctl.c                     |    9 +-
 arch/x86/kernel/kvm.c                              |    3 +-
 arch/x86/kvm/cpuid.c                               |  115 +-
 arch/x86/kvm/cpuid.h                               |   21 +-
 arch/x86/kvm/debugfs.c                             |    4 +-
 arch/x86/kvm/emulate.c                             |   49 +-
 arch/x86/kvm/hyperv.c                              |    8 +-
 arch/x86/kvm/i8254.c                               |   10 +-
 arch/x86/kvm/i8254.h                               |    1 -
 arch/x86/kvm/kvm_emulate.h                         |   28 +-
 arch/x86/kvm/lapic.c                               |  181 ++-
 arch/x86/kvm/lapic.h                               |   20 +-
 arch/x86/kvm/mmu.h                                 |   10 -
 arch/x86/kvm/mmu/mmu.c                             |  967 +++++++++++-----
 arch/x86/kvm/mmu/mmu_internal.h                    |   40 +-
 arch/x86/kvm/mmu/paging.h                          |   14 -
 arch/x86/kvm/mmu/paging_tmpl.h                     |  126 +-
 arch/x86/kvm/mmu/spte.c                            |   43 +-
 arch/x86/kvm/mmu/spte.h                            |   38 +-
 arch/x86/kvm/mmu/tdp_iter.c                        |   15 +-
 arch/x86/kvm/mmu/tdp_iter.h                        |    1 -
 arch/x86/kvm/mmu/tdp_mmu.c                         |   87 +-
 arch/x86/kvm/pmu.c                                 |  212 ++--
 arch/x86/kvm/pmu.h                                 |   45 +-
 arch/x86/kvm/svm/avic.c                            |  170 ++-
 arch/x86/kvm/svm/nested.c                          |   72 +-
 arch/x86/kvm/svm/pmu.c                             |   62 +-
 arch/x86/kvm/svm/sev.c                             |   20 +-
 arch/x86/kvm/svm/svm.c                             |  273 +++--
 arch/x86/kvm/svm/svm.h                             |   39 +-
 arch/x86/kvm/trace.h                               |   51 +-
 arch/x86/kvm/vmx/capabilities.h                    |   57 +-
 arch/x86/kvm/vmx/evmcs.c                           |    2 +
 arch/x86/kvm/vmx/evmcs.h                           |    1 +
 arch/x86/kvm/vmx/nested.c                          |  197 ++--
 arch/x86/kvm/vmx/nested.h                          |    5 +-
 arch/x86/kvm/vmx/pmu_intel.c                       |  198 +++-
 arch/x86/kvm/vmx/posted_intr.c                     |   30 +-
 arch/x86/kvm/vmx/posted_intr.h                     |    2 +
 arch/x86/kvm/vmx/sgx.c                             |   10 +-
 arch/x86/kvm/vmx/vmcs.h                            |    1 +
 arch/x86/kvm/vmx/vmx.c                             |  367 ++++--
 arch/x86/kvm/vmx/vmx.h                             |   95 +-
 arch/x86/kvm/x86.c                                 |  704 ++++++++----
 arch/x86/kvm/x86.h                                 |   35 +-
 arch/x86/kvm/xen.c                                 |   10 +-
 drivers/s390/char/sclp_early.c                     |    4 +
 drivers/s390/cio/airq.c                            |   12 +-
 drivers/s390/cio/qdio_thinint.c                    |    6 +-
 drivers/s390/crypto/ap_bus.c                       |    9 +-
 drivers/s390/virtio/virtio_ccw.c                   |    6 +-
 drivers/vfio/pci/Kconfig                           |   11 +
 drivers/vfio/pci/Makefile                          |    2 +-
 drivers/vfio/pci/vfio_pci_core.c                   |   10 +-
 drivers/vfio/pci/vfio_pci_zdev.c                   |   35 +-
 include/kvm/arm_vgic.h                             |    2 +-
 include/linux/kvm_host.h                           |   20 +-
 include/linux/kvm_types.h                          |    9 +-
 include/linux/sched/user.h                         |    3 +-
 include/linux/vfio_pci_core.h                      |   12 +-
 include/uapi/linux/kvm.h                           |  108 ++
 include/uapi/linux/vfio_zdev.h                     |    7 +
 tools/testing/selftests/kvm/.gitignore             |   10 +-
 tools/testing/selftests/kvm/Makefile               |   17 +-
 tools/testing/selftests/kvm/aarch64/arch_timer.c   |   88 +-
 .../selftests/kvm/aarch64/debug-exceptions.c       |   26 +-
 tools/testing/selftests/kvm/aarch64/get-reg-list.c |   30 +-
 tools/testing/selftests/kvm/aarch64/hypercalls.c   |   97 +-
 tools/testing/selftests/kvm/aarch64/psci_test.c    |   72 +-
 .../selftests/kvm/aarch64/vcpu_width_config.c      |   71 +-
 tools/testing/selftests/kvm/aarch64/vgic_init.c    |  446 ++++----
 tools/testing/selftests/kvm/aarch64/vgic_irq.c     |   44 +-
 .../selftests/kvm/access_tracking_perf_test.c      |   92 +-
 tools/testing/selftests/kvm/demand_paging_test.c   |   49 +-
 tools/testing/selftests/kvm/dirty_log_perf_test.c  |   81 +-
 tools/testing/selftests/kvm/dirty_log_test.c       |   95 +-
 .../testing/selftests/kvm/hardware_disable_test.c  |   29 +-
 .../selftests/kvm/include/aarch64/processor.h      |   28 +-
 tools/testing/selftests/kvm/include/aarch64/vgic.h |    6 +-
 .../testing/selftests/kvm/include/kvm_util_base.h  |  823 +++++++++----
 .../testing/selftests/kvm/include/perf_test_util.h |    7 +-
 .../selftests/kvm/include/riscv/processor.h        |   20 -
 tools/testing/selftests/kvm/include/test_util.h    |    7 +
 tools/testing/selftests/kvm/include/ucall_common.h |   65 +-
 tools/testing/selftests/kvm/include/x86_64/apic.h  |    1 +
 tools/testing/selftests/kvm/include/x86_64/evmcs.h |    2 +-
 tools/testing/selftests/kvm/include/x86_64/mce.h   |   25 +
 .../selftests/kvm/include/x86_64/processor.h       |  474 +++++++-
 tools/testing/selftests/kvm/include/x86_64/svm.h   |    2 -
 .../selftests/kvm/include/x86_64/svm_util.h        |   27 +-
 tools/testing/selftests/kvm/include/x86_64/vmx.h   |    2 -
 .../testing/selftests/kvm/kvm_binary_stats_test.c  |  183 +--
 tools/testing/selftests/kvm/kvm_create_max_vcpus.c |   10 +-
 tools/testing/selftests/kvm/kvm_page_table_test.c  |   66 +-
 .../testing/selftests/kvm/lib/aarch64/processor.c  |   81 +-
 tools/testing/selftests/kvm/lib/aarch64/ucall.c    |   13 +-
 tools/testing/selftests/kvm/lib/aarch64/vgic.c     |   54 +-
 tools/testing/selftests/kvm/lib/elf.c              |    1 -
 tools/testing/selftests/kvm/lib/guest_modes.c      |    6 +-
 tools/testing/selftests/kvm/lib/kvm_util.c         | 1207 +++++---------------
 .../testing/selftests/kvm/lib/kvm_util_internal.h  |  128 ---
 tools/testing/selftests/kvm/lib/perf_test_util.c   |   92 +-
 tools/testing/selftests/kvm/lib/riscv/processor.c  |  111 +-
 tools/testing/selftests/kvm/lib/riscv/ucall.c      |   16 +-
 .../selftests/kvm/lib/s390x/diag318_test_handler.c |   11 +-
 tools/testing/selftests/kvm/lib/s390x/processor.c  |   44 +-
 tools/testing/selftests/kvm/lib/s390x/ucall.c      |   10 +-
 .../selftests/kvm/lib/x86_64/perf_test_util.c      |   11 +-
 tools/testing/selftests/kvm/lib/x86_64/processor.c |  811 +++++--------
 tools/testing/selftests/kvm/lib/x86_64/svm.c       |   17 -
 tools/testing/selftests/kvm/lib/x86_64/ucall.c     |   12 +-
 tools/testing/selftests/kvm/lib/x86_64/vmx.c       |   26 +-
 .../testing/selftests/kvm/max_guest_memory_test.c  |   53 +-
 .../kvm/memslot_modification_stress_test.c         |   13 +-
 tools/testing/selftests/kvm/memslot_perf_test.c    |   32 +-
 tools/testing/selftests/kvm/rseq_test.c            |   22 +-
 tools/testing/selftests/kvm/s390x/memop.c          |  182 ++-
 tools/testing/selftests/kvm/s390x/resets.c         |  178 +--
 tools/testing/selftests/kvm/s390x/sync_regs_test.c |  121 +-
 tools/testing/selftests/kvm/s390x/tprot.c          |   68 +-
 .../testing/selftests/kvm/set_memory_region_test.c |   46 +-
 tools/testing/selftests/kvm/steal_time.c           |  123 +-
 .../selftests/kvm/system_counter_offset_test.c     |   38 +-
 tools/testing/selftests/kvm/x86_64/amx_test.c      |   91 +-
 tools/testing/selftests/kvm/x86_64/cpuid_test.c    |  105 +-
 .../selftests/kvm/x86_64/cr4_cpuid_sync_test.c     |   43 +-
 tools/testing/selftests/kvm/x86_64/debug_regs.c    |   77 +-
 .../selftests/kvm/x86_64/emulator_error_test.c     |   85 +-
 tools/testing/selftests/kvm/x86_64/evmcs_test.c    |   65 +-
 .../selftests/kvm/x86_64/fix_hypercall_test.c      |   47 +-
 .../selftests/kvm/x86_64/get_msr_index_features.c  |  117 +-
 tools/testing/selftests/kvm/x86_64/hyperv_clock.c  |   28 +-
 tools/testing/selftests/kvm/x86_64/hyperv_cpuid.c  |   48 +-
 .../testing/selftests/kvm/x86_64/hyperv_features.c |  406 +++----
 .../testing/selftests/kvm/x86_64/hyperv_svm_test.c |   28 +-
 .../testing/selftests/kvm/x86_64/kvm_clock_test.c  |   32 +-
 tools/testing/selftests/kvm/x86_64/kvm_pv_test.c   |  117 +-
 .../selftests/kvm/x86_64/max_vcpuid_cap_test.c     |   44 +
 .../selftests/kvm/x86_64/mmio_warning_test.c       |   16 +-
 tools/testing/selftests/kvm/x86_64/mmu_role_test.c |  147 ---
 .../selftests/kvm/x86_64/monitor_mwait_test.c      |  131 +++
 .../selftests/kvm/x86_64/nx_huge_pages_test.c      |  269 +++++
 .../selftests/kvm/x86_64/nx_huge_pages_test.sh     |   59 +
 .../selftests/kvm/x86_64/platform_info_test.c      |   51 +-
 .../selftests/kvm/x86_64/pmu_event_filter_test.c   |  117 +-
 .../testing/selftests/kvm/x86_64/set_boot_cpu_id.c |   95 +-
 .../testing/selftests/kvm/x86_64/set_sregs_test.c  |   75 +-
 .../selftests/kvm/x86_64/sev_migrate_tests.c       |  131 +--
 tools/testing/selftests/kvm/x86_64/smm_test.c      |   46 +-
 tools/testing/selftests/kvm/x86_64/state_test.c    |   39 +-
 .../selftests/kvm/x86_64/svm_int_ctl_test.c        |   25 +-
 .../kvm/x86_64/svm_nested_soft_inject_test.c       |  211 ++++
 .../testing/selftests/kvm/x86_64/svm_vmcall_test.c |   20 +-
 .../testing/selftests/kvm/x86_64/sync_regs_test.c  |   62 +-
 .../selftests/kvm/x86_64/triple_fault_event_test.c |   90 ++
 tools/testing/selftests/kvm/x86_64/tsc_msrs_test.c |   39 +-
 .../selftests/kvm/x86_64/tsc_scaling_sync.c        |   25 +-
 .../selftests/kvm/x86_64/ucna_injection_test.c     |  316 +++++
 .../selftests/kvm/x86_64/userspace_io_test.c       |   22 +-
 .../selftests/kvm/x86_64/userspace_msr_exit_test.c |  188 ++-
 .../selftests/kvm/x86_64/vmx_apic_access_test.c    |   32 +-
 .../kvm/x86_64/vmx_close_while_nested_test.c       |   21 +-
 .../selftests/kvm/x86_64/vmx_dirty_log_test.c      |   18 +-
 .../vmx_exception_with_invalid_guest_state.c       |   68 +-
 .../kvm/x86_64/vmx_invalid_nested_guest_state.c    |   22 +-
 tools/testing/selftests/kvm/x86_64/vmx_msrs_test.c |   84 ++
 .../kvm/x86_64/vmx_nested_tsc_scaling_test.c       |   33 +-
 .../selftests/kvm/x86_64/vmx_pmu_caps_test.c       |   54 +-
 .../kvm/x86_64/vmx_preemption_timer_test.c         |   38 +-
 .../kvm/x86_64/vmx_set_nested_state_test.c         |  105 +-
 .../selftests/kvm/x86_64/vmx_tsc_adjust_test.c     |   17 +-
 .../testing/selftests/kvm/x86_64/xapic_ipi_test.c  |   48 +-
 .../selftests/kvm/x86_64/xapic_state_test.c        |   82 +-
 .../testing/selftests/kvm/x86_64/xen_shinfo_test.c |   75 +-
 .../testing/selftests/kvm/x86_64/xen_vmcall_test.c |   27 +-
 tools/testing/selftests/kvm/x86_64/xss_msr_test.c  |   56 +-
 virt/kvm/kvm_main.c                                |  217 +++-
 virt/kvm/pfncache.c                                |  231 ++--
 291 files changed, 14762 insertions(+), 8600 deletions(-)
 create mode 100644 Documentation/virt/kvm/s390/s390-pv-dump.rst
 create mode 100644 arch/arm64/include/asm/stacktrace/common.h
 create mode 100644 arch/arm64/include/asm/stacktrace/nvhe.h
 create mode 100644 arch/arm64/kvm/hyp/nvhe/stacktrace.c
 create mode 100644 arch/arm64/kvm/stacktrace.c
 create mode 100644 arch/riscv/include/asm/kvm_vcpu_insn.h
 create mode 100644 arch/riscv/kvm/vcpu_insn.c
 create mode 100644 arch/s390/kvm/pci.c
 create mode 100644 arch/s390/kvm/pci.h
 delete mode 100644 arch/x86/kvm/mmu/paging.h
 create mode 100644 tools/testing/selftests/kvm/include/x86_64/mce.h
 delete mode 100644 tools/testing/selftests/kvm/lib/kvm_util_internal.h
 create mode 100644 tools/testing/selftests/kvm/x86_64/max_vcpuid_cap_test.c
 delete mode 100644 tools/testing/selftests/kvm/x86_64/mmu_role_test.c
 create mode 100644 tools/testing/selftests/kvm/x86_64/monitor_mwait_test.c
 create mode 100644 tools/testing/selftests/kvm/x86_64/nx_huge_pages_test.c
 create mode 100755 tools/testing/selftests/kvm/x86_64/nx_huge_pages_test.sh
 create mode 100644 tools/testing/selftests/kvm/x86_64/svm_nested_soft_inject_test.c
 create mode 100644 tools/testing/selftests/kvm/x86_64/triple_fault_event_test.c
 create mode 100644 tools/testing/selftests/kvm/x86_64/ucna_injection_test.c
 create mode 100644 tools/testing/selftests/kvm/x86_64/vmx_msrs_test.c