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]
Date:	Tue,  2 Aug 2016 14:37:48 +0200
From:	Paolo Bonzini <pbonzini@...hat.com>
To:	torvalds@...ux-foundation.org
Cc:	linux-kernel@...r.kernel.org, rkrcmar@...hat.com,
	kvm@...r.kernel.org,
	Christian Borntraeger <borntraeger@...ibm.com>,
	Christoffer Dall <christoffer.dall@...aro.org>,
	Dan Williams <dan.j.williams@...el.com>,
	Marc Zyngier <marc.zyngier@....com>,
	Paul Mackerras <paulus@...abs.org>,
	Michael Ellerman <mpe@...erman.id.au>
Subject: [GIT PULL] KVM changes for 4.8 merge window

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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