[GIT PULL] First batch of KVM patches for 5.18

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Linus,

The following changes since commit 8d25b7beca7ed6ca34f53f0f8abd009e2be15d94:

  KVM: x86: pull kvm->srcu read-side to kvm_arch_vcpu_ioctl_run (2022-03-02 10:55:58 -0500)

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 c9b8fecddb5bb4b67e351bbaeaa648a6f7456912:

  KVM: use kvcalloc for array allocations (2022-03-21 09:28:41 -0400)

----------------------------------------------------------------
ARM:

- Proper emulation of the OSLock feature of the debug architecture

- Scalibility improvements for the MMU lock when dirty logging is on

- New VMID allocator, which will eventually help with SVA in VMs

- Better support for PMUs in heterogenous systems

- PSCI 1.1 support, enabling support for SYSTEM_RESET2

- Implement CONFIG_DEBUG_LIST at EL2

- Make CONFIG_ARM64_ERRATUM_2077057 default y

- Reduce the overhead of VM exit when no interrupt is pending

- Remove traces of 32bit ARM host support from the documentation

- Updated vgic selftests

- Various cleanups, doc updates and spelling fixes

RISC-V:

- Prevent KVM_COMPAT from being selected

- Optimize __kvm_riscv_switch_to() implementation

- RISC-V SBI v0.3 support

s390:

- memop selftest

- fix SCK locking

- adapter interruptions virtualization for secure guests

- add Claudio Imbrenda as maintainer

- first step to do proper storage key checking

x86:

- Continue switching kvm_x86_ops to static_call(); introduce
  static_call_cond() and __static_call_ret0 when applicable.

- Cleanup unused arguments in several functions

- Synthesize AMD 0x80000021 leaf

- Fixes and optimization for Hyper-V sparse-bank hypercalls

- Implement Hyper-V's enlightened MSR bitmap for nested SVM

- Remove MMU auditing

- Eager splitting of page tables (new aka "TDP" MMU only) when dirty
  page tracking is enabled

- Cleanup the implementation of the guest PGD cache

- Preparation for the implementation of Intel IPI virtualization

- Fix some segment descriptor checks in the emulator

- Allow AMD AVIC support on systems with physical APIC ID above 255

- Better API to disable virtualization quirks

- Fixes and optimizations for the zapping of page tables:

  - Zap roots in two passes, avoiding RCU read-side critical sections
    that last too long for very large guests backed by 4 KiB SPTEs.

  - Zap invalid and defunct roots asynchronously via concurrency-managed
    work queue.

  - Allowing yielding when zapping TDP MMU roots in response to the root's
    last reference being put.

  - Batch more TLB flushes with an RCU trick.  Whoever frees the paging
    structure now holds RCU as a proxy for all vCPUs running in the guest,
    i.e. to prolongs the grace period on their behalf.  It then kicks the
    the vCPUs out of guest mode before doing rcu_read_unlock().

Generic:

- Introduce __vcalloc and use it for very large allocations that
  need memcg accounting

----------------------------------------------------------------
Alexandru Elisei (4):
      perf: Fix wrong name in comment for struct perf_cpu_context
      KVM: arm64: Keep a list of probed PMUs
      KVM: arm64: Add KVM_ARM_VCPU_PMU_V3_SET_PMU attribute
      KVM: arm64: Refuse to run VCPU if the PMU doesn't match the physical CPU

Anup Patel (6):
      RISC-V: KVM: Upgrade SBI spec version to v0.3
      RISC-V: KVM: Add common kvm_riscv_vcpu_sbi_system_reset() function
      RISC-V: KVM: Implement SBI v0.3 SRST extension
      RISC-V: Add SBI HSM suspend related defines
      RISC-V: KVM: Add common kvm_riscv_vcpu_wfi() function
      RISC-V: KVM: Implement SBI HSM suspend call

Changcheng Deng (1):
      KVM: arm64: Remove unneeded semicolons

Christian Borntraeger (1):
      KVM: s390: MAINTAINERS: promote Claudio Imbrenda

Claudio Imbrenda (1):
      KVM: s390x: fix SCK locking

David Dunn (3):
      KVM: x86: Provide per VM capability for disabling PMU virtualization
      KVM: selftests: Carve out helper to create "default" VM without vCPUs
      KVM: selftests: Verify disabling PMU virtualization via KVM_CAP_CONFIG_PMU

