linux/arch/powerpc/kvm
Bharat Bhushan 30a91fe24b kvm: booke: clear host tlb reference flag on guest tlb invalidation
On booke, "struct tlbe_ref" contains host tlb mapping information
(pfn: for guest-pfn to pfn, flags: attribute associated with this mapping)
for a guest tlb entry. So when a guest creates a TLB entry then
"struct tlbe_ref" is set to point to valid "pfn" and set attributes in
"flags" field of the above said structure. When a guest TLB entry is
invalidated then flags field of corresponding "struct tlbe_ref" is
updated to point that this is no more valid, also we selectively clear
some other attribute bits, example: if E500_TLB_BITMAP was set then we clear
E500_TLB_BITMAP, if E500_TLB_TLB0 is set then we clear this.

Ideally we should clear complete "flags" as this entry is invalid and does not
have anything to re-used. The other part of the problem is that when we use
the same entry again then also we do not clear (started doing or-ing etc).

So far it was working because the selectively clearing mentioned above
actually clears "flags" what was set during TLB mapping. But the problem
starts coming when we add more attributes to this then we need to selectively
clear them and which is not needed.

Signed-off-by: Bharat Bhushan <bharat.bhushan@freescale.com>
Reviewed-by: Scott Wood <scottwood@freescale.com>
Signed-off-by: Alexander Graf <agraf@suse.de>
2014-01-09 10:15:04 +01:00
..
44x_emulate.c kvm: powerpc: Add kvmppc_ops callback 2013-10-17 15:24:26 +02:00
44x_tlb.c kvm: powerpc: Add kvmppc_ops callback 2013-10-17 15:24:26 +02:00
44x_tlb.h KVM: ppc: rename 44x MMU functions used in booke.c 2009-03-24 11:02:56 +02:00
44x.c KVM: PPC: Add devname:kvm aliases for modules 2014-01-09 10:14:00 +01:00
book3s_32_mmu_host.c kvm: powerpc: Add kvmppc_ops callback 2013-10-17 15:24:26 +02:00
book3s_32_mmu.c KVM: PPC: Book3S PR: Better handling of host-side read-only pages 2013-10-17 14:49:35 +02:00
book3s_32_sr.S KVM: PPC: book3s_pr: Simplify transitions between virtual and real mode 2011-09-25 19:52:29 +03:00
book3s_64_mmu_host.c kvm: powerpc: book3s: pr: move PR related tracepoints to a separate header 2013-10-17 15:36:22 +02:00
book3s_64_mmu_hv.c kvm: powerpc: Add kvmppc_ops callback 2013-10-17 15:24:26 +02:00
book3s_64_mmu.c KVM: PPC: Book3S PR: Better handling of host-side read-only pages 2013-10-17 14:49:35 +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 kvm: powerpc: book3s: move book3s_64_vio_hv.c into the main kernel binary 2013-10-17 15:17:25 +02:00
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: powerpc: book3s: Support building HV and PR KVM as module 2013-10-17 15:45:35 +02:00
book3s_exports.c KVM: PPC: Use load_fp/vr_state rather than load_up_fpu/altivec 2014-01-09 10:14:59 +01: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 kvm: powerpc: book3s: remove kvmppc_handler_highmem label 2013-10-17 15:15:56 +02: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: Use load/store_fp_state functions in HV guest entry/exit 2014-01-09 10:15:03 +01:00
book3s_hv.c KVM: PPC: Store FP/VSX/VMX state in thread_fp/vr_state structures 2014-01-09 10:15:00 +01:00
book3s_interrupts.S kvm: powerpc: Add kvmppc_ops callback 2013-10-17 15:24:26 +02:00
book3s_mmu_hpte.c kvm: powerpc: book3s: pr: move PR related tracepoints to a separate header 2013-10-17 15:36:22 +02:00
book3s_paired_singles.c KVM: PPC: Store FP/VSX/VMX state in thread_fp/vr_state structures 2014-01-09 10:15:00 +01:00
book3s_pr_papr.c KVM: PPC: Book3S PR: Make HPT accesses and updates SMP-safe 2013-10-17 14:45:04 +02:00
book3s_pr.c KVM: PPC: Load/save FP/VMX/VSX state directly to/from vcpu struct 2014-01-09 10:15:02 +01:00
book3s_rmhandlers.S KVM: PPC: Use load_fp/vr_state rather than load_up_fpu/altivec 2014-01-09 10:14:59 +01:00
book3s_rtas.c kvm: powerpc: book3s: Support building HV and PR KVM as module 2013-10-17 15:45:35 +02:00
book3s_segment.S kvm: powerpc: book3s: Cleanup interrupt handling code 2013-10-17 15:26:31 +02:00
book3s_xics.c KVM: PPC: fix couple of memory leaks in MPIC/XICS devices 2014-01-09 10:14:54 +01: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: Store FP/VSX/VMX state in thread_fp/vr_state structures 2014-01-09 10:15:00 +01:00
book3s.h kvm: powerpc: book3s: Allow the HV and PR selection per virtual machine 2013-10-17 18:42:36 +02: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
booke.c KVM: PPC: Load/save FP/VMX/VSX state directly to/from vcpu struct 2014-01-09 10:15:02 +01:00
booke.h KVM: PPC: Load/save FP/VMX/VSX state directly to/from vcpu struct 2014-01-09 10:15:02 +01:00
bookehv_interrupts.S KVM: PPC: bookehv64: Add support for interrupt handling 2012-12-06 01:34:11 +01:00
e500_emulate.c kvm: powerpc: Add kvmppc_ops callback 2013-10-17 15:24:26 +02:00
e500_mmu_host.c kvm: booke: clear host tlb reference flag on guest tlb invalidation 2014-01-09 10:15:04 +01: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
e500_mmu.c kvm: powerpc: booke: Move booke related tracepoints to separate header 2013-10-17 15:37:16 +02:00
e500.c KVM: PPC: Add devname:kvm aliases for modules 2014-01-09 10:14:00 +01:00
e500.h kvm: powerpc: allow guest control "G" attribute in mas2 2013-10-17 14:49:37 +02:00
e500mc.c KVM: PPC: Add devname:kvm aliases for modules 2014-01-09 10:14:00 +01:00
emulate.c kvm: powerpc: book3s: Allow the HV and PR selection per virtual machine 2013-10-17 18:42:36 +02:00
fpu.S powerpc: Remove fpscr use from [kvm_]cvt_{fd,df} 2010-09-02 14:07:32 +10:00
irq.h KVM: PPC: Book3S: Add API for in-kernel XICS emulation 2013-05-02 15:28:36 +02:00
Kconfig Here are the 3.13 KVM changes. There was a lot of work on the PPC 2013-11-15 13:51:36 +09:00
Makefile kvm: powerpc: book3s: Support building HV and PR KVM as module 2013-10-17 15:45:35 +02:00
mpic.c KVM: PPC: fix couple of memory leaks in MPIC/XICS devices 2014-01-09 10:14:54 +01:00
powerpc.c KVM: PPC: Store FP/VSX/VMX state in thread_fp/vr_state structures 2014-01-09 10:15:00 +01:00
timing.c KVM: PPC: fix partial application of "exit timing in ticks" 2011-07-12 13:16:28 +03:00
timing.h KVM: PPC: booke: category E.HV (GS-mode) support 2012-04-08 12:51:19 +03:00
trace_booke.h kvm: powerpc: booke: Move booke related tracepoints to separate header 2013-10-17 15:37:16 +02:00
trace_pr.h kvm: powerpc: book3s: pr: move PR related tracepoints to a separate header 2013-10-17 15:36:22 +02:00
trace.h kvm: powerpc: booke: Move booke related tracepoints to separate header 2013-10-17 15:37:16 +02:00