Searched refs:tlbe (Results 1 – 4 of 4) sorted by relevance
149 get_tlb_size(const struct kvm_book3e_206_tlb_entry *tlbe) in get_tlb_size() argument151 return (tlbe->mas1 >> 7) & 0x1f; in get_tlb_size()154 static inline gva_t get_tlb_eaddr(const struct kvm_book3e_206_tlb_entry *tlbe) in get_tlb_eaddr() argument156 return tlbe->mas2 & MAS2_EPN; in get_tlb_eaddr()159 static inline u64 get_tlb_bytes(const struct kvm_book3e_206_tlb_entry *tlbe) in get_tlb_bytes() argument161 unsigned int pgsize = get_tlb_size(tlbe); in get_tlb_bytes()165 static inline gva_t get_tlb_end(const struct kvm_book3e_206_tlb_entry *tlbe) in get_tlb_end() argument167 u64 bytes = get_tlb_bytes(tlbe); in get_tlb_end()168 return get_tlb_eaddr(tlbe) + bytes - 1; in get_tlb_end()171 static inline u64 get_tlb_raddr(const struct kvm_book3e_206_tlb_entry *tlbe) in get_tlb_raddr() argument[all …]
192 struct tlbe_priv *tlbe = &vcpu_e500->gtlb_priv[tlbsel][esel]; in inval_gtlbe_on_host() local195 if (!(tlbe->flags & E500_TLB_VALID)) { in inval_gtlbe_on_host()196 WARN(tlbe->flags & (E500_TLB_BITMAP | E500_TLB_TLB0), in inval_gtlbe_on_host()197 "%s: flags %x\n", __func__, tlbe->flags); in inval_gtlbe_on_host()201 if (tlbsel == 1 && tlbe->flags & E500_TLB_BITMAP) { in inval_gtlbe_on_host()219 tlbe->flags &= ~(E500_TLB_BITMAP | E500_TLB_VALID); in inval_gtlbe_on_host()223 if (tlbsel == 1 && tlbe->flags & E500_TLB_TLB0) { in inval_gtlbe_on_host()229 tlbe->flags &= ~(E500_TLB_TLB0 | E500_TLB_VALID); in inval_gtlbe_on_host()236 if (tlbe->flags & E500_TLB_VALID) in inval_gtlbe_on_host()240 tlbe->flags = 0; in inval_gtlbe_on_host()[all …]
331 struct kvm_book3e_206_tlb_entry *tlbe; in kvmppc_e500_tlb_setup() local334 tlbe = get_entry(vcpu_e500, 1, 0); in kvmppc_e500_tlb_setup()335 tlbe->mas1 = MAS1_VALID | MAS1_TSIZE(BOOK3E_PAGESZ_256M); in kvmppc_e500_tlb_setup()336 tlbe->mas2 = 0; in kvmppc_e500_tlb_setup()337 tlbe->mas7_3 = E500_TLB_SUPER_PERM_MASK; in kvmppc_e500_tlb_setup()340 tlbe = get_entry(vcpu_e500, 1, 1); in kvmppc_e500_tlb_setup()341 tlbe->mas1 = MAS1_VALID | MAS1_TSIZE(BOOK3E_PAGESZ_4K); in kvmppc_e500_tlb_setup()342 tlbe->mas2 = (0xe0004500 & 0xFFFFF000) | MAS2_I | MAS2_G; in kvmppc_e500_tlb_setup()343 tlbe->mas7_3 = (0xe0004500 & 0xFFFFF000) | E500_TLB_SUPER_PERM_MASK; in kvmppc_e500_tlb_setup()
100 struct kvm_book3e_206_tlb_entry *tlbe = in kvmppc_e500_tlb_index() local104 if (eaddr < get_tlb_eaddr(tlbe)) in kvmppc_e500_tlb_index()107 if (eaddr > get_tlb_end(tlbe)) in kvmppc_e500_tlb_index()110 tid = get_tlb_tid(tlbe); in kvmppc_e500_tlb_index()114 if (!get_tlb_v(tlbe)) in kvmppc_e500_tlb_index()117 if (get_tlb_ts(tlbe) != as && as != -1) in kvmppc_e500_tlb_index()163 struct kvm_book3e_206_tlb_entry *tlbe = in kvmppc_recalc_tlb1map_range() local166 if (!get_tlb_v(tlbe)) in kvmppc_recalc_tlb1map_range()169 eaddr = get_tlb_eaddr(tlbe); in kvmppc_recalc_tlb1map_range()173 eaddr = get_tlb_end(tlbe); in kvmppc_recalc_tlb1map_range()[all …]