David Matlack (23):
      KVM: x86/mmu: Move SPTE writable invariant checks to a helper function
      KVM: x86/mmu: Check SPTE writable invariants when setting leaf SPTEs
      KVM: x86/mmu: Move is_writable_pte() to spte.h
      KVM: x86/mmu: Rename DEFAULT_SPTE_MMU_WRITEABLE to DEFAULT_SPTE_MMU_WRITABLE
      KVM: x86/mmu: Consolidate comments about {Host,MMU}-writable
      KVM: x86/mmu: Rename rmap_write_protect() to kvm_vcpu_write_protect_gfn()
      KVM: x86/mmu: Rename __rmap_write_protect() to rmap_write_protect()
      KVM: x86/mmu: Automatically update iter->old_spte if cmpxchg fails
      KVM: x86/mmu: Change tdp_mmu_{set,zap}_spte_atomic() to return 0/-EBUSY
      KVM: x86/mmu: Rename TDP MMU functions that handle shadow pages
      KVM: x86/mmu: Rename handle_removed_tdp_mmu_page() to handle_removed_pt()
      KVM: x86/mmu: Consolidate logic to atomically install a new TDP MMU page table
      KVM: x86/mmu: Remove unnecessary warnings from restore_acc_track_spte()
      KVM: x86/mmu: Drop new_spte local variable from restore_acc_track_spte()
      KVM: x86/mmu: Move restore_acc_track_spte() to spte.h
      KVM: x86/mmu: Refactor TDP MMU iterators to take kvm_mmu_page root
      KVM: x86/mmu: Remove redundant role overrides for TDP MMU shadow pages
      KVM: x86/mmu: Derive page role for TDP MMU shadow pages from parent
      KVM: x86/mmu: Separate TDP MMU shadow page allocation and initialization
      KVM: x86/mmu: Split huge pages mapped by the TDP MMU when dirty logging is enabled
      KVM: x86/mmu: Split huge pages mapped by the TDP MMU during KVM_CLEAR_DIRTY_LOG
      KVM: x86/mmu: Add tracepoint for splitting huge pages
      KVM: selftests: Add an option to disable MANUAL_PROTECT_ENABLE and INITIALLY_SET

Guo Ren (1):
      KVM: compat: riscv: Prevent KVM_COMPAT from being selected

Hou Wenlong (3):
      KVM: x86/emulator: Defer not-present segment check in __load_segment_descriptor()
      KVM: x86/emulator: Fix wrong privilege check for code segment in __load_segment_descriptor()
      KVM: x86/emulator: Move the unhandled outer privilege level logic of far return into __load_segment_descriptor()

Janis Schoetterl-Glausch (16):
      s390/uaccess: Add copy_from/to_user_key functions
      KVM: s390: Honor storage keys when accessing guest memory
      KVM: s390: handle_tprot: Honor storage keys
      KVM: s390: selftests: Test TEST PROTECTION emulation
      KVM: s390: Add optional storage key checking to MEMOP IOCTL
      KVM: s390: Add vm IOCTL for key checked guest absolute memory access
      KVM: s390: Rename existing vcpu memop functions
      KVM: s390: Add capability for storage key extension of MEM_OP IOCTL
      KVM: s390: Update api documentation for memop ioctl
      KVM: s390: Clarify key argument for MEM_OP in api docs
      KVM: s390: Add missing vm MEM_OP size check
      KVM: s390: selftests: Split memop tests
      KVM: s390: selftests: Add macro as abstraction for MEM_OP
      KVM: s390: selftests: Add named stages for memop test
      KVM: s390: selftests: Add more copy memop tests
      KVM: s390: selftests: Add error memop tests

Jing Zhang (3):
      KVM: arm64: Use read/write spin lock for MMU protection
      KVM: arm64: Add fast path to handle permission relaxation during dirty logging
      KVM: selftests: Add vgic initialization for dirty log perf test for ARM

Jinrong Liang (13):
      KVM: x86/mmu: Remove unused "kvm" of kvm_mmu_unlink_parents()
      KVM: x86/mmu: Remove unused "kvm" of __rmap_write_protect()
      KVM: x86/mmu: Remove unused "vcpu" of reset_{tdp,ept}_shadow_zero_bits_mask()
      KVM: x86/tdp_mmu: Remove unused "kvm" of kvm_tdp_mmu_get_root()
      KVM: x86/mmu_audit: Remove unused "level" of audit_spte_after_sync()
      KVM: x86/svm: Remove unused "vcpu" of svm_check_exit_valid()
      KVM: x86/i8259: Remove unused "addr" of elcr_ioport_{read,write}()
      KVM: x86/ioapic: Remove unused "addr" and "length" of ioapic_read_indirect()
      KVM: x86/emulate: Remove unused "ctxt" of setup_syscalls_segments()
      KVM: x86/emulate: Remove unused "tss_selector" of task_switch_{16, 32}()
      KVM: x86: Remove unused "vcpu" of kvm_scale_tsc()
      KVM: Remove unused "kvm" of kvm_make_vcpu_request()
      KVM: x86: Remove unused "flags" of kvm_pv_kick_cpu_op()

