Linus, The following changes since commit 6df82a7b88dc9b0b519765562b005ef9196d812a: MIPS: KVM: Fix CACHE triggered exception emulation (2016-06-14 10:59:45 +0200) 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 23528bb21ee2c9b27f3feddd77a2a3351a8df148: KVM: PPC: Introduce KVM_CAP_PPC_HTM (2016-08-01 19:42:06 +0200) ---------------------------------------------------------------- - ARM: GICv3 ITS emulation and various fixes. Removal of the old VGIC implementation. - s390: support for trapping software breakpoints, nested virtualization (vSIE), the STHYI opcode, initial extensions for CPU model support. - MIPS: support for MIPS64 hosts (32-bit guests only) and lots of cleanups, preliminary to this and the upcoming support for hardware virtualization extensions. - x86: support for execute-only mappings in nested EPT; reduced vmexit latency for TSC deadline timer (by about 30%) on Intel hosts; support for more than 255 vCPUs. - PPC: bugfixes. The ugly bit is the conflicts. A couple of them are simple conflicts due to 4.7 fixes, but most of them are with other trees. There was definitely too much reliance on Acked-by here. Some conflicts are for KVM patches where _I_ gave my Acked-by, but the worst are for this pull request's patches that touch files outside arch/*/kvm. KVM submaintainers should probably learn to synchronize better with arch maintainers, with the latter providing topic branches whenever possible instead of Acked-by. This is what we do with arch/x86. And I should learn to refuse pull requests when linux-next sends scary signals, even if that means that submaintainers have to rebase their branches. Anyhow, here's the list: - arch/x86/kvm/vmx.c: handle_pcommit and EXIT_REASON_PCOMMIT was removed by the nvdimm tree. This tree adds handle_preemption_timer and EXIT_REASON_PREEMPTION_TIMER at the same place. In general all mentions of pcommit have to go. There is also a conflict between a stable fix and this patch, where the stable fix removed the vmx_create_pml_buffer function and its call. - virt/kvm/kvm_main.c: kvm_cpu_notifier was removed by the hotplug tree. This tree adds kvm_io_bus_get_dev at the same place. - virt/kvm/arm/vgic.c: a few final bugfixes went into 4.7 before the file was completely removed for 4.8. - include/linux/irqchip/arm-gic-v3.h: this one is entirely our fault; this is a change that should have gone in through the irqchip tree and pulled by kvm-arm. I think I would have rejected this kvm-arm pull request. The KVM version is the right one, except that it lacks GITS_BASER_PAGES_SHIFT. - arch/powerpc: what a mess. For the idle_book3s.S conflict, the KVM tree is the right one; everything else is trivial. In this case I am not quite sure what went wrong. The commit that is causing the mess (fd7bacbca47a, "KVM: PPC: Book3S HV: Fix TB corruption in guest exit path on HMI interrupt", 2016-05-15) touches both arch/powerpc/kernel/ and arch/powerpc/kvm/. It's large, but at 396 insertions/5 deletions I guessed that it wasn't really possible to split it and that the 5 deletions wouldn't conflict. That wasn't the case. - arch/s390: also messy. First is hypfs_diag.c where the KVM tree moved some code and the s390 tree patched it. You have to reapply the relevant part of commits 6c22c9863760, plus all of e030c1125eab, to arch/s390/kernel/diag.c. Or pick the linux-next conflict resolution from http://marc.info/?l=kvm&m=146717549531603&w=2. Second, there is a conflict in gmap.c between a stable fix and 4.8. The KVM version here is the correct one. I have pushed my resolution at refs/heads/merge-20160802 (commit 3d1f53419842) at git://git.kernel.org/pub/scm/virt/kvm/kvm.git. ---------------------------------------------------------------- Alexander Yarygin (1): KVM: s390: Add mnemonic print to kvm_s390_intercept_prog Andre Przywara (17): KVM: arm/arm64: vgic: Move redistributor kvm_io_devices KVM: arm/arm64: vgic: Check return value for kvm_register_vgic_device KVM: Extend struct kvm_msi to hold a 32-bit device ID KVM: arm/arm64: Extend arch CAP checks to allow per-VM capabilities KVM: kvm_io_bus: Add kvm_io_bus_get_dev() call KVM: arm/arm64: vgic: Add refcounting for IRQs irqchip/gic-v3: Refactor and add GICv3 definitions KVM: arm64: vgic: Handle ITS related GICv3 redistributor registers KVM: arm64: vgic-its: Introduce ITS emulation file with MMIO framework KVM: arm64: vgic-its: Introduce new KVM ITS device KVM: arm64: vgic-its: Implement basic ITS register handlers KVM: arm64: vgic-its: Connect LPIs to the VGIC emulation KVM: arm64: vgic-its: Read initial LPI pending table KVM: arm64: vgic-its: Allow updates of LPI configuration table KVM: arm64: vgic-its: Implement ITS command queue command handlers KVM: arm64: vgic-its: Implement MSI injection in ITS emulation KVM: arm64: vgic-its: Enable ITS emulation as a virtual MSI controller Andrea Gelmini (4): KVM: ARM: Fix typos KVM: ARM64: Fix typos KVM: S390: Fix typo KVM: x86: Fix typos Arnd Bergmann (1): kvm: x86: use getboottime64 Ashok Raj (1): KVM: VMX: enable guest access to LMCE related MSRs Bandan Das (5): kvm: mmu: extend the is_present check to 32 bits kvm: mmu: remove is_present_gpte() kvm: mmu: don't set the present bit unconditionally kvm: mmu: track read permission explicitly for shadow EPT page tables kvm: vmx: advertise support for ept execute only Borislav Petkov (1): x86/kvm/svm: Simplify cpu_has_svm() Christian Borntraeger (2): KVM: s390: provide logging for diagnose 0x500 KVM: s390: fixup I/O interrupt traces Dan Carpenter (1): arm64: KVM: Clean up a condition David Hildenbrand (89): KVM: s390: interface to query and configure cpu features KVM: s390: forward ESOP if available KVM: s390: gaccess: store guest address on ALC prot exceptions KVM: s390: gaccess: function for preparing translation exceptions KVM: s390: gaccess: convert kvm_s390_check_low_addr_prot_real() KVM: s390: gaccess: convert guest_translate_address() KVM: s390: gaccess: convert guest_page_range() KVM: s390: gaccess: convert get_vcpu_asce() s390/crypto: allow to query all known cpacf functions KVM: s390: interface to query and configure cpu subfunctions s390/sclp: detect 64-bit-SCAO facility KVM: s390: handle missing 64-bit-SCAO facility s390/sclp: detect guest-PER enhancement KVM: s390: guestdbg: signal missing hardware support s390/sclp: detect cmma KVM: s390: enable CMMA if the interpration is available KVM: s390: provide CMMA attributes only if available s390/sclp: detect guest-storage-limit-suppression KVM: s390: handle missing guest-storage-limit-suppression s390/sclp: detect intervention bypass facility KVM: s390: enable ib only if available s390/sclp: detect conditional-external-interception facility KVM: s390: enable cei only if available s390/sclp: detect PFMF interpretation facility KVM: s390: enable PFMFI only if available s390/sclp: detect interlock-and-broadcast-suppression facility KVM: s390: enable ibs only if available KVM: s390: enable host-protection-interruption only with ESOP KVM: s390: turn on tx even without ctx s390/mm: don't drop errors in get_guest_storage_key s390/mm: simplify get_guest_storage_key s390/mm: return key via pointer in get_guest_storage_key KVM: s390: storage keys fit into a char KVM: s390: pfmf: fix end address calculation KVM: s390: pfmf: MR and MC are ignored without CSSKE KVM: s390: pfmf: take care of amode when setting reg2 KVM: s390: pfmf: support conditional-sske facility KVM: s390: pfmf: handle address overflows s390/sclp: detect storage-key facility KVM: s390: trace and count all skey intercepts KVM: s390: handle missing storage-key facility s390/mm: flush tlb of shadows in all situations s390/mm: shadow pages with real guest requested protection s390/mm: avoid races on region/segment/page table shadowing s390/mm: fix races on gmap_shadow creation s390/mm: take the mmap_sem in kvm_s390_shadow_fault() s390/mm: protection exceptions are corrrectly shadowed s390/mm: take ipte_lock during shadow faults s390/mm: push ste protection down to shadow pte s390/mm: prepare for EDAT1/EDAT2 support in gmap shadow s390/mm: support EDAT1 for gmap shadows s390/mm: support EDAT2 for gmap shadows s390/mm: push rte protection down to shadow pte s390/mm: support real-space for gmap shadows s390/mm: limit number of real-space gmap shadows s390/mm: remember the int code for the last gmap fault s390/mm: allow to check if a gmap shadow is valid s390/mm: don't fault everything in read-write in gmap_pte_op_fixup() KVM: s390: fast path for shadow gmaps in gmap notifier KVM: s390: backup the currently enabled gmap when scheduled out s390: introduce page_to_virt() and pfn_to_virt() mm/page_ref: introduce page_ref_inc_return KVM: s390: vsie: initial support for nested virtualization KVM: s390: vsie: optimize gmap prefix mapping KVM: s390: vsie: support setting the ibc KVM: s390: vsie: support edat1 / edat2 KVM: s390: vsie: support host-protection-interruption KVM: s390: vsie: support STFLE interpretation KVM: s390: vsie: support aes dea wrapping keys KVM: s390: vsie: support transactional execution KVM: s390: vsie: support vectory facility (SIMD) KVM: s390: vsie: support run-time-instrumentation KVM: s390: vsie: support 64-bit-SCAO KVM: s390: vsie: support shared IPTE-interlock facility KVM: s390: vsie: support guest-PER-enhancement KVM: s390: vsie: support guest-storage-limit-suppression KVM: s390: vsie: support intervention-bypass KVM: s390: vsie: support conditional-external-interception KVM: s390: vsie: support IBS interpretation KVM: s390: vsie: try to refault after a reported fault to g2 KVM: s390: vsie: speed up VCPU irq delivery when handling vsie KVM: s390: don't use CPUSTAT_WAIT to detect if a VCPU is idle KVM: s390: vsie: speed up VCPU external calls KVM: s390: vsie: correctly set and handle guest TOD KVM: s390: vsie: add indication for future features KVM: s390: vsie: add module parameter "nested" KVM: s390: inject PER i-fetch events on applicable icpts KVM: s390: allow user space to handle instr 0x0000 KVM: s390: let ptff intercepts result in cc=3 David Matlack (1): kvm: x86: nVMX: maintain internal copy of current VMCS Eric Auger (1): KVM: arm/arm64: Fix vGICv2 KVM_DEV_ARM_VGIC_GRP_CPU/DIST_REGS Haozhong Zhang (2): KVM: VMX: move msr_ia32_feature_control to vcpu_vmx KVM: VMX: validate individual bits of guest MSR_IA32_FEATURE_CONTROL James Hogan (77): MIPS: KVM: Drop unused guest_inst from kvm_vcpu_arch MIPS: KVM: Drop unused host_cp0_entryhi MIPS: KVM: Drop unused kvm_mips_sync_icache() MIPS: KVM: Convert headers to kernel sized types MIPS: KVM: Convert code to kernel sized types MIPS: KVM: Make various Cause variables 32-bit MIPS: KVM: Move non-TLB handling code out of tlb.c MIPS: KVM: Don't indirect KVM functions MIPS: KVM: Simplify even/odd TLB handling MIPS: KVM: Drop unused hpa0/hpa1 args from function MIPS: KVM: Restore host EBase from ebase variable MIPS: KVM: Clean up TLB management hazards MIPS: KVM: Use dump_tlb_all() for kvm_mips_dump_host_tlbs() MIPS: KVM: Arrayify struct kvm_mips_tlb::tlb_lo* MIPS: KVM: Simplify TLB_* macros MIPS: KVM: Use MIPS_ENTRYLO_* defs from mipsregs.h MIPS: KVM: Combine handle_tlb_ld/st_miss MIPS: KVM: Use va in kvm_get_inst() MIPS: KVM: Generalise fpu_inuse for other state MIPS: KVM: Add kvm_aux trace event MIPS: KVM: Clean up kvm_exit trace event MIPS: KVM: Add kvm_asid_change trace event MIPS: KVM: Add guest mode switch trace events MIPS: KVM: Trace guest register access emulation MIPS: KVM: Dump guest tlbs if kvm_get_inst() fails MIPS: KVM: Print unknown load/store encodings MIPS: KVM: Fix translation of MFC0 ErrCtl MIPS: KVM: Factor writing of translated guest instructions MIPS: KVM: Convert emulation to use asm/inst.h MIPS: KVM: Pass all unknown registers to callbacks MIPS: KVM: Make KVM_GET_REG_LIST dynamic MIPS: KVM: Use raw_cpu_has_fpu in kvm_mips_guest_can_have_fpu() MIPS: KVM: List FPU/MSA registers MIPS: Clean up RDHWR handling MIPS: KVM: Don't hardcode restored HWREna MIPS: KVM: Allow ULRI to restrict UserLocal register MIPS: KVM: Emulate RDHWR CPUNum register MIPS: KVM: Add KScratch registers MIPS: KVM: Move commpage so 0x0 is unmapped MIPS: KVM: Use host CCA for TLB mappings MIPS: Add define for Config.VI (virtual icache) bit MIPS: KVM: Report more accurate CP0_Config fields to guest MIPS: KVM: Use mipsregs.h defs for config registers MIPS: KVM: Combine entry trace events into class MIPS: uasm: Add CFC1/CTC1 instructions MIPS: uasm: Add CFCMSA/CTCMSA instructions MIPS: uasm: Add DI instruction MIPS: uasm: Add MTHI/MTLO instructions MIPS: uasm: Add r6 MUL encoding MIPS; KVM: Convert exception entry to uasm MIPS: KVM: Add dumping of generated entry code MIPS: KVM: Drop now unused asm offsets MIPS: KVM: Omit FPU handling entry code if possible MIPS: KVM: Check MSA presence at uasm time MIPS: KVM: Drop redundant restore of DDATA_LO MIPS: KVM: Dynamically choose scratch registers MIPS: KVM: Relative branch to common exit handler MIPS: KVM: Save k0 straight into VCPU structure MIPS: KVM: Fix fpu.S misassembly with r6 MIPS: KVM: Fix pre-r6 ll/sc instructions on r6 MIPS: KVM: Don't save/restore lo/hi for r6 MIPS: KVM: Support r6 compact branch emulation MIPS: KVM: Recognise r6 CACHE encoding MIPS: KVM: Decode RDHWR more strictly MIPS: KVM: Emulate generic QEMU machine on r6 T&E MIPS: Fix definition of KSEGX() for 64-bit MIPS: KVM: Use virt_to_phys() to get commpage PFN MIPS: KVM: Use kmap instead of CKSEG0ADDR() MIPS: KVM: Make entry code MIPS64 friendly MIPS: KVM: Set CP0_Status.KX on MIPS64 MIPS: KVM: Use 64-bit CP0_EBase when appropriate MIPS: KVM: Fail if ebase doesn't fit in CP0_EBase MIPS: KVM: Fix 64-bit big endian dynamic translation MIPS: KVM: Sign extend MFC0/RDHWR results MIPS: KVM: Fix ptr->int cast via KVM_GUEST_KSEGX() MIPS: KVM: Reset CP0_PageMask during host TLB flush MIPS: Select HAVE_KVM for MIPS64_R{2,6} Janosch Frank (7): s390: hypfs: Move diag implementation and data definitions s390: Make cpc_name accessible s390: Make diag224 public KVM: s390: Add operation exception interception handler KVM: s390: Extend diag 204 fields KVM: s390: Add sthyi emulation KVM: s390: Limit sthyi execution Jim Mattson (1): KVM: VMX: Add VMCS to CPU's loaded VMCSs before VMPTRLD Kai Huang (1): kvm/x86: remove unnecessary header file inclusion Mahesh Salgaonkar (2): powerpc/powernv: Remove the usage of PACAR1 from opal wrappers KVM: PPC: Book3S HV: Fix TB corruption in guest exit path on HMI interrupt Marc Zyngier (36): arm/arm64: KVM: Add a protection parameter to create_hyp_mappings arm64: Add PTE_HYP_XN page table flag arm/arm64: KVM: Enforce HYP read-only mapping of the kernel's rodata section arm/arm64: KVM: Map the HYP text as read-only arm/arm64: KVM: Make default HYP mappings non-excutable KVM: arm/arm64: The GIC is dead, long live the GIC arm64: KVM: Merged page tables documentation arm64: KVM: Always reference __hyp_panic_string via its kernel VA arm/arm64: KVM: Remove hyp_kern_va helper arm64: KVM: Kill HYP_PAGE_OFFSET arm64: Add ARM64_HYP_OFFSET_LOW capability arm64: KVM: Define HYP offset masks arm64: KVM: Refactor kern_hyp_va to deal with multiple offsets arm/arm64: KVM: Export __hyp_text_start/end symbols arm64: KVM: Runtime detection of lower HYP offset arm/arm64: KVM: Always have merged page tables arm64: KVM: Simplify HYP init/teardown arm/arm64: KVM: Drop boot_pgd arm/arm64: KVM: Kill free_boot_hyp_pgd arm: KVM: Simplify HYP init arm: KVM: Allow hyp teardown arm/arm64: KVM: Prune unused #defines arm/arm64: KVM: Check that IDMAP doesn't intersect with VA range arm/arm64: Get rid of KERN_TO_HYP irqchip/gicv3-its: Restore all cacheability attributes KVM: arm64: vgic-its: Generalize use of vgic_get_irq_kref KVM: arm64: vgic-its: Fix handling of indirect tables KVM: arm64: vgic-its: Fix vgic_its_check_device_id BE handling KVM: arm64: vgic-its: Fix misleading nr_entries in vgic_its_check_device_id KVM: arm64: vgic-its: Validate the device table L1 entry KVM: arm64: vgic-its: Fix L2 entry validation for indirect tables KVM: arm64: vgic-its: Add collection allocator/destructor KVM: arm64: vgic-its: Add pointer to corresponding kvm_device KVM: arm64: vgic-its: Turn device_id validation into generic ID validation KVM: arm64: vgic-its: Make vgic_its_cmd_handle_mapi similar to other handlers KVM: arm64: vgic-its: Simplify MAPI error handling Martin Schwidefsky (7): s390/mm: set and get guest storage key mmap locking s390/kvm: page table invalidation notifier s390/mm: use RCU for gmap notifier list and the per-mm gmap list s390/mm: extended gmap pte notifier s390/mm: add reference counter to gmap structure s390/mm: add shadow gmap support s390/mm: add kvm shadow fault function Paolo Bonzini (21): KVM: x86: avoid simultaneous queueing of both IRQ and SMI KVM: x86: rename process_smi to enter_smm, process_smi_request to process_smi KVM: x86: protect KVM_CREATE_PIT/KVM_CREATE_PIT2 with kvm->lock Merge branch 'kvm-mips-fixes' into HEAD Merge tag 'kvm-s390-next-4.8-1' of git://git.kernel.org/.../kvms390/linux into HEAD KVM: introduce kvm->created_vcpus KVM: remove kvm_vcpu_compatible KVM: s390: use kvm->created_vcpus Merge tag 'kvm-s390-next-4.8-2' of git://git.kernel.org/.../kvms390/linux into HEAD context_tracking: move rcu_virt_note_context_switch out of kvm_host.h KVM: remove kvm_guest_enter/exit wrappers KVM: x86: always use "acknowledge interrupt on exit" KVM: x86: use guest_exit_irqoff KVM: vmx: fix underflow in TSC deadline calculation KVM: MMU: prepare to support mapping of VM_IO and VM_PFNMAP frames KVM: MMU: try to fix up page faults before giving up Merge tag 'kvm-s390-next-4.8-3' of git://git.kernel.org/.../kvms390/linux into HEAD KVM: VMX: reflect broken preemption timer in vmcs_config KVM: nVMX: keep preemption timer enabled during L2 execution KVM: VMX: introduce vm_{entry,exit}_control_reset_shadow Merge branch 'kvm-ppc-next' of git://git.kernel.org/.../paulus/powerpc into HEAD Paul Burton (2): MIPS: inst.h: Rename b{eq,ne}zcji[al]c_op to pop{6,7}6_op MIPS: inst.h: Rename cbcond{0,1}_op to pop{1,3}0_op Paul Mackerras (2): KVM: PPC: Book3S HV: Pull out TM state save/restore into separate procedures KVM: PPC: Book3S HV: Save/restore TM state in H_CEDE Radim Krčmář (17): KVM: x86: bump KVM_SOFT_MAX_VCPUS to 240 KVM: x86: add kvm_apic_map_get_dest_lapic KVM: x86: use physical LAPIC array for logical x2APIC KVM: x86: dynamic kvm_apic_map KVM: x86: use generic function for MSI parsing KVM: x86: use hardware-compatible format for APIC ID register KVM: x86: reset APIC ID when enabling LAPIC KVM: VMX: optimize APIC ID read with APICv KVM: x86: reset lapic base in kvm_lapic_reset KVM: pass struct kvm to kvm_set_routing_entry KVM: x86: add KVM_CAP_X2APIC_API KVM: x86: add a flag to disable KVM x2apic broadcast quirk KVM: x86: bump MAX_VCPUS to 288 KVM: x86: bump KVM_MAX_VCPU_ID to 1023 Merge tag 'kvm-s390-next-4.8-4' of git://git.kernel.org/.../kvms390/linux into next Merge tag 'kvm-arm-for-4.8' of git://git.kernel.org/.../kvmarm/kvmarm into next Merge branch 'kvm-ppc-next' of git://git.kernel.org/.../paulus/powerpc into next Sam Bobroff (1): KVM: PPC: Introduce KVM_CAP_PPC_HTM Thomas Huth (2): KVM: PPC: Book3S PR: Fix illegal opcode emulation KVM: PPC: Book3S PR: Fix contents of SRR1 when injecting a program exception Wanpeng Li (3): KVM: x86: introduce cancel_hv_tscdeadline KVM: vmx: fix missed cancellation of TSC deadline timer KVM: nVMX: avoid incorrect preemption timer vmexit in nested guest Wei Yongjun (1): KVM: x86: Use ARRAY_SIZE instead of dividing sizeof array with sizeof an element Yunhong Jiang (4): kvm: lapic: separate start_sw_tscdeadline from start_apic_timer KVM: x86: support using the vmx preemption timer for tsc deadline timer kvm: vmx: rename vmx_pre/post_block to pi_pre/post_block kvm: vmx: hook preemption timer support Documentation/virtual/kvm/api.txt | 82 +- Documentation/virtual/kvm/devices/arm-vgic.txt | 25 +- Documentation/virtual/kvm/devices/vm.txt | 87 +- Documentation/virtual/kvm/locking.txt | 4 +- arch/arm/include/asm/kvm_asm.h | 2 + arch/arm/include/asm/kvm_host.h | 27 +- arch/arm/include/asm/kvm_hyp.h | 3 - arch/arm/include/asm/kvm_mmu.h | 15 +- arch/arm/include/asm/pgtable.h | 4 +- arch/arm/include/asm/virt.h | 4 + arch/arm/kvm/Kconfig | 7 - arch/arm/kvm/Makefile | 6 - arch/arm/kvm/arm.c | 46 +- arch/arm/kvm/emulate.c | 2 +- arch/arm/kvm/guest.c | 2 +- arch/arm/kvm/init.S | 56 +- arch/arm/kvm/mmu.c | 142 +- arch/arm/kvm/reset.c | 2 +- arch/arm64/include/asm/cpufeature.h | 3 +- arch/arm64/include/asm/kvm_arm.h | 2 +- arch/arm64/include/asm/kvm_host.h | 19 +- arch/arm64/include/asm/kvm_hyp.h | 23 - arch/arm64/include/asm/kvm_mmu.h | 96 +- arch/arm64/include/asm/pgtable-hwdef.h | 1 + arch/arm64/include/asm/pgtable-prot.h | 4 +- arch/arm64/include/asm/virt.h | 4 + arch/arm64/include/uapi/asm/kvm.h | 2 + arch/arm64/kernel/cpufeature.c | 19 + arch/arm64/kvm/Kconfig | 8 +- arch/arm64/kvm/Makefile | 9 +- arch/arm64/kvm/guest.c | 2 +- arch/arm64/kvm/hyp-init.S | 61 +- arch/arm64/kvm/hyp/entry.S | 19 - arch/arm64/kvm/hyp/hyp-entry.S | 15 + arch/arm64/kvm/hyp/switch.c | 11 +- arch/arm64/kvm/reset.c | 38 +- arch/arm64/kvm/sys_regs.c | 4 +- arch/mips/Kconfig | 2 + arch/mips/include/asm/addrspace.h | 2 +- arch/mips/include/asm/kvm_host.h | 315 +-- .../asm/mach-cavium-octeon/cpu-feature-overrides.h | 2 +- arch/mips/include/asm/mipsregs.h | 21 +- arch/mips/include/asm/setup.h | 1 + arch/mips/include/asm/uasm.h | 7 + arch/mips/include/uapi/asm/inst.h | 114 +- arch/mips/kernel/asm-offsets.c | 70 - arch/mips/kernel/branch.c | 8 +- arch/mips/kernel/traps.c | 23 +- arch/mips/kvm/Kconfig | 1 + arch/mips/kvm/Makefile | 3 +- arch/mips/kvm/commpage.c | 2 +- arch/mips/kvm/dyntrans.c | 182 +- arch/mips/kvm/emulate.c | 485 ++-- arch/mips/kvm/entry.c | 701 ++++++ arch/mips/kvm/fpu.S | 7 +- arch/mips/kvm/interrupt.c | 12 +- arch/mips/kvm/interrupt.h | 14 +- arch/mips/kvm/locore.S | 605 ----- arch/mips/kvm/mips.c | 367 ++- arch/mips/kvm/mmu.c | 375 +++ arch/mips/kvm/stats.c | 21 - arch/mips/kvm/tlb.c | 498 +--- arch/mips/kvm/trace.h | 236 +- arch/mips/kvm/trap_emul.c | 178 +- arch/mips/math-emu/cp1emu.c | 8 +- arch/mips/mm/c-r4k.c | 2 +- arch/mips/mm/uasm-micromips.c | 13 +- arch/mips/mm/uasm-mips.c | 11 + arch/mips/mm/uasm.c | 24 +- arch/powerpc/include/asm/hmi.h | 45 + arch/powerpc/include/asm/paca.h | 6 + arch/powerpc/kernel/Makefile | 2 +- arch/powerpc/kernel/exceptions-64s.S | 4 +- arch/powerpc/kernel/hmi.c | 56 + arch/powerpc/kernel/idle_power7.S | 5 +- arch/powerpc/kernel/traps.c | 5 + arch/powerpc/kvm/book3s_hv.c | 41 +- arch/powerpc/kvm/book3s_hv_ras.c | 176 ++ arch/powerpc/kvm/book3s_hv_rmhandlers.S | 527 +++-- arch/powerpc/kvm/book3s_pr.c | 16 +- arch/powerpc/kvm/booke.c | 4 +- arch/powerpc/kvm/emulate.c | 1 - arch/powerpc/kvm/mpic.c | 3 +- arch/powerpc/kvm/powerpc.c | 6 +- arch/powerpc/platforms/powernv/opal-wrappers.S | 2 - arch/s390/hypfs/hypfs_diag.c | 375 +-- arch/s390/include/asm/cpacf.h | 10 + arch/s390/include/asm/diag.h | 149 ++ arch/s390/include/asm/gmap.h | 82 +- arch/s390/include/asm/kvm_host.h | 33 +- arch/s390/include/asm/mmu.h | 11 +- arch/s390/include/asm/mmu_context.h | 3 +- arch/s390/include/asm/page.h | 9 +- arch/s390/include/asm/pgalloc.h | 2 + arch/s390/include/asm/pgtable.h | 17 +- arch/s390/include/asm/processor.h | 2 + arch/s390/include/asm/sclp.h | 23 +- arch/s390/include/uapi/asm/kvm.h | 41 + arch/s390/include/uapi/asm/sie.h | 1 + arch/s390/kernel/diag.c | 37 + arch/s390/kvm/Makefile | 2 +- arch/s390/kvm/diag.c | 5 + arch/s390/kvm/gaccess.c | 387 +++- arch/s390/kvm/gaccess.h | 3 + arch/s390/kvm/guestdbg.c | 19 +- arch/s390/kvm/intercept.c | 33 +- arch/s390/kvm/interrupt.c | 34 +- arch/s390/kvm/kvm-s390.c | 402 +++- arch/s390/kvm/kvm-s390.h | 22 +- arch/s390/kvm/priv.c | 226 +- arch/s390/kvm/sigp.c | 10 +- arch/s390/kvm/sthyi.c | 471 ++++ arch/s390/kvm/trace.h | 49 +- arch/s390/kvm/vsie.c | 1091 +++++++++ arch/s390/mm/fault.c | 2 + arch/s390/mm/gmap.c | 1602 ++++++++++++- arch/s390/mm/pgalloc.c | 39 +- arch/s390/mm/pgtable.c | 209 +- arch/x86/include/asm/kvm_host.h | 31 +- arch/x86/include/asm/svm.h | 1 - arch/x86/include/asm/virtext.h | 8 +- arch/x86/kvm/Kconfig | 1 - arch/x86/kvm/i8254.c | 4 +- arch/x86/kvm/iommu.c | 2 - arch/x86/kvm/irq_comm.c | 49 +- arch/x86/kvm/lapic.c | 539 +++-- arch/x86/kvm/lapic.h | 19 +- arch/x86/kvm/mmu.c | 29 +- arch/x86/kvm/mmu.h | 5 - arch/x86/kvm/paging_tmpl.h | 10 +- arch/x86/kvm/pmu_intel.c | 2 +- arch/x86/kvm/svm.c | 8 +- arch/x86/kvm/trace.h | 15 + arch/x86/kvm/vmx.c | 386 +++- arch/x86/kvm/x86.c | 175 +- drivers/s390/char/sclp_early.c | 12 +- drivers/s390/char/sclp_ocf.c | 23 +- include/kvm/arm_vgic.h | 438 ++-- include/kvm/vgic/vgic.h | 246 -- include/linux/context_tracking.h | 38 +- include/linux/irqchip/arm-gic-v3.h | 212 +- include/linux/kvm_host.h | 58 +- include/linux/page_ref.h | 9 + include/trace/events/kvm.h | 5 +- include/uapi/linux/kvm.h | 13 +- mm/gup.c | 1 + virt/kvm/Kconfig | 3 - virt/kvm/arm/hyp/vgic-v2-sr.c | 15 +- virt/kvm/arm/vgic-v2-emul.c | 856 ------- virt/kvm/arm/vgic-v2.c | 274 --- virt/kvm/arm/vgic-v3-emul.c | 1074 --------- virt/kvm/arm/vgic-v3.c | 279 --- virt/kvm/arm/vgic.c | 2440 -------------------- virt/kvm/arm/vgic.h | 140 -- virt/kvm/arm/vgic/vgic-init.c | 9 +- virt/kvm/arm/vgic/vgic-its.c | 1500 ++++++++++++ virt/kvm/arm/vgic/vgic-kvm-device.c | 22 +- virt/kvm/arm/vgic/vgic-mmio-v2.c | 10 + virt/kvm/arm/vgic/vgic-mmio-v3.c | 247 +- virt/kvm/arm/vgic/vgic-mmio.c | 64 +- virt/kvm/arm/vgic/vgic-mmio.h | 31 +- virt/kvm/arm/vgic/vgic-v2.c | 12 +- virt/kvm/arm/vgic/vgic-v3.c | 29 +- virt/kvm/arm/vgic/vgic.c | 119 +- virt/kvm/arm/vgic/vgic.h | 38 +- virt/kvm/irqchip.c | 7 +- virt/kvm/kvm_main.c | 110 +- 167 files changed, 11776 insertions(+), 9308 deletions(-) create mode 100644 arch/mips/kvm/entry.c delete mode 100644 arch/mips/kvm/locore.S create mode 100644 arch/mips/kvm/mmu.c create mode 100644 arch/powerpc/include/asm/hmi.h create mode 100644 arch/powerpc/kernel/hmi.c create mode 100644 arch/s390/kvm/sthyi.c create mode 100644 arch/s390/kvm/vsie.c delete mode 100644 include/kvm/vgic/vgic.h delete mode 100644 virt/kvm/arm/vgic-v2-emul.c delete mode 100644 virt/kvm/arm/vgic-v2.c delete mode 100644 virt/kvm/arm/vgic-v3-emul.c delete mode 100644 virt/kvm/arm/vgic-v3.c delete mode 100644 virt/kvm/arm/vgic.c delete mode 100644 virt/kvm/arm/vgic.h create mode 100644 virt/kvm/arm/vgic/vgic-its.c -- 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