Lines Matching refs:vcpu
61 struct kvm_vcpu vcpu; member
103 static inline struct kvmppc_vcpu_e500 *to_e500(struct kvm_vcpu *vcpu) in to_e500() argument
105 return container_of(vcpu, struct kvmppc_vcpu_e500, vcpu); in to_e500()
130 int kvmppc_e500_emul_tlbwe(struct kvm_vcpu *vcpu);
131 int kvmppc_e500_emul_tlbre(struct kvm_vcpu *vcpu);
132 int kvmppc_e500_emul_tlbivax(struct kvm_vcpu *vcpu, gva_t ea);
133 int kvmppc_e500_emul_tlbilx(struct kvm_vcpu *vcpu, int type, gva_t ea);
134 int kvmppc_e500_emul_tlbsx(struct kvm_vcpu *vcpu, gva_t ea);
138 void kvmppc_get_sregs_e500_tlb(struct kvm_vcpu *vcpu, struct kvm_sregs *sregs);
139 int kvmppc_set_sregs_e500_tlb(struct kvm_vcpu *vcpu, struct kvm_sregs *sregs);
141 int kvmppc_get_one_reg_e500_tlb(struct kvm_vcpu *vcpu, u64 id,
143 int kvmppc_set_one_reg_e500_tlb(struct kvm_vcpu *vcpu, u64 id,
211 static inline unsigned int get_cur_pid(struct kvm_vcpu *vcpu) in get_cur_pid() argument
213 return vcpu->arch.pid & 0xff; in get_cur_pid()
216 static inline unsigned int get_cur_as(struct kvm_vcpu *vcpu) in get_cur_as() argument
218 return !!(vcpu->arch.shared->msr & (MSR_IS | MSR_DS)); in get_cur_as()
221 static inline unsigned int get_cur_pr(struct kvm_vcpu *vcpu) in get_cur_pr() argument
223 return !!(vcpu->arch.shared->msr & MSR_PR); in get_cur_pr()
226 static inline unsigned int get_cur_spid(const struct kvm_vcpu *vcpu) in get_cur_spid() argument
228 return (vcpu->arch.shared->mas6 >> 16) & 0xff; in get_cur_spid()
231 static inline unsigned int get_cur_sas(const struct kvm_vcpu *vcpu) in get_cur_sas() argument
233 return vcpu->arch.shared->mas6 & 0x1; in get_cur_sas()
236 static inline unsigned int get_tlb_tlbsel(const struct kvm_vcpu *vcpu) in get_tlb_tlbsel() argument
242 return (vcpu->arch.shared->mas0 >> 28) & 0x1; in get_tlb_tlbsel()
245 static inline unsigned int get_tlb_nv_bit(const struct kvm_vcpu *vcpu) in get_tlb_nv_bit() argument
247 return vcpu->arch.shared->mas0 & 0xfff; in get_tlb_nv_bit()
250 static inline unsigned int get_tlb_esel_bit(const struct kvm_vcpu *vcpu) in get_tlb_esel_bit() argument
252 return (vcpu->arch.shared->mas0 >> 16) & 0xfff; in get_tlb_esel_bit()
255 static inline int tlbe_is_host_safe(const struct kvm_vcpu *vcpu, in tlbe_is_host_safe() argument
266 if (get_tlb_ts(tlbe) != !!(vcpu->arch.shared->msr & MSR_IS)) in tlbe_is_host_safe()
271 if (!gfn_to_memslot(vcpu->kvm, gpa >> PAGE_SHIFT)) in tlbe_is_host_safe()
290 #define kvmppc_e500_get_tlb_stid(vcpu, gtlbe) get_tlb_tid(gtlbe) argument
291 #define get_tlbmiss_tid(vcpu) get_cur_pid(vcpu) argument
308 static inline int get_lpid(struct kvm_vcpu *vcpu) in get_lpid() argument
310 return get_thread_specific_lpid(vcpu->kvm->arch.lpid); in get_lpid()
313 unsigned int kvmppc_e500_get_tlb_stid(struct kvm_vcpu *vcpu,
316 static inline unsigned int get_tlbmiss_tid(struct kvm_vcpu *vcpu) in get_tlbmiss_tid() argument
318 struct kvmppc_vcpu_e500 *vcpu_e500 = to_e500(vcpu); in get_tlbmiss_tid()
319 unsigned int tidseld = (vcpu->arch.shared->mas4 >> 16) & 0xf; in get_tlbmiss_tid()
328 static inline bool has_feature(const struct kvm_vcpu *vcpu, in has_feature() argument
334 has_ftr = ((vcpu->arch.mmucfg & MMUCFG_MAVN) == MMUCFG_MAVN_V2); in has_feature()