Julia Lawall (1):
      KVM: arm64: fix typos in comments

Julien Grall (1):
      KVM: arm64: Align the VMID allocation with the arm64 ASID

Keir Fraser (1):
      KVM: arm64: pkvm: Implement CONFIG_DEBUG_LIST at EL2

Marc Zyngier (14):
      Merge branch kvm-arm64/oslock into kvmarm-master/next
      Merge branch kvm-arm64/mmu-rwlock into kvmarm-master/next
      Merge branch kvm-arm64/fpsimd-doc into kvmarm-master/next
      Merge branch kvm-arm64/vmid-allocator into kvmarm-master/next
      Merge branch kvm-arm64/selftest/vgic-5.18 into kvmarm-master/next
      Merge branch kvm-arm64/misc-5.18 into kvmarm-master/next
      KVM: arm64: Do not change the PMU event filter after a VCPU has run
      KVM: arm64: Keep a per-VM pointer to the default PMU
      Merge branch kvm-arm64/pmu-bl into kvmarm-master/next
      Merge branch kvm-arm64/psci-1.1 into kvmarm-master/next
      KVM: arm64: Only open the interrupt window on exit due to an interrupt
      Merge branch kvm-arm64/misc-5.18 into kvmarm-master/next
      Merge branch kvm-arm64/psci-1.1 into kvmarm-master/next
      KVM: arm64: Generalise VM features into a set of flags

Mark Brown (4):
      KVM: arm64: Add comments for context flush and sync callbacks
      KVM: arm64: Add some more comments in kvm_hyp_handle_fpsimd()
      arm64/fpsimd: Clarify the purpose of using last in fpsimd_save()
      KVM: arm64: Enable Cortex-A510 erratum 2077057 by default

Maxim Levitsky (1):
      KVM: x86: do not use KVM_X86_OP_OPTIONAL_RET0 for get_mt_mask

Michael Mueller (1):
      KVM: s390: pv: make use of ultravisor AIV support

Oliver Upton (10):
      KVM: arm64: Correctly treat writes to OSLSR_EL1 as undefined
      KVM: arm64: Stash OSLSR_EL1 in the cpu context
      KVM: arm64: Allow guest to set the OSLK bit
      KVM: arm64: Emulate the OS Lock
      selftests: KVM: Add OSLSR_EL1 to the list of blessed regs
      selftests: KVM: Test OS lock behavior
      KVM: arm64: Drop unused param from kvm_psci_version()
      KVM: VMX: Use local pointer to vcpu_vmx in vmx_vcpu_after_set_cpuid()
      Documentation: KVM: Update documentation to indicate KVM is arm64-only
      KVM: x86: Introduce KVM_CAP_DISABLE_QUIRKS2

