linux-stable/arch/powerpc/kvm
Paul Mackerras 5cd92a9521 KVM: PPC: Book3S PR: Correct errors in H_ENTER implementation
The implementation of H_ENTER in PR KVM has some errors:

* With H_EXACT not set, if the HPTEG is full, we return H_PTEG_FULL
  as the return value of kvmppc_h_pr_enter, but the caller is expecting
  one of the EMULATE_* values.  The H_PTEG_FULL needs to go in the
  guest's R3 instead.

* With H_EXACT set, if the selected HPTE is already valid, the H_ENTER
  call should return a H_PTEG_FULL error.

This fixes these errors and also makes it write only the selected HPTE,
not the whole group, since only the selected HPTE has been modified.
This also micro-optimizes the calculations involving pte_index and i.

Signed-off-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Alexander Graf <agraf@suse.de>
2013-10-17 14:45:04 +02:00
..
44x.c KVM: PPC: Book3E: Refactor ONE_REG ioctl implementation 2013-04-26 20:27:05 +02:00
44x_emulate.c KVM: PPC: 44x: fix DCR read/write 2012-10-30 10:54:50 +01:00
44x_tlb.c kvm/ppc/booke: Hold srcu lock when calling gfn functions 2013-06-11 11:10:59 +03:00
44x_tlb.h
book3s.c KVM: PPC: Book3S: Add GET/SET_ONE_REG interface for VRSAVE 2013-10-17 14:44:59 +02:00
book3s_32_mmu.c KVM: PPC: Book3S PR: Use 64k host pages where possible 2013-10-17 14:45:03 +02:00
book3s_32_mmu_host.c KVM: do not treat noslot pfn as a error pfn 2012-10-29 20:31:04 -02:00
book3s_32_sr.S
book3s_64_mmu.c KVM: PPC: Book3S PR: Handle PP0 page-protection bit in guest HPTEs 2013-10-17 14:45:04 +02:00
book3s_64_mmu_host.c KVM: PPC: Book3S PR: Use 64k host pages where possible 2013-10-17 14:45:03 +02:00
book3s_64_mmu_hv.c KVM: PPC: Book3S HV: Store LPCR value for each virtual core 2013-10-17 14:45:01 +02:00
book3s_64_slb.S powerpc: Fix little endian lppaca, slb_shadow and dtl_entry 2013-08-14 15:33:35 +10:00
book3s_64_vio.c ppc: kvm: use anon_inode_getfd() with O_CLOEXEC flag 2013-08-26 13:19:56 +03:00
book3s_64_vio_hv.c kvm/book3s: Make kernel emulated H_PUT_TCE available for "PR" KVM 2012-05-06 16:19:11 +02:00
book3s_emulate.c KVM: PPC: Book3S PR: Keep volatile reg values in vcpu rather than shadow_vcpu 2013-10-17 14:45:03 +02:00
book3s_exports.c KVM: PPC: Book3S PR: Fix VSX handling 2012-12-06 01:34:02 +01:00
book3s_hv.c KVM: PPC: Book3S HV: Don't crash host on unknown guest interrupt 2013-10-17 14:45:02 +02:00
book3s_hv_builtin.c powerpc/kvm: Contiguous memory allocator based RMA allocation 2013-07-08 16:20:20 +02:00
book3s_hv_cma.c powerpc/kvm: Use 256K chunk to track both RMA and hash page table allocation. 2013-07-08 16:21:13 +02:00
book3s_hv_cma.h powerpc/kvm: Use 256K chunk to track both RMA and hash page table allocation. 2013-07-08 16:21:13 +02:00
book3s_hv_interrupts.S powerpc: Fix build errors with UP configs in HV-style KVM 2013-04-18 13:03:57 +10:00
book3s_hv_ras.c KVM: PPC: Book3S HV: Fix compilation without CONFIG_PPC_POWERNV 2013-01-06 14:02:00 +01:00
book3s_hv_rm_mmu.c Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2013-09-06 10:49:42 -07:00
book3s_hv_rm_xics.c KVM: PPC: Book3S HV: Add support for real mode ICP in XICS emulation 2013-04-26 20:27:32 +02:00
book3s_hv_rmhandlers.S KVM: PPC: Book3S HV: Support POWER6 compatibility mode on POWER7 2013-10-17 14:45:02 +02:00
book3s_interrupts.S KVM: PPC: Book3S PR: Keep volatile reg values in vcpu rather than shadow_vcpu 2013-10-17 14:45:03 +02:00
book3s_mmu_hpte.c KVM: PPC: Book3S PR: Allow guest to use 64k pages 2013-10-17 14:45:03 +02:00
book3s_paired_singles.c powerpc/kvm: Fallout from system.h disintegration 2012-04-02 14:00:04 +10:00
book3s_pr.c KVM: PPC: Book3S PR: Use 64k host pages where possible 2013-10-17 14:45:03 +02:00
book3s_pr_papr.c KVM: PPC: Book3S PR: Correct errors in H_ENTER implementation 2013-10-17 14:45:04 +02:00
book3s_rmhandlers.S KVM: PPC: Book3S PR: Keep volatile reg values in vcpu rather than shadow_vcpu 2013-10-17 14:45:03 +02:00
book3s_rtas.c KVM: PPC: Book3S: Add support for ibm,int-on/off RTAS calls 2013-04-26 20:27:33 +02:00
book3s_segment.S powerpc: Move and fix MTMSR_EERI definition 2012-07-10 19:18:08 +10:00
book3s_xics.c KVM: PPC: Book3S: Fix compile error in XICS emulation 2013-08-28 16:28:47 +02:00
book3s_xics.h KVM: PPC: Book3S: Add API for in-kernel XICS emulation 2013-05-02 15:28:36 +02:00
booke.c KVM: PPC: BookE: Add GET/SET_ONE_REG interface for VRSAVE 2013-10-17 14:45:01 +02:00
booke.h KVM: PPC: booke: Allow multiple exception types 2013-02-13 12:56:40 +01:00
booke_emulate.c KVM: PPC: BookE: Emulate mfspr on EPR 2013-01-10 13:42:30 +01:00
booke_interrupts.S KVM: PPC: booke: Added debug handler 2013-03-22 01:21:09 +01:00
bookehv_interrupts.S KVM: PPC: bookehv64: Add support for interrupt handling 2012-12-06 01:34:11 +01:00
e500.c KVM: PPC: e500: Expose MMU registers via ONE_REG 2013-04-26 20:27:06 +02:00
e500.h KVM: PPC: e500: Add support for TLBnPS registers 2013-04-26 20:27:07 +02:00
e500_emulate.c KVM: PPC: e500: Add support for EPTCFG register 2013-04-26 20:27:08 +02:00
e500_mmu.c kvm/ppc/booke: Hold srcu lock when calling gfn functions 2013-06-11 11:10:59 +03:00
e500_mmu_host.c kvm/ppc/e500: eliminate tlb_refs 2013-04-11 15:53:43 +02:00
e500_mmu_host.h KVM: PPC: E500: Make clear_tlb_refs and clear_tlb1_bitmap static 2013-01-24 19:23:33 +01:00
e500mc.c kvm/ppc/booke64: Disable e6500 support 2013-06-11 11:10:56 +03:00
emulate.c powerpc: Move opcode definitions from kvm/emulate.c to asm/ppc-opcode.h 2013-07-30 15:50:07 -05:00
fpu.S
irq.h KVM: PPC: Book3S: Add API for in-kernel XICS emulation 2013-05-02 15:28:36 +02:00
Kconfig powerpc/kvm: Contiguous memory allocator based hash page table allocation 2013-07-08 16:19:58 +02:00
Makefile powerpc/kvm: Contiguous memory allocator based hash page table allocation 2013-07-08 16:19:58 +02:00
mpic.c kvm/ppc/mpic: fix missing unlock in set_base_addr() 2013-05-02 15:28:35 +02:00
powerpc.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2013-09-05 08:50:26 -07:00
timing.c
timing.h KVM: PPC: booke: category E.HV (GS-mode) support 2012-04-08 12:51:19 +03:00
trace.h KVM: PPC: Book3S PR: Keep volatile reg values in vcpu rather than shadow_vcpu 2013-10-17 14:45:03 +02:00