Lines Matching defs:ref

189 	struct tlbe_ref *ref = &vcpu_e500->gtlb_priv[tlbsel][esel].ref;
192 if (!(ref->flags & E500_TLB_VALID)) {
193 WARN(ref->flags & (E500_TLB_BITMAP | E500_TLB_TLB0),
194 "%s: flags %x\n", __func__, ref->flags);
198 if (tlbsel == 1 && ref->flags & E500_TLB_BITMAP) {
216 ref->flags &= ~(E500_TLB_BITMAP | E500_TLB_VALID);
220 if (tlbsel == 1 && ref->flags & E500_TLB_TLB0) {
226 ref->flags &= ~(E500_TLB_TLB0 | E500_TLB_VALID);
233 if (ref->flags & E500_TLB_VALID)
237 ref->flags = 0;
245 static inline void kvmppc_e500_ref_setup(struct tlbe_ref *ref,
249 ref->pfn = pfn;
250 ref->flags = E500_TLB_VALID;
253 ref->flags |= (gtlbe->mas2 & MAS2_ATTRIB_MASK) | wimg;
262 static inline void kvmppc_e500_ref_release(struct tlbe_ref *ref)
264 if (ref->flags & E500_TLB_VALID) {
266 trace_kvm_booke206_ref_release(ref->pfn, ref->flags);
267 ref->flags = 0;
288 struct tlbe_ref *ref =
289 &vcpu_e500->gtlb_priv[tlbsel][i].ref;
290 kvmppc_e500_ref_release(ref);
307 int tsize, struct tlbe_ref *ref, u64 gvaddr,
310 kvm_pfn_t pfn = ref->pfn;
313 BUG_ON(!(ref->flags & E500_TLB_VALID));
317 stlbe->mas2 = (gvaddr & MAS2_EPN) | (ref->flags & E500_TLB_MAS2_ATTR);
325 struct tlbe_ref *ref)
493 kvmppc_e500_ref_setup(ref, gtlbe, pfn, wimg);
496 ref, gvaddr, stlbe);
515 struct tlbe_ref *ref;
521 ref = &vcpu_e500->gtlb_priv[0][esel].ref;
525 gtlbe, 0, stlbe, ref);
535 struct tlbe_ref *ref,
548 vcpu_e500->gtlb_priv[1][esel].ref.flags |= E500_TLB_BITMAP;
551 WARN_ON(!(ref->flags & E500_TLB_VALID));
563 struct tlbe_ref *ref = &vcpu_e500->gtlb_priv[1][esel].ref;
568 ref);
574 vcpu_e500->gtlb_priv[1][esel].ref.flags |= E500_TLB_TLB0;
580 sesel = kvmppc_e500_tlb1_map_tlb1(vcpu_e500, ref, esel);
602 if (!(priv->ref.flags & E500_TLB_VALID)) {
606 &priv->ref, eaddr, &stlbe);