linux_old1/arch/powerpc/kvm
Alexander Graf f7bc74e1c3 KVM: PPC: Improve split mode
When in split mode, instruction relocation and data relocation are not equal.

So far we implemented this mode by reserving a special pseudo-VSID for the
two cases and flushing all PTEs when going into split mode, which is slow.

Unfortunately 32bit Linux and Mac OS X use split mode extensively. So to not
slow down things too much, I came up with a different idea: Mark the split
mode with a bit in the VSID and then treat it like any other segment.

This means we can just flush the shadow segment cache, but keep the PTEs
intact. I verified that this works with ppc32 Linux and Mac OS X 10.4
guests and does speed them up.

Signed-off-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Avi Kivity <avi@redhat.com>
2010-05-17 12:18:58 +03:00
..
44x.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
44x_emulate.c KVM: PPC: Use accessor functions for GPR access 2010-03-01 12:35:47 -03:00
44x_tlb.c KVM: PPC: Add helpers for CR, XER 2010-03-01 12:35:47 -03:00
44x_tlb.h KVM: ppc: rename 44x MMU functions used in booke.c 2009-03-24 11:02:56 +02:00
Kconfig KVM: PPC: Enable Book3S_32 KVM building 2010-05-17 12:18:54 +03:00
Makefile KVM: PPC: Enable Book3S_32 KVM building 2010-05-17 12:18:54 +03:00
book3s.c KVM: PPC: Improve split mode 2010-05-17 12:18:58 +03:00
book3s_32_mmu.c KVM: PPC: Improve split mode 2010-05-17 12:18:58 +03:00
book3s_32_mmu_host.c KVM: PPC: Convert u64 -> ulong 2010-05-17 12:18:55 +03:00
book3s_32_sr.S KVM: PPC: Add SR swapping code 2010-05-17 12:18:17 +03:00
book3s_64_mmu.c KVM: PPC: Improve split mode 2010-05-17 12:18:58 +03:00
book3s_64_mmu_host.c KVM: PPC: Convert u64 -> ulong 2010-05-17 12:18:55 +03:00
book3s_64_slb.S KVM: PPC: Make SLB switching code the new segment framework 2010-05-17 12:18:38 +03:00
book3s_emulate.c KVM: PPC: Add Book3S compatibility code 2010-05-17 12:18:46 +03:00
book3s_exports.c KVM: PPC: Name generic 64-bit code generic 2010-05-17 12:18:14 +03:00
book3s_interrupts.S KVM: PPC: Make Performance Counters work 2010-05-17 12:18:57 +03:00
book3s_paired_singles.c KVM: PPC: Improve indirect svcpu accessors 2010-05-17 12:18:26 +03:00
book3s_rmhandlers.S KVM: PPC: Add Book3S compatibility code 2010-05-17 12:18:46 +03:00
book3s_segment.S KVM: PPC: Add generic segment switching code 2010-05-17 12:18:18 +03:00
booke.c KVM: PPC: Add dequeue for external on BookE 2010-05-17 12:17:32 +03:00
booke.h KVM: ppc: Add extra E500 exceptions 2009-03-24 11:02:59 +02:00
booke_emulate.c KVM: PPC: Use accessor functions for GPR access 2010-03-01 12:35:47 -03:00
booke_interrupts.S powerpc: Use names rather than numbers for SPRGs (v2) 2009-08-20 10:12:27 +10:00
e500.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
e500_emulate.c KVM: PPC E500: fix tlbcfg emulation 2010-03-01 12:36:06 -03:00
e500_tlb.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
e500_tlb.h KVM: ppc: e500: Move to Book-3e MMU definitions 2009-09-10 08:32:47 +03:00
emulate.c KVM: PPC: Remove fetch fail code 2010-05-17 12:18:41 +03:00
fpu.S KVM: PPC: Add helpers to call FPU instructions 2010-04-25 12:35:15 +03:00
powerpc.c KVM: PPC: Improve indirect svcpu accessors 2010-05-17 12:18:26 +03:00
timing.c powerpc/kvm: Fix non-modular build 2009-11-05 17:17:12 +11:00
timing.h KVM: powerpc: Fix BUILD_BUG_ON condition 2009-12-03 09:32:22 +02:00
trace.h Fix trace.h 2009-11-05 16:50:27 +11:00