linux/arch/powerpc/kvm
Paul Mackerras 3c42bf8a71 KVM: PPC: Split host-state fields out of kvmppc_book3s_shadow_vcpu
There are several fields in struct kvmppc_book3s_shadow_vcpu that
temporarily store bits of host state while a guest is running,
rather than anything relating to the particular guest or vcpu.
This splits them out into a new kvmppc_host_state structure and
modifies the definitions in asm-offsets.c to suit.

On 32-bit, we have a kvmppc_host_state structure inside the
kvmppc_book3s_shadow_vcpu since the assembly code needs to be able
to get to them both with one pointer.  On 64-bit they are separate
fields in the PACA.  This means that on 64-bit we don't need to
copy the kvmppc_host_state in and out on vcpu load/unload, and
in future will mean that the book3s_hv code doesn't need a
shadow_vcpu struct in the PACA at all.  That does mean that we
have to be careful not to rely on any values persisting in the
hstate field of the paca across any point where we could block
or get preempted.

Signed-off-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Alexander Graf <agraf@suse.de>
2011-07-12 13:16:53 +03:00
..
44x_emulate.c KVM: PPC: fix exit accounting for SPRs, tlbwe, tlbsx 2011-05-22 08:47:47 -04:00
44x_tlb.c KVM: PPC: e500: Add shadow PID support 2011-07-12 13:16:39 +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: PPC: booke: add sregs support 2011-05-22 08:47:53 -04:00
book3s_32_mmu_host.c KVM: PPC: Implement correct SID mapping on Book3s_32 2010-10-24 10:52:15 +02:00
book3s_32_mmu.c KVM: PPC: Put segment registers in shared page 2010-10-24 10:52:11 +02:00
book3s_32_sr.S KVM: PPC: Add SR swapping code 2010-05-17 12:18:17 +03:00
book3s_64_mmu_host.c KVM: PPC: Implement correct SID mapping on Book3s_32 2010-10-24 10:52:15 +02:00
book3s_64_mmu.c KVM: PPC: Move fields between struct kvm_vcpu_arch and kvmppc_vcpu_book3s 2011-07-12 13:16:46 +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: Move BAT handling code into spr handler 2010-10-24 10:52:10 +02:00
book3s_exports.c KVM: PPC: Resolve real-mode handlers through function exports 2011-07-12 13:16:29 +03:00
book3s_interrupts.S KVM: PPC: Split host-state fields out of kvmppc_book3s_shadow_vcpu 2011-07-12 13:16:53 +03:00
book3s_mmu_hpte.c KVM: PPC: Move fields between struct kvm_vcpu_arch and kvmppc_vcpu_book3s 2011-07-12 13:16:46 +03:00
book3s_paired_singles.c Merge branch 'kvm-updates/2.6.37' of git://git.kernel.org/pub/scm/virt/kvm/kvm 2010-10-24 12:47:25 -07:00
book3s_pr.c KVM: PPC: Move guest enter/exit down into subarch-specific code 2011-07-12 13:16:51 +03:00
book3s_rmhandlers.S KVM: PPC: Split host-state fields out of kvmppc_book3s_shadow_vcpu 2011-07-12 13:16:53 +03:00
book3s_segment.S KVM: PPC: Split host-state fields out of kvmppc_book3s_shadow_vcpu 2011-07-12 13:16:53 +03:00
book3s.c KVM: PPC: Deliver program interrupts right away instead of queueing them 2011-07-12 13:16:49 +03:00
booke_emulate.c KVM: PPC: Convert SRR0 and SRR1 to shared page 2010-10-24 10:50:45 +02:00
booke_interrupts.S KVM: PPC: e500: Add shadow PID support 2011-07-12 13:16:39 +03:00
booke.c KVM: PPC: Move guest enter/exit down into subarch-specific code 2011-07-12 13:16:51 +03:00
booke.h KVM: PPC: e500: Add shadow PID support 2011-07-12 13:16:39 +03:00
e500_emulate.c KVM: PPC: e500: Add shadow PID support 2011-07-12 13:16:39 +03:00
e500_tlb.c KVM: PPC: e500: Don't search over the entire TLB0. 2011-07-12 13:16:40 +03:00
e500_tlb.h KVM: PPC: e500: Add shadow PID support 2011-07-12 13:16:39 +03:00
e500.c KVM: PPC: e500: Save/restore SPE state 2011-07-12 13:16:32 +03:00
emulate.c KVM: PPC: booke: add sregs support 2011-05-22 08:47:53 -04:00
fpu.S powerpc: Remove fpscr use from [kvm_]cvt_{fd,df} 2010-09-02 14:07:32 +10:00
Kconfig KVM: PPC: Enable Book3S_32 KVM building 2010-05-17 12:18:54 +03:00
Makefile KVM: PPC: Split out code from book3s.c into book3s_pr.c 2011-07-12 13:16:47 +03:00
powerpc.c KVM: PPC: Move guest enter/exit down into subarch-specific code 2011-07-12 13:16:51 +03:00
timing.c KVM: PPC: fix partial application of "exit timing in ticks" 2011-07-12 13:16:28 +03:00
timing.h KVM: powerpc: Fix BUILD_BUG_ON condition 2009-12-03 09:32:22 +02:00
trace.h KVM: PPC: Move fields between struct kvm_vcpu_arch and kvmppc_vcpu_book3s 2011-07-12 13:16:46 +03:00