Linus, The following changes since commit 9f9499ae8e6415cefc4fe0a96ad0e27864353c89: Linux 4.4-rc5 (2015-12-13 17:42:58 -0800) are available in the git repository at: git://git.kernel.org/pub/scm/virt/kvm/kvm.git tags/for-linus for you to fetch changes up to 45bdbcfdf241149642fb6c25ab0c209d59c371b7: kvm: x86: Fix vmwrite to SECONDARY_VM_EXEC_CONTROL (2016-01-12 11:42:16 +0100) PPC changes will come next week. ---------------------------------------------------------------- * s390: Support for runtime instrumentation within guests, support of 248 VCPUs. * ARM: rewrite of the arm64 world switch in C, support for 16-bit VM identifiers. Performance counter virtualization missed the boat. * x86: Support for more Hyper-V features (synthetic interrupt controller), MMU cleanups ---------------------------------------------------------------- Amit Tomar (1): KVM: arm/arm64: Count guest exit due to various reasons Andrey Smetanin (24): kvm/irqchip: kvm_arch_irq_routing_update renaming split kvm/x86: split ioapic-handled and EOI exit bitmaps kvm/x86: per-vcpu apicv deactivation support kvm/x86: Hyper-V synthetic interrupt controller kvm/x86: Hyper-V kvm exit drivers/hv: replace enum hv_message_type by u32 drivers/hv: Move HV_SYNIC_STIMER_COUNT into Hyper-V UAPI x86 header drivers/hv: Move struct hv_message into UAPI Hyper-V x86 header drivers/hv: Move struct hv_timer_message_payload into UAPI Hyper-V x86 header kvm/x86: Rearrange func's declarations inside Hyper-V header kvm/x86: Added Hyper-V vcpu_to_hv_vcpu()/hv_vcpu_to_vcpu() helpers kvm/x86: Hyper-V internal helper to read MSR HV_X64_MSR_TIME_REF_COUNT kvm/x86: Hyper-V SynIC message slot pending clearing at SINT ack kvm/x86: Hyper-V SynIC timers kvm/x86: Remove Hyper-V SynIC timer stopping kvm/x86: Hyper-V timers fix incorrect logical operation kvm/x86: Drop stimer_stop() function kvm/x86: Hyper-V unify stimer_start() and stimer_restart() kvm/x86: Reorg stimer_expiration() to better control timer restart kvm/x86: Hyper-V fix SynIC timer disabling condition kvm/x86: Skip SynIC vector check for QEMU side kvm/x86: Update SynIC timers on guest entry only kvm/x86: Hyper-V SynIC tracepoints kvm/x86: Hyper-V SynIC timers tracepoints Borislav Petkov (1): kvm: Dump guest rIP when the guest tried something unsupported Christian Borntraeger (3): KVM: s390: remove redudant assigment of error code KVM: s390: use assignment instead of memcpy KVM: s390: obey kptr_restrict in traces David Hildenbrand (12): KVM: Use common function for VCPU lookup by id KVM: use heuristic for fast VCPU lookup by id KVM: s390: rewrite vcpu_post_run and drop out early KVM: s390: fast path for sca_ext_call_pending KVM: s390: we always have a SCA KVM: s390: fix SCA related races and double use KVM: s390: always set/clear the SCA sda field KVM: s390: cleanup sca_add_vcpu KVM: s390: don't switch to ESCA for ucontrol s390/sclp: introduce check for SIE s390: show virtualization support in /proc/cpuinfo KVM: s390: don't load kvm without virtualization support David Matlack (1): kvm: x86: fix comment about {mmu,nested_mmu}.gva_to_gpa Dominik Dingel (1): KVM: s390: fix mismatch between user and in-kernel guest limit Eugene (jno) Dvurechenski (8): s390/sclp: introduce checks for ESCA and HVS KVM: s390: Generalize access to IPTE controls KVM: s390: Generalize access to SIGP controls KVM: s390: Provide SCA-aware helpers for VCPU add/del KVM: s390: Introduce new structures KVM: s390: Make provisions for ESCA utilization KVM: s390: Introduce switching code KVM: s390: Enable up to 248 VCPUs per VM Fan Zhang (1): KVM: s390: implement the RI support of guest Fengguang Wu (1): MAINTAINERS: add git URL for KVM/ARM Guenther Hutzl (1): KVM: s390: consider system MHA for guest storage Heiko Carstens (1): KVM: s390: remove pointless test_facility(2) check Huaitong Han (1): kvm: x86: Fix vmwrite to SECONDARY_VM_EXEC_CONTROL Janosch Frank (1): KVM: Remove unnecessary debugfs dentry references Jisheng Zhang (1): KVM: arm/arm64: vgic: make vgic_io_ops static Li RongQing (1): KVM: VMX: fix the writing POSTED_INTR_NV Marc Zyngier (23): arm64: KVM: Add a HYP-specific header file arm64: KVM: Implement vgic-v2 save/restore KVM: arm/arm64: vgic-v3: Make the LR indexing macro public arm64: KVM: Implement vgic-v3 save/restore arm64: KVM: Implement timer save/restore arm64: KVM: Implement system register save/restore arm64: KVM: Implement 32bit system register save/restore arm64: KVM: Implement debug save/restore arm64: KVM: Implement guest entry arm64: KVM: Add patchable function selector arm64: KVM: Implement the core world switch arm64: KVM: Implement fpsimd save/restore arm64: KVM: Implement TLB handling arm64: KVM: HYP mode entry points arm64: KVM: Add panic handling arm64: KVM: Add compatibility aliases arm64: KVM: Map the kernel RO section into HYP arm64: KVM: Move away from the assembly version of the world switch arm64: KVM: Turn system register numbers to an enum arm64: KVM: Cleanup asm-offset.c arm64: KVM: Remove weak attributes ARM: KVM: Cleanup exception injection arm64: KVM: debug: Remove spurious inline attributes Mark Rutland (1): arm64: Add macros to read/write system registers Markus Elfring (1): KVM-async_pf: Delete an unnecessary check before the function call "kmem_cache_destroy" Michael S. Tsirkin (1): kvm/s390: drop unpaired smp_mb Nicholas Krause (1): kvm: x86: Check kvm_write_guest return value in kvm_write_wall_clock Paolo Bonzini (15): KVM: x86: expose MSR_TSC_AUX to userspace KVM: svm: add support for RDTSCP KVM: x86: correctly print #AC in traces KVM: x86: MMU: always set accessed bit in shadow PTEs Merge tag 'kvm-s390-next-4.5-1' of git://git.kernel.org/.../kvms390/linux into HEAD Merge tag 'kvm-s390-next-4.5-2' of git://git.kernel.org/.../kvms390/linux into HEAD KVM: VMX: fix read/write sizes of VMCS fields KVM: VMX: fix read/write sizes of VMCS fields in dump_vmcs KVM: vmx: detect mismatched size in VMCS read/write Merge tag 'kvm-arm-for-4.5-1' of git://git.kernel.org/.../kvmarm/kvmarm into kvm-next Merge tag 'kvm-s390-next-4.5-3' of git://git.kernel.org/.../kvms390/linux into HEAD KVM: Remove unused KVM_REQ_KICK to save a bit in vcpu->requests KVM: document which architecture uses each request bit KVM: renumber vcpu->request bits KVM: move architecture-dependent requests to arch/ Pavel Fedin (1): arm/arm64: KVM: Detect vGIC presence at runtime Takuya Yoshikawa (11): KVM: x86: MMU: Encapsulate the type of rmap-chain head in a new struct KVM: x86: MMU: Remove unused parameter of __direct_map() KVM: x86: MMU: Add helper function to clear a bit in unsync child bitmap KVM: x86: MMU: Make mmu_set_spte() return emulate value KVM: x86: MMU: Remove is_rmap_spte() and use is_shadow_present_pte() KVM: x86: MMU: Consolidate BUG_ON checks for reverse-mapped sptes KVM: x86: MMU: Move initialization of parent_ptes out from kvm_mmu_alloc_page() KVM: x86: MMU: Move parent_pte handling from kvm_mmu_get_page() to link_shadow_page() KVM: x86: MMU: Use for_each_rmap_spte macro instead of pte_list_walk() KVM: x86: MMU: Remove unused parameter parent_pte from kvm_mmu_get_page() KVM: x86: MMU: Use clear_page() instead of init_shadow_page_table() Vladimir Murzin (3): arm/arm64: KVM: Remove unreferenced S2_PGD_ORDER arm: KVM: Make kvm_arm.h friendly to assembly code arm64: KVM: Add support for 16-bit VMID Yaowei Bai (3): KVM: kvm_is_visible_gfn can be boolean KVM: kvm_para_has_feature can be boolean KVM: powerpc: kvmppc_visible_gpa can be boolean Documentation/virtual/kvm/api.txt | 41 ++ Documentation/virtual/kvm/devices/vm.txt | 3 +- Documentation/virtual/kvm/mmu.txt | 4 +- MAINTAINERS | 1 + arch/arm/include/asm/kvm_arm.h | 34 +- arch/arm/include/asm/kvm_host.h | 6 + arch/arm/include/asm/kvm_mmu.h | 5 + arch/arm/kvm/arm.c | 40 +- arch/arm/kvm/emulate.c | 74 +- arch/arm/kvm/guest.c | 6 + arch/arm/kvm/handle_exit.c | 3 + arch/arm/kvm/mmio.c | 3 + arch/arm/kvm/mmu.c | 6 +- arch/arm64/include/asm/kvm_arm.h | 3 +- arch/arm64/include/asm/kvm_asm.h | 76 --- arch/arm64/include/asm/kvm_emulate.h | 1 - arch/arm64/include/asm/kvm_host.h | 87 ++- arch/arm64/include/asm/kvm_mmio.h | 1 - arch/arm64/include/asm/kvm_mmu.h | 9 +- arch/arm64/include/asm/sysreg.h | 21 + arch/arm64/kernel/asm-offsets.c | 40 +- arch/arm64/kvm/Makefile | 3 +- arch/arm64/kvm/guest.c | 10 +- arch/arm64/kvm/handle_exit.c | 4 + arch/arm64/kvm/hyp-init.S | 9 + arch/arm64/kvm/hyp.S | 1081 +----------------------------- arch/arm64/kvm/hyp/Makefile | 14 + arch/arm64/kvm/hyp/debug-sr.c | 140 ++++ arch/arm64/kvm/hyp/entry.S | 160 +++++ arch/arm64/kvm/hyp/fpsimd.S | 33 + arch/arm64/kvm/hyp/hyp-entry.S | 212 ++++++ arch/arm64/kvm/hyp/hyp.h | 90 +++ arch/arm64/kvm/hyp/switch.c | 175 +++++ arch/arm64/kvm/hyp/sysreg-sr.c | 138 ++++ arch/arm64/kvm/hyp/timer-sr.c | 71 ++ arch/arm64/kvm/hyp/tlb.c | 80 +++ arch/arm64/kvm/hyp/vgic-v2-sr.c | 84 +++ arch/arm64/kvm/hyp/vgic-v3-sr.c | 228 +++++++ arch/arm64/kvm/sys_regs.c | 59 +- arch/arm64/kvm/vgic-v2-switch.S | 134 ---- arch/arm64/kvm/vgic-v3-switch.S | 269 -------- arch/powerpc/include/asm/kvm_host.h | 4 + arch/powerpc/kvm/book3s_hv.c | 10 +- arch/powerpc/kvm/book3s_pr.c | 4 +- arch/s390/include/asm/elf.h | 7 + arch/s390/include/asm/kvm_host.h | 57 +- arch/s390/include/asm/sclp.h | 8 +- arch/s390/include/uapi/asm/kvm.h | 5 + arch/s390/kernel/processor.c | 6 + arch/s390/kernel/setup.c | 9 + arch/s390/kvm/diag.c | 11 +- arch/s390/kvm/gaccess.c | 38 +- arch/s390/kvm/intercept.c | 7 +- arch/s390/kvm/interrupt.c | 133 +++- arch/s390/kvm/kvm-s390.c | 300 ++++++--- arch/s390/kvm/kvm-s390.h | 7 + arch/s390/kvm/trace-s390.h | 6 +- arch/s390/mm/pgtable.c | 4 +- arch/x86/include/asm/kvm_host.h | 75 ++- arch/x86/include/uapi/asm/hyperv.h | 92 +++ arch/x86/kvm/hyperv.c | 708 ++++++++++++++++++- arch/x86/kvm/hyperv.h | 55 ++ arch/x86/kvm/ioapic.c | 4 +- arch/x86/kvm/ioapic.h | 7 +- arch/x86/kvm/irq.c | 2 +- arch/x86/kvm/irq_comm.c | 41 +- arch/x86/kvm/lapic.c | 40 +- arch/x86/kvm/lapic.h | 9 +- arch/x86/kvm/mmu.c | 397 +++++------ arch/x86/kvm/mmu_audit.c | 15 +- arch/x86/kvm/paging_tmpl.h | 20 +- arch/x86/kvm/svm.c | 37 +- arch/x86/kvm/trace.h | 265 +++++++- arch/x86/kvm/vmx.c | 202 ++++-- arch/x86/kvm/x86.c | 110 ++- drivers/hv/hyperv_vmbus.h | 88 +-- drivers/s390/char/sclp_early.c | 16 +- include/clocksource/arm_arch_timer.h | 6 + include/kvm/arm_vgic.h | 6 + include/linux/kvm_host.h | 66 +- include/linux/kvm_para.h | 6 +- include/uapi/linux/kvm.h | 26 + virt/kvm/arm/vgic-v3.c | 11 +- virt/kvm/arm/vgic.c | 2 +- virt/kvm/async_pf.c | 3 +- virt/kvm/irqchip.c | 7 +- virt/kvm/kvm_main.c | 46 +- 87 files changed, 4043 insertions(+), 2393 deletions(-) create mode 100644 arch/arm64/kvm/hyp/Makefile create mode 100644 arch/arm64/kvm/hyp/debug-sr.c create mode 100644 arch/arm64/kvm/hyp/entry.S create mode 100644 arch/arm64/kvm/hyp/fpsimd.S create mode 100644 arch/arm64/kvm/hyp/hyp-entry.S create mode 100644 arch/arm64/kvm/hyp/hyp.h create mode 100644 arch/arm64/kvm/hyp/switch.c create mode 100644 arch/arm64/kvm/hyp/sysreg-sr.c create mode 100644 arch/arm64/kvm/hyp/timer-sr.c create mode 100644 arch/arm64/kvm/hyp/tlb.c create mode 100644 arch/arm64/kvm/hyp/vgic-v2-sr.c create mode 100644 arch/arm64/kvm/hyp/vgic-v3-sr.c delete mode 100644 arch/arm64/kvm/vgic-v2-switch.S delete mode 100644 arch/arm64/kvm/vgic-v3-switch.S -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html