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

Linus,

The following changes since commit 6553896666433e7efec589838b400a2a652b3ffa:

  vmlinux.lds.h: Create section for protection against instrumentation (2020-05-19 15:47:20 +0200)

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 13ffbd8db1dd43d63d086517872a4e702a6bf309:

  KVM: selftests: fix rdtsc() for vmx_tsc_adjust_test (2020-06-01 11:58:23 -0400)

----------------------------------------------------------------
ARM:
- Move the arch-specific code into arch/arm64/kvm
- Start the post-32bit cleanup
- Cherry-pick a few non-invasive pre-NV patches

x86:
- Rework of TLB flushing
- Rework of event injection, especially with respect to nested virtualization
- Nested AMD event injection facelift, building on the rework of generic code
and fixing a lot of corner cases
- Nested AMD live migration support
- Optimization for TSC deadline MSR writes and IPIs
- Various cleanups
- Asynchronous page fault cleanups (from tglx, common topic branch with tip tree)
- Interrupt-based delivery of asynchronous "page ready" events (host side)
- Hyper-V MSRs and hypercalls for guest debugging
- VMX preemption timer fixes

s390:
- Cleanups

Generic:
- switch vCPU thread wakeup from swait to rcuwait

The other architectures, and the guest side of the asynchronous page fault
work, will come next week.

----------------------------------------------------------------

There could be minor conflicts depending on the order you're processing 5.8
pull requests.

Andrew Scull (1):
      KVM: arm64: Remove obsolete kvm_virt_to_phys abstraction

Andy Lutomirski (1):
      x86/kvm: Handle async page faults directly through do_page_fault()

Cathy Avery (1):
      KVM: SVM: Implement check_nested_events for NMI

Christoffer Dall (1):
      KVM: arm64: vgic-v3: Take cpu_if pointer directly instead of vcpu

Colin Ian King (1):
      KVM: remove redundant assignment to variable r

David Brazdil (2):
      KVM: arm64: Clean up cpu_init_hyp_mode()
      KVM: arm64: Fix incorrect comment on kvm_get_hyp_vector()

David Hildenbrand (2):
      KVM: s390: vsie: Move conditional reschedule
      KVM: s390: vsie: gmap_table_walk() simplifications

David Matlack (2):
      kvm: add capability for halt polling
      kvm: add halt-polling cpu usage stats

Davidlohr Bueso (5):
      rcuwait: Fix stale wake call name in comment
      rcuwait: Let rcuwait_wake_up() return whether or not a task was awoken
      rcuwait: Introduce prepare_to and finish_rcuwait
      rcuwait: Introduce rcuwait_active()
      kvm: Replace vcpu->swait with rcuwait

Emanuele Giuseppe Esposito (1):
      kvm_host: unify VM_STAT and VCPU_STAT definitions in a single place

Eric Northup (1):
      KVM: pass through CPUID(0x80000006)

Fuad Tabba (2):
      KVM: arm64: Clean up kvm makefiles
      KVM: Fix spelling in code comments

Gustavo A. R. Silva (1):
      KVM: VMX: Replace zero-length array with flexible-array

Haiwei Li (1):
      KVM: Fix the indentation to match coding style

Jason Yan (2):
      KVM: s390: remove unneeded semicolon in gisa_vcpu_kicker()
      kvm/eventfd: remove unneeded conversion to bool

Jiang Yi (1):
      KVM: arm/arm64: Release kvm->mmu_lock in loop to prevent starvation

Jim Mattson (3):
      KVM: nVMX: Really make emulated nested preemption timer pinned
      KVM: nVMX: Change emulated VMX-preemption timer hrtimer to absolute
      KVM: nVMX: Migrate the VMX-preemption timer

Jon Doron (5):
      x86/kvm/hyper-v: Explicitly align hcall param for kvm_hyperv_exit
      x86/hyper-v: Add synthetic debugger definitions
      x86/kvm/hyper-v: Add support for synthetic debugger interface
      x86/kvm/hyper-v: enable hypercalls regardless of hypercall page
      x86/kvm/hyper-v: Add support for synthetic debugger via hypercalls

Junaid Shahid (2):
      KVM: nVMX: Invalidate all roots when emulating INVVPID without EPT
      KVM: x86: Sync SPTEs when injecting page/EPT fault into L1

Keqian Zhu (1):
      KVM: arm64: Support enabling dirty log gradually in small chunks

Krish Sadhukhan (1):
      KVM: nSVM: Check for CR0.CD and CR0.NW on VMRUN of nested guests

Like Xu (1):
      KVM: x86/pmu: Support full width counting

Makarand Sonare (1):
      KVM: selftests: VMX preemption timer migration test

