KVM: ppc: Move the last bits of 44x code out of booke.c

Previous thread: ppc: Create disassemble.h to extract instruction fields by Linux Kernel Mailing List on Friday, January 2, 2009 - 2:00 pm. (1 message)

Next thread: KVM: ppc: refactor instruction emulation into generic and core-specific pieces by Linux Kernel Mailing List on Friday, January 2, 2009 - 2:00 pm. (1 message)
From: Linux Kernel Mailing List
Date: Friday, January 2, 2009 - 2:00 pm

Gitweb:     http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5cbb51...
Commit:     5cbb5106f50b4515815cd32cf944958c0d4da83f
Parent:     75f74f0dbe086c239b4b0cc5ed75b903ea3e663f
Author:     Hollis Blanchard <hollisb@us.ibm.com>
AuthorDate: Wed Nov 5 09:36:17 2008 -0600
Committer:  Avi Kivity <avi@redhat.com>
CommitDate: Wed Dec 31 16:52:22 2008 +0200

    KVM: ppc: Move the last bits of 44x code out of booke.c
    
    Needed to port to other Book E processors.
    
    Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com>
    Signed-off-by: Avi Kivity <avi@redhat.com>
---
 arch/powerpc/include/asm/kvm_ppc.h |    3 ++
 arch/powerpc/kvm/44x.c             |   53 ++++++++++++++++++++++++++++++++++++
 arch/powerpc/kvm/booke.c           |   46 +-----------------------------
 3 files changed, 58 insertions(+), 44 deletions(-)

diff --git a/arch/powerpc/include/asm/kvm_ppc.h b/arch/powerpc/include/asm/kvm_ppc.h
index aecf95d..d593325 100644
--- a/arch/powerpc/include/asm/kvm_ppc.h
+++ b/arch/powerpc/include/asm/kvm_ppc.h
@@ -62,7 +62,10 @@ extern void kvmppc_mmu_switch_pid(struct kvm_vcpu *vcpu, u32 pid);
 
 /* Core-specific hooks */
 
+extern int kvmppc_core_vcpu_setup(struct kvm_vcpu *vcpu);
 extern int kvmppc_core_check_processor_compat(void);
+extern int kvmppc_core_vcpu_translate(struct kvm_vcpu *vcpu,
+                                      struct kvm_translation *tr);
 
 extern void kvmppc_core_vcpu_load(struct kvm_vcpu *vcpu, int cpu);
 extern void kvmppc_core_vcpu_put(struct kvm_vcpu *vcpu);
diff --git a/arch/powerpc/kvm/44x.c b/arch/powerpc/kvm/44x.c
index fcf8c7d..f5d7028 100644
--- a/arch/powerpc/kvm/44x.c
+++ b/arch/powerpc/kvm/44x.c
@@ -121,3 +121,56 @@ int kvmppc_core_check_processor_compat(void)
 
 	return r;
 }
+
+int kvmppc_core_vcpu_setup(struct kvm_vcpu *vcpu)
+{
+	struct kvmppc_44x_tlbe *tlbe = &vcpu->arch.guest_tlb[0];
+
+	tlbe->tid = 0;
+	tlbe->word0 = PPC44x_TLB_16M | ...
Previous thread: ppc: Create disassemble.h to extract instruction fields by Linux Kernel Mailing List on Friday, January 2, 2009 - 2:00 pm. (1 message)

Next thread: KVM: ppc: refactor instruction emulation into generic and core-specific pieces by Linux Kernel Mailing List on Friday, January 2, 2009 - 2:00 pm. (1 message)