Paolo Bonzini (42):
      KVM: SVM: improve split between svm_prepare_guest_switch and sev_es_prepare_guest_switch
      KVM: x86: skip host CPUID call for hypervisor leaves
      Merge remote-tracking branch 'kvm/master' into HEAD
      selftests: KVM: allow sev_migrate_tests on machines without SEV-ES
      KVM: x86: return 1 unconditionally for availability of KVM_CAP_VAPIC
      KVM: x86: use static_call_cond for optional callbacks
      KVM: x86: remove KVM_X86_OP_NULL and mark optional kvm_x86_ops
      KVM: x86: warn on incorrectly NULL members of kvm_x86_ops
      KVM: x86: make several APIC virtualization callbacks optional
      KVM: x86: allow defining return-0 static calls
      Merge tag 'kvm-s390-next-5.18-1' of git://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux into HEAD
      Merge branch 'kvm-ppc-cap-210' into kvm-next-5.18
      Merge branch 'kvm-hv-xmm-hypercall-fixes' into HEAD
      KVM: x86: Reinitialize context if host userspace toggles EFER.LME
      KVM: x86: do not deliver asynchronous page faults if CR0.PG=0
      KVM: x86/mmu: avoid NULL-pointer dereference on page freeing bugs
      KVM: x86: use struct kvm_mmu_root_info for mmu->root
      KVM: x86/mmu: do not consult levels when freeing roots
      KVM: x86/mmu: do not pass vcpu to root freeing functions
      KVM: x86/mmu: look for a cached PGD when going from 32-bit to 64-bit
      KVM: x86/mmu: load new PGD after the shadow MMU is initialized
      KVM: x86/mmu: Always use current mmu's role when loading new PGD
      KVM: x86/mmu: clear MMIO cache when unloading the MMU
      KVM: x86: flush TLB separately from MMU reset
      KVM: x86: Do not change ICR on write to APIC_SELF_IPI
      Merge branch 'kvm-bugfixes' into HEAD
      mm: vmalloc: introduce array allocation functions
      mm: use vmalloc_array and vcalloc for array allocations
      KVM: use __vcalloc for very large allocations
      KVM: x86/mmu: only perform eager page splitting on valid roots
      KVM: x86/mmu: do not allow readers to acquire references to invalid roots
      KVM: x86/mmu: Zap invalidated roots via asynchronous worker
      KVM: x86/mmu: Allow yielding when zapping GFNs for defunct TDP MMU root
      KVM: x86/mmu: Zap defunct roots via asynchronous worker
      Merge tag 'kvm-s390-next-5.18-2' of https://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux into HEAD
      Merge tag 'kvm-riscv-5.18-1' of https://github.com/kvm-riscv/linux into HEAD
      Merge tag 'kvmarm-5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into HEAD
      kvm: x86/mmu: Flush TLB before zap_gfn_range releases RCU
      Revert "KVM: x86/mmu: Zap only TDP MMU leafs in kvm_zap_gfn_range()"
      KVM: x86: add support for CPUID leaf 0x80000021
      KVM: x86: synthesize CPUID leaf 0x80000021h if useful
      KVM: use kvcalloc for array allocations

Peng Hao (3):
      KVM: nVMX: Make setup/unsetup under the same conditions
      kvm: vmx: Fix typos comment in __loaded_vmcs_clear()
      KVM: VMX: Remove scratch 'cpu' variable that shadows an identical scratch var

Peter Gonda (1):
      KVM: SEV: Allow SEV intra-host migration of VM with mirrors

Ricardo Koller (5):
      kvm: selftests: aarch64: fix assert in gicv3_access_reg
      kvm: selftests: aarch64: pass vgic_irq guest args as a pointer
      kvm: selftests: aarch64: fix the failure check in kvm_set_gsi_routing_irqchip_check
      kvm: selftests: aarch64: fix some vgic related comments
      kvm: selftests: aarch64: use a tighter assert in vgic_poke_irq()