Marc Zyngier (10):
      KVM: arm64: Move virt/kvm/arm to arch/arm64
      KVM: arm64: Simplify __kvm_timer_set_cntvoff implementation
      KVM: arm64: Use cpus_have_final_cap for has_vhe()
      KVM: arm64: Make KVM_CAP_MAX_VCPUS compatible with the selected GIC version
      KVM: arm64: Refactor vcpu_{read,write}_sys_reg
      KVM: arm64: Add missing reset handlers for PMU emulation
      KVM: arm64: Move sysreg reset check to boot time
      KVM: arm64: Don't use empty structures as CPU reset state
      KVM: arm64: Parametrize exception entry with a target EL
      KVM: arm64: Drop obsolete comment about sys_reg ordering

Maxim Levitsky (2):
      KVM: VMX: enable X86_FEATURE_WAITPKG in KVM capabilities
      KVM: x86: don't expose MSR_IA32_UMWAIT_CONTROL unconditionally

Miaohe Lin (1):
      KVM: VMX: replace "fall through" with "return" to indicate different case

Paolo Bonzini (65):
      KVM: x86: introduce kvm_mmu_invalidate_gva
      KVM: x86: cleanup kvm_inject_emulated_page_fault
      KVM: x86: move kvm_create_vcpu_debugfs after last failure point
      KVM: x86/mmu: Avoid an extra memslot lookup in try_async_pf() for L2
      KVM: SVM: avoid infinite loop on NPF from bad address
      selftests: kvm/set_memory_region_test: do not check RIP if the guest shuts down
      KVM: x86: check_nested_events is never NULL
      KVM: eVMCS: check if nesting is enabled
      KVM: x86: move nested-related kvm_x86_ops to a separate struct
      KVM: SVM: do not allow VMRUN inside SMM
      Merge branch 'kvm-amd-fixes' into HEAD
      KVM: SVM: introduce nested_run_pending
      KVM: SVM: leave halted state on vmexit
      KVM: SVM: immediately inject INTR vmexit
      KVM: x86: replace is_smm checks with kvm_x86_ops.smi_allowed
      KVM: nSVM: Report NMIs as allowed when in L2 and Exit-on-NMI is set
      KVM: nSVM: Move SMI vmexit handling to svm_check_nested_events()
      KVM: SVM: Split out architectural interrupt/NMI/SMI blocking checks
      KVM: nSVM: Report interrupts as allowed when in L2 and exit-on-interrupt is set
      KVM: nSVM: Preserve IRQ/NMI/SMI priority irrespective of exiting behavior
      KVM: x86: Replace late check_nested_events() hack with more precise fix
      KVM: x86: handle wrap around 32-bit address space
      KVM: x86: introduce kvm_can_use_hv_timer
      KVM: x86: only do L1TF workaround on affected processors
      rcuwait: avoid lockdep splats from rcuwait_active()
      Merge tag 'noinstr-x86-kvm-2020-05-16' of git://git.kernel.org/.../tip/tip into HEAD
      KVM: x86: simplify is_mmio_spte
      Merge tag 'kvm-s390-next-5.8-1' of git://git.kernel.org/.../kvms390/linux into HEAD
      Merge branch 'kvm-master' into HEAD
      KVM: x86: allow KVM_STATE_NESTED_MTF_PENDING in kvm_state flags
      KVM: nSVM: fix condition for filtering async PF
      KVM: nSVM: leave ASID aside in copy_vmcb_control_area
      KVM: x86: track manually whether an event has been injected
      KVM: x86: enable event window in inject_pending_event
      KVM: nSVM: inject exceptions via svm_check_nested_events
      KVM: nSVM: remove exit_required
      KVM: nSVM: correctly inject INIT vmexits
      KVM: SVM: always update CR3 in VMCB
      KVM: nVMX: always update CR3 in VMCS
      KVM: check userspace_addr for all memslots
      KVM: nSVM: move map argument out of enter_svm_guest_mode
      KVM: nSVM: extract load_nested_vmcb_control
      KVM: nSVM: extract preparation of VMCB for nested run
      KVM: nSVM: move MMU setup to nested_prepare_vmcb_control
      KVM: nSVM: clean up tsc_offset update
      KVM: nSVM: pass vmcb_control_area to copy_vmcb_control_area
      KVM: nSVM: remove trailing padding for struct vmcb_control_area
      KVM: nSVM: save all control fields in svm->nested
      KVM: nSVM: restore clobbered INT_CTL fields after clearing VINTR
      KVM: nSVM: synchronize VMCB controls updated by the processor on every vmexit
      KVM: nSVM: remove unnecessary if
      KVM: nSVM: extract svm_set_gif
      KVM: SVM: preserve VGIF across VMCB switch
      KVM: nSVM: synthesize correct EXITINTINFO on vmexit
      KVM: nSVM: remove HF_VINTR_MASK
      KVM: nSVM: remove HF_HIF_MASK
      KVM: nSVM: split nested_vmcb_check_controls
      KVM: nSVM: leave guest mode when clearing EFER.SVME
      KVM: MMU: pass arbitrary CR0/CR4/EFER to kvm_init_shadow_mmu
      selftests: kvm: add a SVM version of state-test
      KVM: nSVM: implement KVM_GET_NESTED_STATE and KVM_SET_NESTED_STATE
      Revert "KVM: No need to retry for hva_to_pfn_remapped()"
      KVM: check userspace_addr for all memslots
      Merge tag 'kvmarm-5.8' of git://git.kernel.org/.../kvmarm/kvmarm into HEAD
      Merge branch 'kvm-master' into HEAD

