Lines Matching refs:gvsid
77 static u16 kvmppc_sid_hash(struct kvm_vcpu *vcpu, u64 gvsid) in kvmppc_sid_hash() argument
79 return (u16)(((gvsid >> (SID_MAP_BITS * 7)) & SID_MAP_MASK) ^ in kvmppc_sid_hash()
80 ((gvsid >> (SID_MAP_BITS * 6)) & SID_MAP_MASK) ^ in kvmppc_sid_hash()
81 ((gvsid >> (SID_MAP_BITS * 5)) & SID_MAP_MASK) ^ in kvmppc_sid_hash()
82 ((gvsid >> (SID_MAP_BITS * 4)) & SID_MAP_MASK) ^ in kvmppc_sid_hash()
83 ((gvsid >> (SID_MAP_BITS * 3)) & SID_MAP_MASK) ^ in kvmppc_sid_hash()
84 ((gvsid >> (SID_MAP_BITS * 2)) & SID_MAP_MASK) ^ in kvmppc_sid_hash()
85 ((gvsid >> (SID_MAP_BITS * 1)) & SID_MAP_MASK) ^ in kvmppc_sid_hash()
86 ((gvsid >> (SID_MAP_BITS * 0)) & SID_MAP_MASK)); in kvmppc_sid_hash()
90 static struct kvmppc_sid_map *find_sid_vsid(struct kvm_vcpu *vcpu, u64 gvsid) in find_sid_vsid() argument
96 gvsid |= VSID_PR; in find_sid_vsid()
98 sid_map_mask = kvmppc_sid_hash(vcpu, gvsid); in find_sid_vsid()
100 if (map->guest_vsid == gvsid) { in find_sid_vsid()
102 gvsid, map->host_vsid); in find_sid_vsid()
107 if (map->guest_vsid == gvsid) { in find_sid_vsid()
109 gvsid, map->host_vsid); in find_sid_vsid()
113 dprintk_sr("SR: Searching 0x%llx -> not found\n", gvsid); in find_sid_vsid()
274 static struct kvmppc_sid_map *create_sid_map(struct kvm_vcpu *vcpu, u64 gvsid) in create_sid_map() argument
282 gvsid |= VSID_PR; in create_sid_map()
287 sid_map_mask = kvmppc_sid_hash(vcpu, gvsid); in create_sid_map()
307 map->guest_vsid = gvsid; in create_sid_map()
316 u64 gvsid; in kvmppc_mmu_map_segment() local
322 if (vcpu->arch.mmu.esid_to_vsid(vcpu, esid, &gvsid)) { in kvmppc_mmu_map_segment()
329 map = find_sid_vsid(vcpu, gvsid); in kvmppc_mmu_map_segment()
331 map = create_sid_map(vcpu, gvsid); in kvmppc_mmu_map_segment()