Sean Christopherson (75):
      KVM: x86/mmu: Use common TDP MMU zap helper for MMU notifier unmap hook
      KVM: x86/mmu: Move "invalid" check out of kvm_tdp_mmu_get_root()
      KVM: x86/mmu: Zap _all_ roots when unmapping gfn range in TDP MMU
      KVM: x86: Unexport __kvm_request_apicv_update()
      KVM: x86: Drop NULL check on kvm_x86_ops.check_apicv_inhibit_reasons
      KVM: x86: Skip APICv update if APICv is disable at the module level
      KVM: x86: Drop export for .tlb_flush_current() static_call key
      KVM: x86: Rename kvm_x86_ops pointers to align w/ preferred vendor names
      KVM: VMX: Call vmx_get_cpl() directly in handle_dr()
      KVM: x86: Use static_call() for .vcpu_deliver_sipi_vector()
      KVM: xen: Use static_call() for invoking kvm_x86_ops hooks
      KVM: nVMX: Refactor PMU refresh to avoid referencing kvm_x86_ops.pmu_ops
      KVM: x86: Uninline and export hv_track_root_tdp()
      KVM: x86: Unexport kvm_x86_ops
      KVM: x86: Use static_call() for copy/move encryption context ioctls()
      KVM: VMX: Rename VMX functions to conform to kvm_x86_ops names
      KVM: x86: Move get_cs_db_l_bits() helper to SVM
      KVM: SVM: Rename svm_flush_tlb() to svm_flush_tlb_current()
      KVM: SVM: Remove unused MAX_INST_SIZE #define
      KVM: x86: Use more verbose names for mem encrypt kvm_x86_ops hooks
      KVM: SVM: Rename SEV implemenations to conform to kvm_x86_ops hooks
      KVM: SVM: Rename hook implementations to conform to kvm_x86_ops' names
      KVM: x86: Get the number of Hyper-V sparse banks from the VARHEAD field
      KVM: x86: Refactor kvm_hv_flush_tlb() to reduce indentation
      KVM: x86: Add a helper to get the sparse VP_SET for IPIs and TLB flushes
      KVM: x86: Don't bother reading sparse banks that end up being ignored
      KVM: x86: Shove vp_bitmap handling down into sparse_set_to_vcpu_mask()
      KVM: x86: Reject fixeds-size Hyper-V hypercalls with non-zero "var_cnt"
      KVM: x86: Add checks for reserved-to-zero Hyper-V hypercall fields
      KVM: SVM: Rename AVIC helpers to use "avic" prefix instead of "svm"
      KVM: x86/mmu: Remove MMU auditing
      KVM: x86: Fix pointer mistmatch warning when patching RET0 static calls
      KVM: VMX: Handle APIC-write offset wrangling in VMX code
      KVM: x86: Use "raw" APIC register read for handling APIC-write VM-Exit
      KVM: SVM: Use common kvm_apic_write_nodecode() for AVIC write traps
      KVM: SVM: Don't rewrite guest ICR on AVIC IPI virtualization failure
      KVM: x86: WARN if KVM emulates an IPI without clearing the BUSY flag
      KVM: x86: Make kvm_lapic_reg_{read,write}() static
      KVM: x86: Add helpers to handle 64-bit APIC MSR read/writes
      KVM: x86: Treat x2APIC's ICR as a 64-bit register, not two 32-bit regs
      KVM: x86: Make kvm_lapic_set_reg() a "private" xAPIC helper
      KVM: selftests: Add test to verify KVM handling of ICR
      KVM: x86: Invoke kvm_mmu_unload() directly on CR4.PCIDE change
      KVM: Drop kvm_reload_remote_mmus(), open code request in x86 users
      KVM: x86/mmu: Zap only obsolete roots if a root shadow page is zapped
      KVM: s390: Replace KVM_REQ_MMU_RELOAD usage with arch specific request
      KVM: Drop KVM_REQ_MMU_RELOAD and update vcpu-requests.rst documentation
      KVM: WARN if is_unsync_root() is called on a root without a shadow page
      KVM: SVM: Exit to userspace on ENOMEM/EFAULT GHCB errors
      KVM: SVM: Disable preemption across AVIC load/put during APICv refresh
      KVM: x86/mmu: Check for present SPTE when clearing dirty bit in TDP MMU
      KVM: x86/mmu: Fix wrong/misleading comments in TDP MMU fast zap
      KVM: x86/mmu: Formalize TDP MMU's (unintended?) deferred TLB flush logic
      KVM: x86/mmu: Document that zapping invalidated roots doesn't need to flush
      KVM: x86/mmu: Require mmu_lock be held for write in unyielding root iter
      KVM: x86/mmu: Check for !leaf=>leaf, not PFN change, in TDP MMU SP removal
      KVM: x86/mmu: Batch TLB flushes from TDP MMU for MMU notifier change_spte
      KVM: x86/mmu: Drop RCU after processing each root in MMU notifier hooks
      KVM: x86/mmu: Add helpers to read/write TDP MMU SPTEs and document RCU
      KVM: x86/mmu: WARN if old _or_ new SPTE is REMOVED in non-atomic path
      KVM: x86/mmu: Refactor low-level TDP MMU set SPTE helper to take raw values
      KVM: x86/mmu: Zap only the target TDP MMU shadow page in NX recovery
      KVM: x86/mmu: Skip remote TLB flush when zapping all of TDP MMU
      KVM: x86/mmu: Add dedicated helper to zap TDP MMU root shadow page
      KVM: x86/mmu: Require mmu_lock be held for write to zap TDP MMU range
      KVM: x86/mmu: Zap only TDP MMU leafs in kvm_zap_gfn_range()
      KVM: x86/mmu: Do remote TLB flush before dropping RCU in TDP MMU resched
      KVM: x86/mmu: Defer TLB flush to caller when freeing TDP MMU shadow pages
      KVM: x86/mmu: Zap roots in two passes to avoid inducing RCU stalls
      KVM: x86/mmu: Check for a REMOVED leaf SPTE before making the SPTE
      KVM: x86/mmu: WARN on any attempt to atomically update REMOVED SPTE
      KVM: selftests: Move raw KVM_SET_USER_MEMORY_REGION helper to utils
      KVM: selftests: Split out helper to allocate guest mem via memfd
      KVM: selftests: Define cpu_relax() helpers for s390 and x86
      KVM: selftests: Add test to populate a VM with the max possible guest mem