Peter Shier (2):
      KVM: x86: Return updated timer current count register from KVM_GET_LAPIC
      KVM: nVMX: Fix VMX preemption timer migration

Peter Xu (4):
      KVM: X86: Force ASYNC_PF_PER_VCPU to be power of two
      KVM: No need to retry for hva_to_pfn_remapped()
      KVM: X86: Sanity check on gfn before removal
      KVM: Documentation: Fix up cpuid page

Peter Zijlstra (1):
      lockdep: Prepare for noinstr sections

Sean Christopherson (94):
      KVM: selftests: Take vcpu pointer instead of id in vm_vcpu_rm()
      KVM: selftests: Use kernel's list instead of homebrewed replacement
      KVM: selftests: Add util to delete memory region
      KVM: selftests: Add GUEST_ASSERT variants to pass values to host
      KVM: sefltests: Add explicit synchronization to move mem region test
      KVM: selftests: Add "delete" testcase to set_memory_region_test
      KVM: selftests: Add "zero" testcase to set_memory_region_test
      KVM: selftests: Make set_memory_region_test common to all architectures
      KVM: VMX: Flush all EPTP/VPID contexts on remote TLB flush
      KVM: nVMX: Validate the EPTP when emulating INVEPT(EXTENT_CONTEXT)
      KVM: nVMX: Invalidate all EPTP contexts when emulating INVEPT for L1
      KVM: x86: Export kvm_propagate_fault() (as kvm_inject_emulated_page_fault)
      KVM: VMX: Skip global INVVPID fallback if vpid==0 in vpid_sync_context()
      KVM: VMX: Use vpid_sync_context() directly when possible
      KVM: VMX: Move vpid_sync_vcpu_addr() down a few lines
      KVM: VMX: Handle INVVPID fallback logic in vpid_sync_vcpu_addr()
      KVM: VMX: Drop redundant capability checks in low level INVVPID helpers
      KVM: nVMX: Use vpid_sync_vcpu_addr() to emulate INVVPID with address
      KVM: x86: Move "flush guest's TLB" logic to separate kvm_x86_ops hook
      KVM: VMX: Clean up vmx_flush_tlb_gva()
      KVM: x86: Drop @invalidate_gpa param from kvm_x86_ops' tlb_flush()
      KVM: SVM: Wire up ->tlb_flush_guest() directly to svm_flush_tlb()
      KVM: VMX: Move vmx_flush_tlb() to vmx.c
      KVM: nVMX: Move nested_get_vpid02() to vmx/nested.h
      KVM: VMX: Introduce vmx_flush_tlb_current()
      KVM: SVM: Document the ASID logic in svm_flush_tlb()
      KVM: x86: Rename ->tlb_flush() to ->tlb_flush_all()
      KVM: nVMX: Add helper to handle TLB flushes on nested VM-Enter/VM-Exit
      KVM: x86: Introduce KVM_REQ_TLB_FLUSH_CURRENT to flush current ASID
      KVM: x86/mmu: Use KVM_REQ_TLB_FLUSH_CURRENT for MMU specific flushes
      KVM: nVMX: Selectively use TLB_FLUSH_CURRENT for nested VM-Enter/VM-Exit
      KVM: nVMX: Reload APIC access page on nested VM-Exit only if necessary
      KVM: VMX: Retrieve APIC access page HPA only when necessary
      KVM: VMX: Don't reload APIC access page if its control is disabled
      KVM: x86/mmu: Move fast_cr3_switch() side effects to __kvm_mmu_new_cr3()
      KVM: x86/mmu: Add separate override for MMU sync during fast CR3 switch
      KVM: x86/mmu: Add module param to force TLB flush on root reuse
      KVM: nVMX: Skip MMU sync on nested VMX transition when possible
      KVM: nVMX: Don't flush TLB on nested VMX transition
      KVM: nVMX: Free only the affected contexts when emulating INVEPT
      KVM: x86: Replace "cr3" with "pgd" in "new cr3/pgd" related code
      KVM: VMX: Clean cr3/pgd handling in vmx_load_mmu_pgd()
      KVM: nVMX: Move reflection check into nested_vmx_reflect_vmexit()
      KVM: nVMX: Uninline nested_vmx_reflect_vmexit(), i.e. move it to nested.c
      KVM: nVMX: Move VM-Fail check out of nested_vmx_exit_reflected()
      KVM: nVMX: Move nested VM-Exit tracepoint into nested_vmx_reflect_vmexit()
      KVM: nVMX: Split VM-Exit reflection logic into L0 vs. L1 wants
      KVM: nVMX: Drop a superfluous WARN on reflecting EXTERNAL_INTERRUPT
      KVM: nVMX: Pull exit_reason from vcpu_vmx in nested_vmx_reflect_vmexit()
      KVM: nVMX: Cast exit_reason to u16 to check for nested EXTERNAL_INTERRUPT
      KVM: nVMX: Rename exit_reason to vm_exit_reason for nested VM-Exit
      KVM: nVMX: Invoke ept_save_pdptrs() if and only if PAE paging is enabled
      KVM: nVMX: Reset register cache (available and dirty masks) on VMCS switch
      KVM: nVMX: Drop manual clearing of segment cache on nested VMCS switch
      KVM: VMX: Cache vmcs.EXIT_QUALIFICATION using arch avail_reg flags
      KVM: VMX: Cache vmcs.EXIT_INTR_INFO using arch avail_reg flags
      KVM: x86/mmu: Set @writable to false for non-visible accesses by L2
      KVM: nVMX: Remove non-functional "support" for CR3 target values
      KVM: VMX: Optimize handling of VM-Entry failures in vmx_vcpu_run()
      KVM: nVMX: Drop a redundant call to vmx_get_intr_info()
      KVM: nVMX: Store vmcs.EXIT_QUALIFICATION as an unsigned long, not u32
      KVM: nVMX: Preserve exception priority irrespective of exiting behavior
      KVM: nVMX: Open a window for pending nested VMX preemption timer
      KVM: x86: Set KVM_REQ_EVENT if run is canceled with req_immediate_exit set
      KVM: x86: Make return for {interrupt_nmi,smi}_allowed() a bool instead of int
      KVM: nVMX: Report NMIs as allowed when in L2 and Exit-on-NMI is set
      KVM: VMX: Split out architectural interrupt/NMI blocking checks
      KVM: nVMX: Preserve IRQ/NMI priority irrespective of exiting behavior
      KVM: nVMX: Prioritize SMI over nested IRQ/NMI
      KVM: x86: WARN on injected+pending exception even in nested case
      KVM: VMX: Use vmx_interrupt_blocked() directly from vmx_handle_exit()
      KVM: VMX: Use vmx_get_rflags() to query RFLAGS in vmx_interrupt_blocked()
      KVM: VMX: Use accessor to read vmcs.INTR_INFO when handling exception
      KVM: nVMX: Skip IBPB when switching between vmcs01 and vmcs02
      KVM: nVMX: Skip IBPB when temporarily switching between vmcs01 and vmcs02
      KVM: x86: Save L1 TSC offset in 'struct kvm_vcpu_arch'
      KVM: nVMX: Unconditionally validate CR3 during nested transitions
      KVM: VMX: Add proper cache tracking for CR4
      KVM: VMX: Add proper cache tracking for CR0
      KVM: VMX: Move nested EPT out of kvm_x86_ops.get_tdp_level() hook
      KVM: x86/mmu: Capture TDP level when updating CPUID
      KVM: nVMX: Tweak handling of failure code for nested VM-Enter failure
      KVM: x86/mmu: Tweak PSE hugepage handling to avoid 2M vs 4M conundrum
      KVM: x86/mmu: Move max hugepage level to a separate #define
      KVM: x86/mmu: Drop KVM's hugepage enums in favor of the kernel's enums
      KVM: x86/mmu: Add a helper to consolidate root sp allocation
      KVM: nVMX: Truncate writes to vmcs.SYSENTER_EIP/ESP for 32-bit vCPU
      KVM: nVMX: Drop superfluous VMREAD of vmcs02.GUEST_SYSENTER_*
      KVM: x86: Print symbolic names of VMX VM-Exit flags in traces
      KVM: nVMX: Remove unused 'ops' param from nested_vmx_hardware_setup()
      KVM: x86/mmu: Set mmio_value to '0' if reserved #PF can't be generated
      KVM: x86: Remove superfluous brackets from case statement
      KVM: x86: Take an unsigned 32-bit int for has_emulated_msr()'s index
      KVM: x86: Initialize tdp_level during vCPU creation

