diff options
Diffstat (limited to 'arch/powerpc/include/asm/kvm_book3s.h')
-rw-r--r-- | arch/powerpc/include/asm/kvm_book3s.h | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/arch/powerpc/include/asm/kvm_book3s.h b/arch/powerpc/include/asm/kvm_book3s.h index 74b7369770d..db7db0a9696 100644 --- a/arch/powerpc/include/asm/kvm_book3s.h +++ b/arch/powerpc/include/asm/kvm_book3s.h | |||
@@ -22,7 +22,7 @@ | |||
22 | 22 | ||
23 | #include <linux/types.h> | 23 | #include <linux/types.h> |
24 | #include <linux/kvm_host.h> | 24 | #include <linux/kvm_host.h> |
25 | #include <asm/kvm_ppc.h> | 25 | #include <asm/kvm_book3s_64_asm.h> |
26 | 26 | ||
27 | struct kvmppc_slb { | 27 | struct kvmppc_slb { |
28 | u64 esid; | 28 | u64 esid; |
@@ -33,7 +33,8 @@ struct kvmppc_slb { | |||
33 | bool Ks; | 33 | bool Ks; |
34 | bool Kp; | 34 | bool Kp; |
35 | bool nx; | 35 | bool nx; |
36 | bool large; | 36 | bool large; /* PTEs are 16MB */ |
37 | bool tb; /* 1TB segment */ | ||
37 | bool class; | 38 | bool class; |
38 | }; | 39 | }; |
39 | 40 | ||
@@ -69,6 +70,7 @@ struct kvmppc_sid_map { | |||
69 | 70 | ||
70 | struct kvmppc_vcpu_book3s { | 71 | struct kvmppc_vcpu_book3s { |
71 | struct kvm_vcpu vcpu; | 72 | struct kvm_vcpu vcpu; |
73 | struct kvmppc_book3s_shadow_vcpu shadow_vcpu; | ||
72 | struct kvmppc_sid_map sid_map[SID_MAP_NUM]; | 74 | struct kvmppc_sid_map sid_map[SID_MAP_NUM]; |
73 | struct kvmppc_slb slb[64]; | 75 | struct kvmppc_slb slb[64]; |
74 | struct { | 76 | struct { |
@@ -89,6 +91,7 @@ struct kvmppc_vcpu_book3s { | |||
89 | u64 vsid_next; | 91 | u64 vsid_next; |
90 | u64 vsid_max; | 92 | u64 vsid_max; |
91 | int context_id; | 93 | int context_id; |
94 | ulong prog_flags; /* flags to inject when giving a 700 trap */ | ||
92 | }; | 95 | }; |
93 | 96 | ||
94 | #define CONTEXT_HOST 0 | 97 | #define CONTEXT_HOST 0 |
@@ -119,6 +122,10 @@ extern void kvmppc_set_bat(struct kvm_vcpu *vcpu, struct kvmppc_bat *bat, | |||
119 | 122 | ||
120 | extern u32 kvmppc_trampoline_lowmem; | 123 | extern u32 kvmppc_trampoline_lowmem; |
121 | extern u32 kvmppc_trampoline_enter; | 124 | extern u32 kvmppc_trampoline_enter; |
125 | extern void kvmppc_rmcall(ulong srr0, ulong srr1); | ||
126 | extern void kvmppc_load_up_fpu(void); | ||
127 | extern void kvmppc_load_up_altivec(void); | ||
128 | extern void kvmppc_load_up_vsx(void); | ||
122 | 129 | ||
123 | static inline struct kvmppc_vcpu_book3s *to_book3s(struct kvm_vcpu *vcpu) | 130 | static inline struct kvmppc_vcpu_book3s *to_book3s(struct kvm_vcpu *vcpu) |
124 | { | 131 | { |