linux/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_emulate.c
44x_tlb.c kvm/ppc/booke: Hold srcu lock when calling gfn functions 2013-06-11 11:10:59 +03:00
44x_tlb.h
44x.c
book3s_32_mmu_host.c
book3s_32_mmu.c KVM: PPC: Book3S PR: Use 64k host pages where possible 2013-10-17 14:45:03 +02:00
book3s_32_sr.S
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_mmu.c KVM: PPC: Book3S PR: Handle PP0 page-protection bit in guest HPTEs 2013-10-17 14:45:04 +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_hv.c
book3s_64_vio.c ppc: kvm: use anon_inode_getfd() with O_CLOEXEC flag 2013-08-26 13:19:56 +03: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
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
book3s_hv_ras.c
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_hv.c KVM: PPC: Book3S HV: Don't crash host on unknown guest interrupt 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
book3s_pr_papr.c KVM: PPC: Book3S PR: Correct errors in H_ENTER implementation 2013-10-17 14:45:04 +02:00
book3s_pr.c KVM: PPC: Book3S PR: Use 64k host pages where possible 2013-10-17 14:45:03 +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
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
book3s.c KVM: PPC: Book3S: Add GET/SET_ONE_REG interface for VRSAVE 2013-10-17 14:44:59 +02:00
booke_emulate.c
booke_interrupts.S
booke.c KVM: PPC: BookE: Add GET/SET_ONE_REG interface for VRSAVE 2013-10-17 14:45:01 +02:00
booke.h
bookehv_interrupts.S
e500_emulate.c KVM: PPC: e500: Add support for EPTCFG register 2013-04-26 20:27:08 +02:00
e500_mmu_host.c
e500_mmu_host.h
e500_mmu.c kvm/ppc/booke: Hold srcu lock when calling gfn functions 2013-06-11 11:10:59 +03:00
e500.c
e500.h KVM: PPC: e500: Add support for TLBnPS registers 2013-04-26 20:27:07 +02: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
trace.h KVM: PPC: Book3S PR: Keep volatile reg values in vcpu rather than shadow_vcpu 2013-10-17 14:45:03 +02:00