linux/arch/powerpc/kvm
Alexander Graf 97c4cfbe89 KVM: PPC: Enable lightweight exits again
The PowerPC C ABI defines that registers r14-r31 need to be preserved across
function calls. Since our exit handler is written in C, we can make use of that
and don't need to reload r14-r31 on every entry/exit cycle.

This technique is also used in the BookE code and is called "lightweight exits"
there. To follow the tradition, it's called the same in Book3S.

So far this optimization was disabled though, as the code didn't do what it was
expected to do, but failed to work.

This patch fixes and enables lightweight exits again.

Signed-off-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
2010-03-01 12:35:46 -03:00
..
44x_emulate.c KVM: ppc: split out common Book E instruction emulation 2009-03-24 11:02:57 +02:00
44x_tlb.c KVM: powerpc: convert marker probes to event trace 2009-09-10 08:33:03 +03: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: powerpc: fix some init/exit annotations 2009-09-10 08:32:44 +03:00
book3s_32_mmu.c Add book3s_32 guest MMU 2009-11-05 16:49:55 +11:00
book3s_64_emulate.c powerpc/kvm: Sync guest visible MMU state 2009-12-08 16:02:50 +11:00
book3s_64_exports.c Export KVM symbols for module 2009-11-05 16:50:25 +11:00
book3s_64_interrupts.S KVM: PPC: Enable lightweight exits again 2010-03-01 12:35:46 -03:00
book3s_64_mmu_host.c Add book3s_64 Host MMU handling 2009-11-05 16:49:54 +11:00
book3s_64_mmu.c KVM: powerpc: Fix mtsrin in book3s_64 mmu 2009-12-27 13:36:34 -02:00
book3s_64_rmhandlers.S Add interrupt handling code 2009-11-05 16:49:54 +11:00
book3s_64_slb.S KVM: PPC: Fix typo in rebolting code 2010-03-01 12:35:46 -03:00
book3s.c KVM: PPC: Enable lightweight exits again 2010-03-01 12:35:46 -03:00
booke_emulate.c KVM: ppc: Add dbsr in kvm_vcpu_arch 2009-03-24 11:02:57 +02:00
booke_interrupts.S powerpc: Use names rather than numbers for SPRGs (v2) 2009-08-20 10:12:27 +10:00
booke.c KVM: powerpc: Improve DEC handling 2010-03-01 12:35:42 -03:00
booke.h KVM: ppc: Add extra E500 exceptions 2009-03-24 11:02:59 +02:00
e500_emulate.c KVM: ppc: e500: Add MMUCFG and PVR emulation 2009-09-10 08:32:47 +03:00
e500_tlb.c KVM: powerpc: convert marker probes to event trace 2009-09-10 08:33:03 +03:00
e500_tlb.h KVM: ppc: e500: Move to Book-3e MMU definitions 2009-09-10 08:32:47 +03:00
e500.c KVM: ppc: e500: Directly pass pvr to guest 2009-09-10 08:32:47 +03:00
emulate.c KVM: powerpc: Improve DEC handling 2010-03-01 12:35:42 -03:00
Kconfig KVM: Add KVM_MMIO kconfig item 2010-03-01 12:35:41 -03:00
Makefile Include Book3s_64 target in buildsystem 2009-11-05 16:50:26 +11:00
powerpc.c KVM: split kvm_arch_set_memory_region into prepare and commit 2010-03-01 12:35:44 -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