aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/include/asm/kvm_book3s.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/powerpc/include/asm/kvm_book3s.h')
-rw-r--r--arch/powerpc/include/asm/kvm_book3s.h11
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
27struct kvmppc_slb { 27struct 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
70struct kvmppc_vcpu_book3s { 71struct 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
120extern u32 kvmppc_trampoline_lowmem; 123extern u32 kvmppc_trampoline_lowmem;
121extern u32 kvmppc_trampoline_enter; 124extern u32 kvmppc_trampoline_enter;
125extern void kvmppc_rmcall(ulong srr0, ulong srr1);
126extern void kvmppc_load_up_fpu(void);
127extern void kvmppc_load_up_altivec(void);
128extern void kvmppc_load_up_vsx(void);
122 129
123static inline struct kvmppc_vcpu_book3s *to_book3s(struct kvm_vcpu *vcpu) 130static inline struct kvmppc_vcpu_book3s *to_book3s(struct kvm_vcpu *vcpu)
124{ 131{