Linus, The following changes since commit ad1d69735878a6bf797705b5d2a20316d35e1113: Merge tag 'fuse-update-4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse (2018-08-21 18:47:36 -0700) 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 0027ff2a75f9dcf0537ac0a65c5840b0e21a4950: KVM: VMX: fixes for vmentry_l1d_flush module parameter (2018-08-22 16:48:39 +0200) ---------------------------------------------------------------- ARM: Support for Group0 interrupts in guests, Cache management optimizations for ARMv8.4 systems, Userspace interface for RAS, Fault path optimization, Emulated physical timer fixes, Random cleanups x86: fixes for L1TF, a new test case, non-support for SGX (inject the right exception in the guest), a lockdep false positive ---------------------------------------------------------------- Since you mentioned this in the past as something you'd like to be told about, don't read too much into the commit dates; I added some last-minute stable Ccs. Arnd Bergmann (1): x86: kvm: avoid unused variable warning Christoffer Dall (13): KVM: arm/arm64: Fix vgic init race KVM: arm/arm64: vgic: Define GICD_IIDR fields for GICv2 and GIv3 KVM: arm/arm64: vgic: Keep track of implementation revision KVM: arm/arm64: vgic: GICv2 IGROUPR should read as zero KVM: arm/arm64: vgic: Add group field to struct irq KVM: arm/arm64: vgic: Signal IRQs using their configured group KVM: arm/arm64: vgic: Permit uaccess writes to return errors KVM: arm/arm64: vgic: Return error on incompatible uaccess GICD_IIDR writes KVM: arm/arm64: vgic: Allow configuration of interrupt groups KVM: arm/arm64: vgic: Let userspace opt-in to writable v2 IGROUPR KVM: arm/arm64: vgic: Update documentation of the GIC devices wrt IIDR KVM: arm/arm64: Fix potential loss of ptimer interrupts KVM: arm/arm64: Fix lost IRQs from emulated physcial timer when blocked Dongjiu Geng (3): arm/arm64: KVM: Add KVM_GET/SET_VCPU_EVENTS arm64: KVM: export the capability to set guest SError syndrome KVM: Documentation: rename the capability of KVM_CAP_ARM_SET_SERROR_ESR Gustavo A. R. Silva (1): KVM: arm: Use true and false for boolean values James Morse (2): KVM: arm64: Share the parts of get/set events useful to 32bit KVM: arm: Add 32bit get/set events support Jia He (2): KVM: arm/arm64: vgic: Move DEBUG_SPINLOCK_BUG_ON to vgic.h KVM: arm/arm64: vgic: Do not use spin_lock_irqsave/restore with irq disabled Kees Cook (1): KVM: arm64: vgic-its: Remove VLA usage Marc Zyngier (13): arm64: KVM: Add support for Stage-2 control of memory types and cacheability arm64: KVM: Handle Set/Way CMOs as NOPs if FWB is present arm64: KVM: Avoid marking pages as XN in Stage-2 if CTR_EL0.DIC is set KVM: arm/arm64: Consolidate page-table accessors KVM: arm/arm64: Stop using the kernel's {pmd,pud,pgd}_populate helpers KVM: arm/arm64: Remove unnecessary CMOs when creating HYP page tables KVM: arm/arm64: Enable adaptative WFE trapping KVM: arm/arm64: vgic-debug: Show LPI status arm64: KVM: Cleanup tpidr_el2 init on non-VHE KVM: arm64: Remove non-existent AArch32 ICC_SGI1R encoding KVM: arm/arm64: vgic-v3: Add core support for Group0 SGIs KVM: arm64: vgic-v3: Add support for ICC_SGI0R_EL1 and ICC_ASGI1R_EL1 accesses KVM: arm: vgic-v3: Add support for ICC_SGI0R and ICC_ASGI1R accesses Mark Rutland (1): KVM: arm/arm64: vgic: Fix possible spectre-v1 write in vgic_mmio_write_apr() Paolo Bonzini (2): Merge tag 'kvmarm-for-v4.19' of git://git.kernel.org/.../kvmarm/kvmarm into HEAD KVM: VMX: fixes for vmentry_l1d_flush module parameter Peter Xu (5): tools: introduce test_and_clear_bit kvm: selftest: unify the guest port macros kvm: selftest: include the tools headers kvm: selftest: pass in extra memory when create vm kvm: selftest: add dirty logging test Punit Agrawal (2): KVM: arm/arm64: Skip updating PMD entry if no change KVM: arm/arm64: Skip updating PTE entry if no change Sean Christopherson (2): KVM: vmx: Add defines for SGX ENCLS exiting KVM: vmx: Inject #UD for SGX ENCLS instruction in guest Thomas Gleixner (1): KVM: x86: SVM: Call x86_spec_ctrl_set_guest/host() with interrupts disabled Yi Wang (1): x86/kvm/vmx: Fix coding style in vmx_setup_l1d_flush() Documentation/virtual/kvm/api.txt | 80 +++++- Documentation/virtual/kvm/devices/arm-vgic-v3.txt | 8 + Documentation/virtual/kvm/devices/arm-vgic.txt | 15 +- arch/arm/include/asm/kvm_emulate.h | 12 +- arch/arm/include/asm/kvm_host.h | 5 + arch/arm/include/asm/kvm_mmu.h | 14 +- arch/arm/include/uapi/asm/kvm.h | 13 + arch/arm/kvm/coproc.c | 25 +- arch/arm/kvm/guest.c | 23 ++ arch/arm64/include/asm/cpucaps.h | 3 +- arch/arm64/include/asm/kvm_arm.h | 1 + arch/arm64/include/asm/kvm_emulate.h | 17 ++ arch/arm64/include/asm/kvm_host.h | 28 +- arch/arm64/include/asm/kvm_mmu.h | 35 ++- arch/arm64/include/asm/memory.h | 7 + arch/arm64/include/asm/pgtable-prot.h | 24 +- arch/arm64/include/asm/sysreg.h | 3 + arch/arm64/include/uapi/asm/kvm.h | 13 + arch/arm64/kernel/cpufeature.c | 20 ++ arch/arm64/kvm/guest.c | 33 +++ arch/arm64/kvm/hyp-init.S | 6 +- arch/arm64/kvm/hyp/sysreg-sr.c | 5 - arch/arm64/kvm/inject_fault.c | 6 +- arch/arm64/kvm/reset.c | 4 + arch/arm64/kvm/sys_regs.c | 54 +++- arch/x86/include/asm/vmx.h | 3 + arch/x86/kvm/svm.c | 8 +- arch/x86/kvm/vmx.c | 72 +++-- arch/x86/kvm/x86.c | 4 +- include/kvm/arm_vgic.h | 9 +- include/linux/irqchip/arm-gic-v3.h | 10 + include/linux/irqchip/arm-gic.h | 11 + include/uapi/linux/kvm.h | 1 + tools/include/linux/bitmap.h | 17 ++ tools/testing/selftests/kvm/Makefile | 5 +- tools/testing/selftests/kvm/cr4_cpuid_sync_test.c | 32 +-- tools/testing/selftests/kvm/dirty_log_test.c | 308 ++++++++++++++++++++++ tools/testing/selftests/kvm/include/kvm_util.h | 45 +++- tools/testing/selftests/kvm/include/test_util.h | 2 - tools/testing/selftests/kvm/lib/kvm_util.c | 58 ++++ tools/testing/selftests/kvm/lib/x86.c | 18 +- tools/testing/selftests/kvm/set_sregs_test.c | 2 +- tools/testing/selftests/kvm/state_test.c | 32 +-- tools/testing/selftests/kvm/sync_regs_test.c | 21 +- tools/testing/selftests/kvm/vmx_tsc_adjust_test.c | 43 +-- virt/kvm/arm/arch_timer.c | 15 +- virt/kvm/arm/arm.c | 51 ++++ virt/kvm/arm/mmu.c | 87 ++++-- virt/kvm/arm/vgic/vgic-debug.c | 50 +++- virt/kvm/arm/vgic/vgic-init.c | 24 +- virt/kvm/arm/vgic/vgic-its.c | 27 +- virt/kvm/arm/vgic/vgic-mmio-v2.c | 66 ++++- virt/kvm/arm/vgic/vgic-mmio-v3.c | 72 +++-- virt/kvm/arm/vgic/vgic-mmio.c | 56 +++- virt/kvm/arm/vgic/vgic-mmio.h | 25 +- virt/kvm/arm/vgic/vgic-v2.c | 10 +- virt/kvm/arm/vgic/vgic-v3.c | 13 +- virt/kvm/arm/vgic/vgic.c | 19 +- virt/kvm/arm/vgic/vgic.h | 7 + 59 files changed, 1372 insertions(+), 305 deletions(-) create mode 100644 tools/testing/selftests/kvm/dirty_log_test.c