Stefan Raspl (3):
      tools/kvm_stat: add command line switch '-z' to skip zero records
      tools/kvm_stat: Add command line switch '-L' to log to file
      tools/kvm_stat: add sample systemd unit file

Suravee Suthikulpanit (2):
      KVM: SVM: Merge svm_enable_vintr into svm_set_vintr
      KVM: SVM: Remove unnecessary V_IRQ unsetting

Suzuki K Poulose (2):
      KVM: arm64: Clean up the checking for huge mapping
      KVM: arm64: Unify handling THP backed host memory

Thomas Gleixner (4):
      tracing: Provide lockdep less trace_hardirqs_on/off() variants
      context_tracking: Make guest_enter/exit() .noinstr ready
      x86/kvm: Sanitize kvm_async_pf_task_wait()
      x86/kvm: Restrict ASYNC_PF to user space

Tianjia Zhang (1):
      KVM: Remove redundant argument to kvm_arch_vcpu_ioctl_run

Uros Bizjak (3):
      KVM: SVM: Use do_machine_check to pass MCE to the host
      KVM: VMX: Remove unneeded __ASM_SIZE usage with POP instruction
      KVM: VMX: Improve handle_external_interrupt_irqoff inline assembly

Vitaly Kuznetsov (13):
      KVM: x86: make Hyper-V PV TLB flush use tlb_flush_guest()
      KVM: nSVM: Preserve registers modifications done before nested_svm_vmexit()
      selftests: kvm: introduce cpu_has_svm() check
      selftests: kvm: fix smm test on SVM
      Revert "KVM: async_pf: Fix #DF due to inject "Page not Present" and "Page Ready" exceptions simultaneously"
      KVM: x86: extend struct kvm_vcpu_pv_apf_data with token info
      KVM: rename kvm_arch_can_inject_async_page_present() to kvm_arch_can_dequeue_async_page_present()
      KVM: introduce kvm_read_guest_offset_cached()
      KVM: x86: interrupt based APF 'page ready' event delivery
      KVM: x86: acknowledgment mechanism for async pf page ready notifications
      KVM: x86: announce KVM_FEATURE_ASYNC_PF_INT
      KVM: selftests: update hyperv_cpuid with SynDBG tests
      KVM: selftests: fix rdtsc() for vmx_tsc_adjust_test

