aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/include/asm/kvm_e500.h
diff options
context:
space:
mode:
authorLiu Yu <yu.liu@freescale.com>2011-06-14 19:34:59 -0400
committerAvi Kivity <avi@redhat.com>2011-07-12 06:16:38 -0400
commit08b7fa92b9250eab0f493f7721977e781a887b3d (patch)
treec798369236627a144d541809b9c298332509455e /arch/powerpc/include/asm/kvm_e500.h
parenta4cd8b23ac5786943202c0174c717956947db43c (diff)
KVM: PPC: e500: Stop keeping shadow TLB
Instead of a fully separate set of TLB entries, keep just the pfn and dirty status. Signed-off-by: Liu Yu <yu.liu@freescale.com> Signed-off-by: Scott Wood <scottwood@freescale.com> Signed-off-by: Alexander Graf <agraf@suse.de>
Diffstat (limited to 'arch/powerpc/include/asm/kvm_e500.h')
-rw-r--r--arch/powerpc/include/asm/kvm_e500.h20
1 files changed, 14 insertions, 6 deletions
diff --git a/arch/powerpc/include/asm/kvm_e500.h b/arch/powerpc/include/asm/kvm_e500.h
index f181ad1d6045..4a6d77a8b8a0 100644
--- a/arch/powerpc/include/asm/kvm_e500.h
+++ b/arch/powerpc/include/asm/kvm_e500.h
@@ -29,15 +29,23 @@ struct tlbe{
29 u32 mas7; 29 u32 mas7;
30}; 30};
31 31
32#define E500_TLB_VALID 1
33#define E500_TLB_DIRTY 2
34
35struct tlbe_priv {
36 pfn_t pfn;
37 unsigned int flags; /* E500_TLB_* */
38};
39
32struct kvmppc_vcpu_e500 { 40struct kvmppc_vcpu_e500 {
33 /* Unmodified copy of the guest's TLB. */ 41 /* Unmodified copy of the guest's TLB. */
34 struct tlbe *guest_tlb[E500_TLB_NUM]; 42 struct tlbe *gtlb_arch[E500_TLB_NUM];
35 /* TLB that's actually used when the guest is running. */ 43
36 struct tlbe *shadow_tlb[E500_TLB_NUM]; 44 /* KVM internal information associated with each guest TLB entry */
45 struct tlbe_priv *gtlb_priv[E500_TLB_NUM];
37 46
38 unsigned int guest_tlb_size[E500_TLB_NUM]; 47 unsigned int gtlb_size[E500_TLB_NUM];
39 unsigned int shadow_tlb_size[E500_TLB_NUM]; 48 unsigned int gtlb_nv[E500_TLB_NUM];
40 unsigned int guest_tlb_nv[E500_TLB_NUM];
41 49
42 u32 host_pid[E500_PID_NUM]; 50 u32 host_pid[E500_PID_NUM];
43 u32 pid[E500_PID_NUM]; 51 u32 pid[E500_PID_NUM];