* [GIT PULL] First batch of KVM changes for Linux 5.8
@ 2020-06-03 17:38 Paolo Bonzini
2020-06-03 22:17 ` Linus Torvalds
2020-06-03 22:30 ` pr-tracker-bot
0 siblings, 2 replies; 4+ messages in thread
From: Paolo Bonzini @ 2020-06-03 17:38 UTC (permalink / raw)
To: torvalds; +Cc: linux-kernel, kvm
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
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [GIT PULL] First batch of KVM changes for Linux 5.8
2020-06-03 17:38 [GIT PULL] First batch of KVM changes for Linux 5.8 Paolo Bonzini
@ 2020-06-03 22:17 ` Linus Torvalds
2020-06-04 16:33 ` Paolo Bonzini
2020-06-03 22:30 ` pr-tracker-bot
1 sibling, 1 reply; 4+ messages in thread
From: Linus Torvalds @ 2020-06-03 22:17 UTC (permalink / raw)
To: Paolo Bonzini, Wei Liu; +Cc: Linux Kernel Mailing List, KVM list
On Wed, Jun 3, 2020 at 10:39 AM Paolo Bonzini <pbonzini@redhat.com> wrote:
>
> There could be minor conflicts depending on the order you're processing 5.8
> pull requests.
It would have been good if you had actually pointed to the reports
from linux-next.
As it was, the hyper-v pull request did do that (thanks Wei Liu), so I
could verify my merge against what had been reported and this didn't
take me by surprise, but it would have good to see that kind of detail
from the kvm pull too..
Linus
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [GIT PULL] First batch of KVM changes for Linux 5.8
2020-06-03 17:38 [GIT PULL] First batch of KVM changes for Linux 5.8 Paolo Bonzini
2020-06-03 22:17 ` Linus Torvalds
@ 2020-06-03 22:30 ` pr-tracker-bot
1 sibling, 0 replies; 4+ messages in thread
From: pr-tracker-bot @ 2020-06-03 22:30 UTC (permalink / raw)
To: Paolo Bonzini; +Cc: torvalds, linux-kernel, kvm
The pull request you sent on Wed, 3 Jun 2020 13:38:57 -0400:
> https://git.kernel.org/pub/scm/virt/kvm/kvm.git tags/for-linus
has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/039aeb9deb9291f3b19c375a8bc6fa7f768996cc
Thank you!
--
Deet-doot-dot, I am a bot.
https://korg.wiki.kernel.org/userdoc/prtracker
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [GIT PULL] First batch of KVM changes for Linux 5.8
2020-06-03 22:17 ` Linus Torvalds
@ 2020-06-04 16:33 ` Paolo Bonzini
0 siblings, 0 replies; 4+ messages in thread
From: Paolo Bonzini @ 2020-06-04 16:33 UTC (permalink / raw)
To: Linus Torvalds, Wei Liu; +Cc: Linux Kernel Mailing List, KVM list
On 04/06/20 00:17, Linus Torvalds wrote:
> On Wed, Jun 3, 2020 at 10:39 AM Paolo Bonzini <pbonzini@redhat.com> wrote:
>> There could be minor conflicts depending on the order you're processing 5.8
>> pull requests.
> It would have been good if you had actually pointed to the reports
> from linux-next.
>
> As it was, the hyper-v pull request did do that (thanks Wei Liu), so I
> could verify my merge against what had been reported and this didn't
> take me by surprise, but it would have good to see that kind of detail
> from the kvm pull too..
Ok, I'll keep it in mind. Based on today's report from Stephen, you
will get also a conflict with the s390 tree, and a semantic change
(build failure) when Thomas sends his large IRQ rework, due to the
removal of the second argument to do_machine_check.
Paolo
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2020-06-04 16:33 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-06-03 17:38 [GIT PULL] First batch of KVM changes for Linux 5.8 Paolo Bonzini
2020-06-03 22:17 ` Linus Torvalds
2020-06-04 16:33 ` Paolo Bonzini
2020-06-03 22:30 ` pr-tracker-bot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).