Shameer Kolothum (3):
      KVM: arm64: Introduce a new VMID allocator for KVM
      KVM: arm64: Make VMID bits accessible outside of allocator
      KVM: arm64: Make active_vmids invalid on vCPU schedule out

Suravee Suthikulpanit (1):
      KVM: SVM: Allow AVIC support on system w/ physical APIC ID > 255

Thomas Gleixner (1):
      kvm: x86: Require const tsc for RT

Thomas Huth (1):
      selftests: kvm: Check whether SIDA memop fails for normal guests

Vincent Chen (1):
      RISC-V: KVM: Refine __kvm_riscv_switch_to() implementation

Vipin Sharma (1):
      KVM: Move VM's worker kthreads back to the original cgroup before exiting.

Vitaly Kuznetsov (14):
      KVM: nSVM: Track whether changes in L0 require MSR bitmap for L2 to be rebuilt
      KVM: x86: Make kvm_hv_hypercall_enabled() static inline
      KVM: nSVM: Split off common definitions for Hyper-V on KVM and KVM on Hyper-V
      KVM: nSVM: Implement Enlightened MSR-Bitmap feature
      KVM: selftests: Adapt hyperv_cpuid test to the newly introduced Enlightened MSR-Bitmap
      KVM: selftests: nVMX: Properly deal with 'hv_clean_fields'
      KVM: selftests: nVMX: Add enlightened MSR-Bitmap selftest
      KVM: selftests: nSVM: Set up MSR-Bitmap for SVM guests
      KVM: selftests: nSVM: Update 'struct vmcb_control_area' definition
      KVM: selftests: nSVM: Add enlightened MSR-Bitmap selftest
      KVM: x86: hyper-v: Drop redundant 'ex' parameter from kvm_hv_send_ipi()
      KVM: x86: hyper-v: Drop redundant 'ex' parameter from kvm_hv_flush_tlb()
      KVM: x86: hyper-v: Fix the maximum number of sparse banks for XMM fast TLB flush hypercalls
      KVM: x86: hyper-v: HVCALL_SEND_IPI_EX is an XMM fast hypercall

Wanpeng Li (2):
      KVM: VMX: Dont' send posted IRQ if vCPU == this vCPU and vCPU is IN_GUEST_MODE
      KVM: LAPIC: Enable timer posted-interrupt only when mwait/hlt is advertised

Will Deacon (4):
      KVM: arm64: Bump guest PSCI version to 1.1
      KVM: arm64: Expose PSCI SYSTEM_RESET2 call to the guest
      KVM: arm64: Indicate SYSTEM_RESET2 in kvm_run::system_event flags field
      KVM: arm64: Really propagate PSCI SYSTEM_RESET2 arguments to userspace

Yang Li (1):
      RISC-V: KVM: remove unneeded semicolon