Wainer dos Santos Moschetta (2):
      selftests: kvm: Add vm_get_fd() in kvm_util
      selftests: kvm: Add testcase for creating max number of memslots

Wanpeng Li (7):
      KVM: X86: Improve latency for single target IPI fastpath
      KVM: VMX: Introduce generic fastpath handler
      KVM: X86: Introduce kvm_vcpu_exit_request() helper
      KVM: X86: Introduce more exit_fastpath_completion enum values
      KVM: VMX: Optimize posted-interrupt delivery for timer fastpath
      KVM: X86: TSCDEADLINE MSR emulation fastpath
      KVM: VMX: Handle preemption timer fastpath

Wei Wang (1):
      KVM: x86/pmu: Tweak kvm_pmu_get_msr to pass 'struct msr_data' in

Will Deacon (3):
      KVM: arm64: Kill off CONFIG_KVM_ARM_HOST
      KVM: arm64: Update help text
      KVM: arm64: Change CONFIG_KVM to a menuconfig entry

Xiaoyao Li (1):
      kvm: x86: Cleanup vcpu->arch.guest_xstate_size

Zenghui Yu (1):
      KVM: arm64: Sidestep stage2_unmap_vm() on vcpu reset when S2FWB is supported

彭浩(Richard) (1):
      kvm/x86: Remove redundant function implementations

 Documentation/virt/kvm/api.rst                     |  41 +-
 Documentation/virt/kvm/cpuid.rst                   |   8 +-
 Documentation/virt/kvm/msr.rst                     | 119 +++-
 Documentation/virt/kvm/nested-vmx.rst              |   5 +-
 MAINTAINERS                                        |   1 -
 arch/arm64/include/asm/kvm_asm.h                   |   4 +-
 arch/arm64/include/asm/kvm_host.h                  |  46 +-
 arch/arm64/include/asm/kvm_hyp.h                   |  12 +-
 arch/arm64/include/asm/kvm_mmu.h                   |   4 +-
 arch/arm64/include/asm/ptrace.h                    |   1 +
 arch/arm64/include/asm/virt.h                      |   2 +-
 arch/arm64/kernel/asm-offsets.c                    |   2 +-
 arch/arm64/kernel/cpu_errata.c                     |   2 +-
 arch/arm64/kernel/smp.c                            |   2 +-
 arch/arm64/kvm/Kconfig                             |  22 +-
 arch/arm64/kvm/Makefile                            |  46 +-
 {virt/kvm/arm => arch/arm64/kvm}/aarch32.c         |   0
 {virt/kvm/arm => arch/arm64/kvm}/arch_timer.c      |  15 +-
 {virt/kvm/arm => arch/arm64/kvm}/arm.c             |  75 ++-
 arch/arm64/kvm/guest.c                             |  29 +-
 arch/arm64/kvm/handle_exit.c                       |   2 +-
 arch/arm64/kvm/hyp/Makefile                        |  16 +-
 {virt/kvm/arm => arch/arm64/kvm}/hyp/aarch32.c     |   0
 arch/arm64/kvm/hyp/switch.c                        |   8 +-
 {virt/kvm/arm => arch/arm64/kvm}/hyp/timer-sr.c    |   3 +-
 {virt/kvm/arm => arch/arm64/kvm}/hyp/vgic-v3-sr.c  |  39 +-
 {virt/kvm/arm => arch/arm64/kvm}/hypercalls.c      |   0
 arch/arm64/kvm/inject_fault.c                      |  75 +--
 {virt/kvm/arm => arch/arm64/kvm}/mmio.c            |   2 +-
 {virt/kvm/arm => arch/arm64/kvm}/mmu.c             | 148 +++--
 {virt/kvm/arm => arch/arm64/kvm}/perf.c            |   0
 virt/kvm/arm/pmu.c => arch/arm64/kvm/pmu-emul.c    |   0
 {virt/kvm/arm => arch/arm64/kvm}/psci.c            |   6 +-
 {virt/kvm/arm => arch/arm64/kvm}/pvtime.c          |   0
 arch/arm64/kvm/reset.c                             |  27 +-
 arch/arm64/kvm/sys_regs.c                          | 212 ++++---
 arch/arm64/kvm/trace.h                             | 216 +------
 virt/kvm/arm/trace.h => arch/arm64/kvm/trace_arm.h |  11 +-
 arch/arm64/kvm/trace_handle_exit.h                 | 215 +++++++
 arch/arm64/kvm/vgic-sys-reg-v3.c                   |   2 +-
 {virt/kvm/arm => arch/arm64/kvm}/vgic/trace.h      |   2 +-
 {virt/kvm/arm => arch/arm64/kvm}/vgic/vgic-debug.c |   0
 {virt/kvm/arm => arch/arm64/kvm}/vgic/vgic-init.c  |   0
 {virt/kvm/arm => arch/arm64/kvm}/vgic/vgic-irqfd.c |   0
 {virt/kvm/arm => arch/arm64/kvm}/vgic/vgic-its.c   |   0
 .../arm => arch/arm64/kvm}/vgic/vgic-kvm-device.c  |   0
 .../kvm/arm => arch/arm64/kvm}/vgic/vgic-mmio-v2.c |   0
 .../kvm/arm => arch/arm64/kvm}/vgic/vgic-mmio-v3.c |   0
 {virt/kvm/arm => arch/arm64/kvm}/vgic/vgic-mmio.c  |   0
 {virt/kvm/arm => arch/arm64/kvm}/vgic/vgic-mmio.h  |   0
 {virt/kvm/arm => arch/arm64/kvm}/vgic/vgic-v2.c    |  10 +-
 {virt/kvm/arm => arch/arm64/kvm}/vgic/vgic-v3.c    |  18 +-
 {virt/kvm/arm => arch/arm64/kvm}/vgic/vgic-v4.c    |   0
 {virt/kvm/arm => arch/arm64/kvm}/vgic/vgic.c       |  25 +-
 {virt/kvm/arm => arch/arm64/kvm}/vgic/vgic.h       |   0
 arch/mips/include/asm/kvm_host.h                   |   2 +
 arch/mips/kvm/mips.c                               |  72 +--
 arch/powerpc/include/asm/kvm_book3s.h              |   2 +-
 arch/powerpc/include/asm/kvm_host.h                |   2 +-
 arch/powerpc/kvm/book3s.c                          |  61 +-
 arch/powerpc/kvm/book3s_hv.c                       |  23 +-
 arch/powerpc/kvm/booke.c                           |  43 +-
 arch/powerpc/kvm/powerpc.c                         |   5 +-
 arch/s390/include/asm/kvm_host.h                   |   6 +-
 arch/s390/kvm/interrupt.c                          |   2 +-
 arch/s390/kvm/kvm-s390.c                           | 210 +++----
 arch/s390/kvm/vsie.c                               |   3 +-
 arch/s390/mm/gmap.c                                |  10 +-
 arch/x86/entry/entry_32.S                          |   8 -
 arch/x86/entry/entry_64.S                          |   4 -
 arch/x86/include/asm/hyperv-tlfs.h                 |   6 +
 arch/x86/include/asm/kvm_host.h                    | 138 ++--
 arch/x86/include/asm/kvm_para.h                    |  27 +-
 arch/x86/include/asm/svm.h                         |   9 +-
 arch/x86/include/asm/vmx.h                         |  10 +-
 arch/x86/include/asm/x86_init.h                    |   2 -
 arch/x86/include/uapi/asm/kvm.h                    |  20 +-
 arch/x86/include/uapi/asm/kvm_para.h               |  17 +-
 arch/x86/include/uapi/asm/vmx.h                    |   3 +
 arch/x86/kernel/kvm.c                              | 172 +++--
 arch/x86/kernel/traps.c                            |   2 -
 arch/x86/kernel/x86_init.c                         |   1 -
 arch/x86/kvm/cpuid.c                               |  15 +-
 arch/x86/kvm/cpuid.h                               |   5 +
 arch/x86/kvm/emulate.c                             |   2 +
 arch/x86/kvm/hyperv.c                              | 197 +++++-
 arch/x86/kvm/hyperv.h                              |  32 +
 arch/x86/kvm/ioapic.h                              |   8 +-
 arch/x86/kvm/irq.c                                 |   3 +
 arch/x86/kvm/irq.h                                 |  15 +-
 arch/x86/kvm/kvm_cache_regs.h                      |  10 +-
 arch/x86/kvm/lapic.c                               |  95 ++-
 arch/x86/kvm/lapic.h                               |   9 +-
 arch/x86/kvm/mmu.h                                 |   4 +-
 arch/x86/kvm/mmu/mmu.c                             | 517 ++++++++-------
 arch/x86/kvm/mmu/page_track.c                      |   4 +-
 arch/x86/kvm/mmu/paging_tmpl.h                     |  20 +-
 arch/x86/kvm/mmu_audit.c                           |   6 +-
 arch/x86/kvm/pmu.c                                 |   4 +-
 arch/x86/kvm/pmu.h                                 |   4 +-
 arch/x86/kvm/svm/nested.c                          | 681 +++++++++++++-------
 arch/x86/kvm/svm/pmu.c                             |   7 +-
 arch/x86/kvm/svm/svm.c                             | 404 +++++++-----
 arch/x86/kvm/svm/svm.h                             |  57 +-
 arch/x86/kvm/trace.h                               |  83 ++-
 arch/x86/kvm/vmx/capabilities.h                    |  11 +
 arch/x86/kvm/vmx/evmcs.c                           |  32 +-
 arch/x86/kvm/vmx/nested.c                          | 693 +++++++++++++--------
 arch/x86/kvm/vmx/nested.h                          |  49 +-
 arch/x86/kvm/vmx/ops.h                             |  32 +-
 arch/x86/kvm/vmx/pmu_intel.c                       |  71 ++-
 arch/x86/kvm/vmx/vmcs.h                            |   2 +-
 arch/x86/kvm/vmx/vmcs12.c                          |   4 -
 arch/x86/kvm/vmx/vmcs12.h                          |  10 +-
 arch/x86/kvm/vmx/vmenter.S                         |  14 +-
 arch/x86/kvm/vmx/vmx.c                             | 579 ++++++++++-------
 arch/x86/kvm/vmx/vmx.h                             |  64 +-
 arch/x86/kvm/x86.c                                 | 661 ++++++++++++--------
 arch/x86/kvm/x86.h                                 |   9 +-
 arch/x86/mm/fault.c                                |  19 +
 include/kvm/arm_vgic.h                             |   5 +-
 include/linux/context_tracking.h                   |  21 +-
 include/linux/irqflags.h                           |   6 +
 include/linux/kvm_host.h                           |  30 +-
 include/linux/rcuwait.h                            |  32 +-
 include/linux/sched.h                              |   1 +
 include/uapi/linux/kvm.h                           |  14 +
 kernel/exit.c                                      |   9 +-
 kernel/locking/lockdep.c                           |  86 ++-
 kernel/trace/trace_preemptirq.c                    |  39 ++
 lib/debug_locks.c                                  |   2 +-
 tools/arch/x86/include/uapi/asm/kvm.h              |   1 +
 tools/kvm/kvm_stat/kvm_stat                        |  84 ++-
 tools/kvm/kvm_stat/kvm_stat.service                |  16 +
 tools/kvm/kvm_stat/kvm_stat.txt                    |  15 +-
 tools/testing/selftests/kvm/.gitignore             |   3 +-
 tools/testing/selftests/kvm/Makefile               |   6 +-
 tools/testing/selftests/kvm/include/kvm_util.h     |  32 +-
 .../selftests/kvm/include/x86_64/processor.h       |  11 +-
 .../selftests/kvm/include/x86_64/svm_util.h        |  10 +
 tools/testing/selftests/kvm/include/x86_64/vmx.h   |  27 +
 tools/testing/selftests/kvm/lib/kvm_util.c         | 163 ++---
 .../testing/selftests/kvm/lib/kvm_util_internal.h  |   8 +-
 tools/testing/selftests/kvm/lib/s390x/processor.c  |   5 +-
 .../testing/selftests/kvm/set_memory_region_test.c | 408 ++++++++++++
 tools/testing/selftests/kvm/x86_64/debug_regs.c    | 202 ++++++
 tools/testing/selftests/kvm/x86_64/hyperv_cpuid.c  | 103 +--
 .../selftests/kvm/x86_64/set_memory_region_test.c  | 141 -----
 tools/testing/selftests/kvm/x86_64/smm_test.c      |  19 +-
 tools/testing/selftests/kvm/x86_64/state_test.c    |  62 +-
 .../kvm/x86_64/vmx_preemption_timer_test.c         | 255 ++++++++
 virt/kvm/async_pf.c                                |  15 +-
 virt/kvm/coalesced_mmio.c                          |   2 +-
 virt/kvm/eventfd.c                                 |   4 +-
 virt/kvm/kvm_main.c                                | 111 ++--
 155 files changed, 5606 insertions(+), 3107 deletions(-)
 rename {virt/kvm/arm => arch/arm64/kvm}/aarch32.c (100%)
 rename {virt/kvm/arm => arch/arm64/kvm}/arch_timer.c (98%)
 rename {virt/kvm/arm => arch/arm64/kvm}/arm.c (94%)
 rename {virt/kvm/arm => arch/arm64/kvm}/hyp/aarch32.c (100%)
 rename {virt/kvm/arm => arch/arm64/kvm}/hyp/timer-sr.c (89%)
 rename {virt/kvm/arm => arch/arm64/kvm}/hyp/vgic-v3-sr.c (95%)
 rename {virt/kvm/arm => arch/arm64/kvm}/hypercalls.c (100%)
 rename {virt/kvm/arm => arch/arm64/kvm}/mmio.c (98%)
 rename {virt/kvm/arm => arch/arm64/kvm}/mmu.c (96%)
 rename {virt/kvm/arm => arch/arm64/kvm}/perf.c (100%)
 rename virt/kvm/arm/pmu.c => arch/arm64/kvm/pmu-emul.c (100%)
 rename {virt/kvm/arm => arch/arm64/kvm}/psci.c (98%)
 rename {virt/kvm/arm => arch/arm64/kvm}/pvtime.c (100%)
 rename virt/kvm/arm/trace.h => arch/arm64/kvm/trace_arm.h (97%)
 create mode 100644 arch/arm64/kvm/trace_handle_exit.h
 rename {virt/kvm/arm => arch/arm64/kvm}/vgic/trace.h (93%)
 rename {virt/kvm/arm => arch/arm64/kvm}/vgic/vgic-debug.c (100%)
 rename {virt/kvm/arm => arch/arm64/kvm}/vgic/vgic-init.c (100%)
 rename {virt/kvm/arm => arch/arm64/kvm}/vgic/vgic-irqfd.c (100%)
 rename {virt/kvm/arm => arch/arm64/kvm}/vgic/vgic-its.c (100%)
 rename {virt/kvm/arm => arch/arm64/kvm}/vgic/vgic-kvm-device.c (100%)
 rename {virt/kvm/arm => arch/arm64/kvm}/vgic/vgic-mmio-v2.c (100%)
 rename {virt/kvm/arm => arch/arm64/kvm}/vgic/vgic-mmio-v3.c (100%)
 rename {virt/kvm/arm => arch/arm64/kvm}/vgic/vgic-mmio.c (100%)
 rename {virt/kvm/arm => arch/arm64/kvm}/vgic/vgic-mmio.h (100%)
 rename {virt/kvm/arm => arch/arm64/kvm}/vgic/vgic-v2.c (98%)
 rename {virt/kvm/arm => arch/arm64/kvm}/vgic/vgic-v3.c (97%)
 rename {virt/kvm/arm => arch/arm64/kvm}/vgic/vgic-v4.c (100%)
 rename {virt/kvm/arm => arch/arm64/kvm}/vgic/vgic.c (97%)
 rename {virt/kvm/arm => arch/arm64/kvm}/vgic/vgic.h (100%)
 create mode 100644 tools/kvm/kvm_stat/kvm_stat.service
 create mode 100644 tools/testing/selftests/kvm/set_memory_region_test.c
 create mode 100644 tools/testing/selftests/kvm/x86_64/debug_regs.c
 delete mode 100644 tools/testing/selftests/kvm/x86_64/set_memory_region_test.c
 create mode 100644 tools/testing/selftests/kvm/x86_64/vmx_preemption_timer_test.c

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