Lines Matching refs:gvsid
44 static u16 kvmppc_sid_hash(struct kvm_vcpu *vcpu, u64 gvsid) in kvmppc_sid_hash() argument
46 return (u16)(((gvsid >> (SID_MAP_BITS * 7)) & SID_MAP_MASK) ^ in kvmppc_sid_hash()
47 ((gvsid >> (SID_MAP_BITS * 6)) & SID_MAP_MASK) ^ in kvmppc_sid_hash()
48 ((gvsid >> (SID_MAP_BITS * 5)) & SID_MAP_MASK) ^ in kvmppc_sid_hash()
49 ((gvsid >> (SID_MAP_BITS * 4)) & SID_MAP_MASK) ^ in kvmppc_sid_hash()
50 ((gvsid >> (SID_MAP_BITS * 3)) & SID_MAP_MASK) ^ in kvmppc_sid_hash()
51 ((gvsid >> (SID_MAP_BITS * 2)) & SID_MAP_MASK) ^ in kvmppc_sid_hash()
52 ((gvsid >> (SID_MAP_BITS * 1)) & SID_MAP_MASK) ^ in kvmppc_sid_hash()
53 ((gvsid >> (SID_MAP_BITS * 0)) & SID_MAP_MASK)); in kvmppc_sid_hash()
57 static struct kvmppc_sid_map *find_sid_vsid(struct kvm_vcpu *vcpu, u64 gvsid) in find_sid_vsid() argument
63 gvsid |= VSID_PR; in find_sid_vsid()
65 sid_map_mask = kvmppc_sid_hash(vcpu, gvsid); in find_sid_vsid()
67 if (map->valid && (map->guest_vsid == gvsid)) { in find_sid_vsid()
68 trace_kvm_book3s_slb_found(gvsid, map->host_vsid); in find_sid_vsid()
73 if (map->valid && (map->guest_vsid == gvsid)) { in find_sid_vsid()
74 trace_kvm_book3s_slb_found(gvsid, map->host_vsid); in find_sid_vsid()
78 trace_kvm_book3s_slb_fail(sid_map_mask, gvsid); in find_sid_vsid()
228 static struct kvmppc_sid_map *create_sid_map(struct kvm_vcpu *vcpu, u64 gvsid) in create_sid_map() argument
236 gvsid |= VSID_PR; in create_sid_map()
241 sid_map_mask = kvmppc_sid_hash(vcpu, gvsid); in create_sid_map()
260 map->guest_vsid = gvsid; in create_sid_map()
263 trace_kvm_book3s_slb_map(sid_map_mask, gvsid, map->host_vsid); in create_sid_map()
315 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()
341 if (gvsid & VSID_64K) in kvmppc_mmu_map_segment()