Zhenzhong Duan (1):
      KVM: x86: Fix emulation in writing cr8

 Documentation/admin-guide/kernel-parameters.txt    |  30 +-
 Documentation/virt/kvm/api.rst                     | 276 ++++--
 Documentation/virt/kvm/devices/vcpu.rst            |  36 +-
 Documentation/virt/kvm/vcpu-requests.rst           |   7 +-
 MAINTAINERS                                        |   2 +-
 arch/arm64/Kconfig                                 |   1 +
 arch/arm64/include/asm/kvm_host.h                  |  45 +-
 arch/arm64/include/asm/kvm_mmu.h                   |   4 +-
 arch/arm64/include/asm/sysreg.h                    |   8 +
 arch/arm64/include/uapi/asm/kvm.h                  |  11 +
 arch/arm64/kernel/fpsimd.c                         |   8 +-
 arch/arm64/kernel/image-vars.h                     |   3 +
 arch/arm64/kvm/Makefile                            |   2 +-
 arch/arm64/kvm/arm.c                               | 142 +--
 arch/arm64/kvm/debug.c                             |  26 +-
 arch/arm64/kvm/fpsimd.c                            |  14 +-
 arch/arm64/kvm/guest.c                             |   2 +-
 arch/arm64/kvm/handle_exit.c                       |   2 +-
 arch/arm64/kvm/hyp/include/hyp/switch.h            |   4 +
 arch/arm64/kvm/hyp/nvhe/Makefile                   |   3 +-
 arch/arm64/kvm/hyp/nvhe/list_debug.c               |  54 ++
 arch/arm64/kvm/hyp/nvhe/mem_protect.c              |   3 +-
 arch/arm64/kvm/hyp/nvhe/page_alloc.c               |   4 +-
 arch/arm64/kvm/hyp/nvhe/stub.c                     |  22 -
 arch/arm64/kvm/mmio.c                              |   3 +-
 arch/arm64/kvm/mmu.c                               |  52 +-
 arch/arm64/kvm/pmu-emul.c                          | 141 ++-
 arch/arm64/kvm/psci.c                              |  66 +-
 arch/arm64/kvm/sys_regs.c                          |  74 +-
 arch/arm64/kvm/vgic/vgic.c                         |   2 +-
 arch/arm64/kvm/vmid.c                              | 196 ++++
 arch/powerpc/kvm/book3s_hv_uvmem.c                 |   2 +-
 arch/riscv/include/asm/kvm_host.h                  |   1 +
 arch/riscv/include/asm/kvm_vcpu_sbi.h              |   5 +-
 arch/riscv/include/asm/sbi.h                       |  27 +-
 arch/riscv/kernel/cpu_ops_sbi.c                    |   2 +-
 arch/riscv/kvm/vcpu_exit.c                         |  22 +-
 arch/riscv/kvm/vcpu_sbi.c                          |  19 +
 arch/riscv/kvm/vcpu_sbi_hsm.c                      |  18 +-
 arch/riscv/kvm/vcpu_sbi_replace.c                  |  44 +
 arch/riscv/kvm/vcpu_sbi_v01.c                      |  20 +-
 arch/riscv/kvm/vcpu_switch.S                       |  60 +-
 arch/s390/include/asm/ctl_reg.h                    |   2 +
 arch/s390/include/asm/kvm_host.h                   |   2 +
 arch/s390/include/asm/page.h                       |   2 +
 arch/s390/include/asm/uaccess.h                    |  22 +
 arch/s390/include/asm/uv.h                         |   1 +
 arch/s390/kvm/gaccess.c                            | 250 +++++-
 arch/s390/kvm/gaccess.h                            |  84 +-
 arch/s390/kvm/intercept.c                          |  12 +-
 arch/s390/kvm/interrupt.c                          |  54 +-
 arch/s390/kvm/kvm-s390.c                           | 170 +++-
 arch/s390/kvm/kvm-s390.h                           |  17 +-
 arch/s390/kvm/priv.c                               |  81 +-
 arch/s390/lib/uaccess.c                            |  81 +-
 arch/x86/include/asm/kvm-x86-ops.h                 | 117 +--
 arch/x86/include/asm/kvm_host.h                    |  73 +-
 arch/x86/include/asm/svm.h                         |   2 +-
 arch/x86/kvm/Kconfig                               |   7 -
 arch/x86/kvm/cpuid.c                               |  59 +-
 arch/x86/kvm/emulate.c                             |  71 +-
 arch/x86/kvm/hyperv.c                              | 242 ++---
 arch/x86/kvm/hyperv.h                              |   6 +-
 arch/x86/kvm/i8259.c                               |   8 +-
 arch/x86/kvm/ioapic.c                              |   6 +-
 arch/x86/kvm/kvm_onhyperv.c                        |  14 +
 arch/x86/kvm/kvm_onhyperv.h                        |  14 +-
 arch/x86/kvm/lapic.c                               | 227 +++--
 arch/x86/kvm/lapic.h                               |  17 +-
 arch/x86/kvm/mmu.h                                 |  44 +-
 arch/x86/kvm/mmu/mmu.c                             | 502 ++++++-----
 arch/x86/kvm/mmu/mmu_audit.c                       | 303 -------
 arch/x86/kvm/mmu/mmu_internal.h                    |  15 +-
 arch/x86/kvm/mmu/mmutrace.h                        |  23 +
 arch/x86/kvm/mmu/page_track.c                      |   7 +-
 arch/x86/kvm/mmu/paging_tmpl.h                     |   4 +-
 arch/x86/kvm/mmu/spte.c                            |  72 +-
 arch/x86/kvm/mmu/spte.h                            | 129 ++-
 arch/x86/kvm/mmu/tdp_iter.c                        |  14 +-
 arch/x86/kvm/mmu/tdp_iter.h                        |  25 +-
 arch/x86/kvm/mmu/tdp_mmu.c                         | 986 ++++++++++++++-------
 arch/x86/kvm/mmu/tdp_mmu.h                         |  31 +-
 arch/x86/kvm/svm/avic.c                            | 181 ++--
 arch/x86/kvm/svm/hyperv.h                          |  35 +
 arch/x86/kvm/svm/nested.c                          |  51 +-
 arch/x86/kvm/svm/pmu.c                             |   2 +-
 arch/x86/kvm/svm/sev.c                             | 121 +--
 arch/x86/kvm/svm/svm.c                             | 134 ++-
 arch/x86/kvm/svm/svm.h                             |  69 +-
 arch/x86/kvm/svm/svm_onhyperv.h                    |  25 +-
 arch/x86/kvm/trace.h                               |  20 +-
 arch/x86/kvm/vmx/nested.c                          |  21 +-
 arch/x86/kvm/vmx/nested.h                          |   3 +-
 arch/x86/kvm/vmx/pmu_intel.c                       |   5 +-
 arch/x86/kvm/vmx/posted_intr.c                     |   6 +-
 arch/x86/kvm/vmx/posted_intr.h                     |   4 +-
 arch/x86/kvm/vmx/vmx.c                             | 116 +--
 arch/x86/kvm/x86.c                                 | 285 +++---
 arch/x86/kvm/x86.h                                 |   2 +
 arch/x86/kvm/xen.c                                 |   4 +-
 include/asm-generic/hyperv-tlfs.h                  |   7 +
 include/kvm/arm_pmu.h                              |   5 +
 include/kvm/arm_psci.h                             |   9 +-
 include/linux/kvm_host.h                           |   4 +-
 include/linux/perf_event.h                         |   2 +-
 include/linux/vmalloc.h                            |   5 +
 include/uapi/linux/kvm.h                           |  15 +-
 include/uapi/linux/psci.h                          |   4 +
 kernel/static_call.c                               |   1 +
 mm/percpu-stats.c                                  |   2 +-
 mm/swap_cgroup.c                                   |   4 +-
 mm/util.c                                          |  50 ++
 tools/arch/arm64/include/uapi/asm/kvm.h            |   1 +
 tools/include/uapi/linux/kvm.h                     |   4 +
 tools/testing/selftests/kvm/.gitignore             |   3 +
 tools/testing/selftests/kvm/Makefile               |   4 +
 .../selftests/kvm/aarch64/debug-exceptions.c       |  58 +-
 tools/testing/selftests/kvm/aarch64/get-reg-list.c |   1 +
 tools/testing/selftests/kvm/aarch64/vgic_irq.c     |  45 +-
 tools/testing/selftests/kvm/dirty_log_perf_test.c  |  23 +-
 .../testing/selftests/kvm/include/kvm_util_base.h  |   8 +
 .../selftests/kvm/include/s390x/processor.h        |   8 +
 tools/testing/selftests/kvm/include/x86_64/apic.h  |   1 +
 tools/testing/selftests/kvm/include/x86_64/evmcs.h | 150 +++-
 .../selftests/kvm/include/x86_64/processor.h       |   5 +
 tools/testing/selftests/kvm/include/x86_64/svm.h   |   9 +-
 .../selftests/kvm/include/x86_64/svm_util.h        |   6 +
 tools/testing/selftests/kvm/lib/aarch64/gic_v3.c   |  12 +-
 tools/testing/selftests/kvm/lib/aarch64/vgic.c     |   9 +-
 tools/testing/selftests/kvm/lib/kvm_util.c         |  87 +-
 tools/testing/selftests/kvm/lib/x86_64/svm.c       |   6 +
 .../testing/selftests/kvm/max_guest_memory_test.c  | 292 ++++++
 tools/testing/selftests/kvm/s390x/memop.c          | 732 ++++++++++++---
 tools/testing/selftests/kvm/s390x/tprot.c          | 227 +++++
 .../testing/selftests/kvm/set_memory_region_test.c |  35 +-
 tools/testing/selftests/kvm/x86_64/evmcs_test.c    |  64 +-
 tools/testing/selftests/kvm/x86_64/hyperv_cpuid.c  |  29 +-
 .../testing/selftests/kvm/x86_64/hyperv_svm_test.c | 175 ++++
 .../selftests/kvm/x86_64/pmu_event_filter_test.c   |  33 +
 .../selftests/kvm/x86_64/sev_migrate_tests.c       | 125 ++-
 .../selftests/kvm/x86_64/xapic_state_test.c        | 150 ++++
 virt/kvm/Kconfig                                   |   2 +-
 virt/kvm/kvm_main.c                                |  40 +-
 143 files changed, 6279 insertions(+), 2516 deletions(-)




[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux