slb                19 arch/powerpc/include/asm/copro.h int copro_calculate_slb(struct mm_struct *mm, u64 ea, struct copro_slb *slb);
slb               162 arch/powerpc/include/asm/kvm_book3s_asm.h 	} slb[64];			/* guest SLB */
slb               518 arch/powerpc/include/asm/kvm_host.h 	struct kvmppc_slb slb[64];
slb               185 arch/powerpc/include/uapi/asm/kvm.h 				} slb[64];
slb               547 arch/powerpc/kernel/asm-offsets.c 	OFFSET(VCPU_SLB, kvm_vcpu, arch.slb);
slb               643 arch/powerpc/kernel/asm-offsets.c 	SVCPU_FIELD(SVCPU_SLB, slb);
slb                52 arch/powerpc/kvm/book3s_64_mmu.c 		if (!vcpu->arch.slb[i].valid)
slb                55 arch/powerpc/kvm/book3s_64_mmu.c 		if (vcpu->arch.slb[i].tb)
slb                58 arch/powerpc/kvm/book3s_64_mmu.c 		if (vcpu->arch.slb[i].esid == cmp_esid)
slb                59 arch/powerpc/kvm/book3s_64_mmu.c 			return &vcpu->arch.slb[i];
slb                65 arch/powerpc/kvm/book3s_64_mmu.c 	    if (vcpu->arch.slb[i].vsid)
slb                67 arch/powerpc/kvm/book3s_64_mmu.c 			vcpu->arch.slb[i].valid ? 'v' : ' ',
slb                68 arch/powerpc/kvm/book3s_64_mmu.c 			vcpu->arch.slb[i].large ? 'l' : ' ',
slb                69 arch/powerpc/kvm/book3s_64_mmu.c 			vcpu->arch.slb[i].tb    ? 't' : ' ',
slb                70 arch/powerpc/kvm/book3s_64_mmu.c 			vcpu->arch.slb[i].esid,
slb                71 arch/powerpc/kvm/book3s_64_mmu.c 			vcpu->arch.slb[i].vsid);
slb                87 arch/powerpc/kvm/book3s_64_mmu.c static u64 kvmppc_slb_calc_vpn(struct kvmppc_slb *slb, gva_t eaddr)
slb                89 arch/powerpc/kvm/book3s_64_mmu.c 	eaddr &= kvmppc_slb_offset_mask(slb);
slb                92 arch/powerpc/kvm/book3s_64_mmu.c 		((slb->vsid) << (kvmppc_slb_sid_shift(slb) - VPN_SHIFT));
slb                98 arch/powerpc/kvm/book3s_64_mmu.c 	struct kvmppc_slb *slb;
slb               100 arch/powerpc/kvm/book3s_64_mmu.c 	slb = kvmppc_mmu_book3s_64_find_slbe(vcpu, eaddr);
slb               101 arch/powerpc/kvm/book3s_64_mmu.c 	if (!slb)
slb               104 arch/powerpc/kvm/book3s_64_mmu.c 	return kvmppc_slb_calc_vpn(slb, eaddr);
slb               393 arch/powerpc/kvm/book3s_64_mmu.c 	slbe = &vcpu->arch.slb[slb_nr];
slb               447 arch/powerpc/kvm/book3s_64_mmu.c 	slbe = &vcpu->arch.slb[slb_nr];
slb               459 arch/powerpc/kvm/book3s_64_mmu.c 	slbe = &vcpu->arch.slb[slb_nr];
slb               493 arch/powerpc/kvm/book3s_64_mmu.c 		vcpu->arch.slb[i].valid = false;
slb               494 arch/powerpc/kvm/book3s_64_mmu.c 		vcpu->arch.slb[i].orige = 0;
slb               495 arch/powerpc/kvm/book3s_64_mmu.c 		vcpu->arch.slb[i].origv = 0;
slb               591 arch/powerpc/kvm/book3s_64_mmu.c 	struct kvmppc_slb *slb;
slb               598 arch/powerpc/kvm/book3s_64_mmu.c 		slb = kvmppc_mmu_book3s_64_find_slbe(vcpu, ea);
slb               599 arch/powerpc/kvm/book3s_64_mmu.c 		if (slb) {
slb               600 arch/powerpc/kvm/book3s_64_mmu.c 			gvsid = slb->vsid;
slb               601 arch/powerpc/kvm/book3s_64_mmu.c 			pagesize = slb->base_page_size;
slb               602 arch/powerpc/kvm/book3s_64_mmu.c 			if (slb->tb) {
slb               621 arch/powerpc/kvm/book3s_64_mmu.c 		if (!slb)
slb               279 arch/powerpc/kvm/book3s_64_mmu_host.c 		if (!(svcpu->slb[i].esid & SLB_ESID_V))
slb               281 arch/powerpc/kvm/book3s_64_mmu_host.c 		else if ((svcpu->slb[i].esid & ESID_MASK) == esid) {
slb               325 arch/powerpc/kvm/book3s_64_mmu_host.c 		svcpu->slb[slb_index].esid = 0;
slb               346 arch/powerpc/kvm/book3s_64_mmu_host.c 	svcpu->slb[slb_index].esid = slb_esid;
slb               347 arch/powerpc/kvm/book3s_64_mmu_host.c 	svcpu->slb[slb_index].vsid = slb_vsid;
slb               363 arch/powerpc/kvm/book3s_64_mmu_host.c 		if ((svcpu->slb[i].esid & SLB_ESID_V) &&
slb               364 arch/powerpc/kvm/book3s_64_mmu_host.c 		    (svcpu->slb[i].esid & seg_mask) == ea) {
slb               366 arch/powerpc/kvm/book3s_64_mmu_host.c 			svcpu->slb[i].esid = 0;
slb               377 arch/powerpc/kvm/book3s_64_mmu_host.c 	svcpu->slb[0].esid = 0;
slb               317 arch/powerpc/kvm/book3s_64_mmu_hv.c 		if (!(vcpu->arch.slb[i].orige & SLB_ESID_V))
slb               320 arch/powerpc/kvm/book3s_64_mmu_hv.c 		if (vcpu->arch.slb[i].origv & SLB_VSID_B_1T)
slb               325 arch/powerpc/kvm/book3s_64_mmu_hv.c 		if (((vcpu->arch.slb[i].orige ^ eaddr) & mask) == 0)
slb               326 arch/powerpc/kvm/book3s_64_mmu_hv.c 			return &vcpu->arch.slb[i];
slb               441 arch/powerpc/kvm/book3s_hv.c 		       vcpu->arch.slb[r].orige, vcpu->arch.slb[r].origv);
slb              1545 arch/powerpc/kvm/book3s_hv.c 		sregs->u.s.ppc64.slb[i].slbe = vcpu->arch.slb[i].orige;
slb              1546 arch/powerpc/kvm/book3s_hv.c 		sregs->u.s.ppc64.slb[i].slbv = vcpu->arch.slb[i].origv;
slb              1563 arch/powerpc/kvm/book3s_hv.c 		if (sregs->u.s.ppc64.slb[i].slbe & SLB_ESID_V) {
slb              1564 arch/powerpc/kvm/book3s_hv.c 			vcpu->arch.slb[j].orige = sregs->u.s.ppc64.slb[i].slbe;
slb              1565 arch/powerpc/kvm/book3s_hv.c 			vcpu->arch.slb[j].origv = sregs->u.s.ppc64.slb[i].slbv;
slb                38 arch/powerpc/kvm/book3s_hv_ras.c 	struct slb_shadow *slb;
slb                45 arch/powerpc/kvm/book3s_hv_ras.c 	slb = vcpu->arch.slb_shadow.pinned_addr;
slb                46 arch/powerpc/kvm/book3s_hv_ras.c 	if (!slb)
slb                50 arch/powerpc/kvm/book3s_hv_ras.c 	n = min_t(u32, be32_to_cpu(slb->persistent), SLB_MIN_SIZE);
slb                51 arch/powerpc/kvm/book3s_hv_ras.c 	if ((void *) &slb->save_area[n] > vcpu->arch.slb_shadow.pinned_end)
slb                56 arch/powerpc/kvm/book3s_hv_ras.c 		unsigned long rb = be64_to_cpu(slb->save_area[i].esid);
slb                57 arch/powerpc/kvm/book3s_hv_ras.c 		unsigned long rs = be64_to_cpu(slb->save_area[i].vsid);
slb                99 arch/powerpc/kvm/book3s_pr.c 	memcpy(svcpu->slb, to_book3s(vcpu)->slb_shadow, sizeof(svcpu->slb));
slb               128 arch/powerpc/kvm/book3s_pr.c 	memcpy(to_book3s(vcpu)->slb_shadow, svcpu->slb, sizeof(svcpu->slb));
slb              1450 arch/powerpc/kvm/book3s_pr.c 			sregs->u.s.ppc64.slb[i].slbe = vcpu->arch.slb[i].orige | i;
slb              1451 arch/powerpc/kvm/book3s_pr.c 			sregs->u.s.ppc64.slb[i].slbv = vcpu->arch.slb[i].origv;
slb              1482 arch/powerpc/kvm/book3s_pr.c 			u64 rb = sregs->u.s.ppc64.slb[i].slbe;
slb              1483 arch/powerpc/kvm/book3s_pr.c 			u64 rs = sregs->u.s.ppc64.slb[i].slbv;
slb                90 arch/powerpc/mm/copro_fault.c int copro_calculate_slb(struct mm_struct *mm, u64 ea, struct copro_slb *slb)
slb               139 arch/powerpc/mm/copro_fault.c 	slb->esid = (ea & (ssize == MMU_SEGSIZE_1T ? ESID_MASK_1T : ESID_MASK)) | SLB_ESID_V;
slb               140 arch/powerpc/mm/copro_fault.c 	slb->vsid = vsid;
slb               135 arch/powerpc/platforms/cell/spu_base.c static inline void spu_load_slb(struct spu *spu, int slbe, struct copro_slb *slb)
slb               140 arch/powerpc/platforms/cell/spu_base.c 			__func__, slbe, slb->vsid, slb->esid);
slb               146 arch/powerpc/platforms/cell/spu_base.c 	out_be64(&priv2->slb_vsid_RW, slb->vsid);
slb               148 arch/powerpc/platforms/cell/spu_base.c 	out_be64(&priv2->slb_esid_RW, slb->esid);
slb               153 arch/powerpc/platforms/cell/spu_base.c 	struct copro_slb slb;
slb               156 arch/powerpc/platforms/cell/spu_base.c 	ret = copro_calculate_slb(spu->mm, ea, &slb);
slb               160 arch/powerpc/platforms/cell/spu_base.c 	spu_load_slb(spu, spu->slb_replace, &slb);
slb               209 arch/powerpc/platforms/cell/spu_base.c static void __spu_kernel_slb(void *addr, struct copro_slb *slb)
slb               219 arch/powerpc/platforms/cell/spu_base.c 	slb->vsid = (get_kernel_vsid(ea, MMU_SEGSIZE_256M) << SLB_VSID_SHIFT) |
slb               221 arch/powerpc/platforms/cell/spu_base.c 	slb->esid = (ea & ESID_MASK) | SLB_ESID_V;
slb               677 arch/x86/kvm/trace.h 	    TP_PROTO(__u64 rip, __u32 slb),
slb               678 arch/x86/kvm/trace.h 	    TP_ARGS(rip, slb),
slb               682 arch/x86/kvm/trace.h 		__field(	__u32,	slb	)
slb               687 arch/x86/kvm/trace.h 		__entry->slb		=	slb;
slb               691 arch/x86/kvm/trace.h 		  __entry->rip, __entry->slb)
slb                22 drivers/misc/cxl/fault.c static bool sste_matches(struct cxl_sste *sste, struct copro_slb *slb)
slb                24 drivers/misc/cxl/fault.c 	return ((sste->vsid_data == cpu_to_be64(slb->vsid)) &&
slb                25 drivers/misc/cxl/fault.c 		(sste->esid_data == cpu_to_be64(slb->esid)));
slb                33 drivers/misc/cxl/fault.c 				       struct copro_slb *slb)
slb                40 drivers/misc/cxl/fault.c 	if (slb->vsid & SLB_VSID_B_1T)
slb                41 drivers/misc/cxl/fault.c 		hash = (slb->esid >> SID_SHIFT_1T) & mask;
slb                43 drivers/misc/cxl/fault.c 		hash = (slb->esid >> SID_SHIFT) & mask;
slb                50 drivers/misc/cxl/fault.c 		if (sste_matches(sste, slb))
slb                63 drivers/misc/cxl/fault.c static void cxl_load_segment(struct cxl_context *ctx, struct copro_slb *slb)
slb                70 drivers/misc/cxl/fault.c 	sste = find_free_sste(ctx, slb);
slb                75 drivers/misc/cxl/fault.c 			sste - ctx->sstp, slb->vsid, slb->esid);
slb                76 drivers/misc/cxl/fault.c 	trace_cxl_ste_write(ctx, sste - ctx->sstp, slb->esid, slb->vsid);
slb                78 drivers/misc/cxl/fault.c 	sste->vsid_data = cpu_to_be64(slb->vsid);
slb                79 drivers/misc/cxl/fault.c 	sste->esid_data = cpu_to_be64(slb->esid);
slb                87 drivers/misc/cxl/fault.c 	struct copro_slb slb = {0,0};
slb                90 drivers/misc/cxl/fault.c 	if (!(rc = copro_calculate_slb(mm, ea, &slb))) {
slb                91 drivers/misc/cxl/fault.c 		cxl_load_segment(ctx, &slb);
slb               312 drivers/misc/cxl/fault.c 	struct copro_slb slb;
slb               327 drivers/misc/cxl/fault.c 				ea = next_segment(ea, slb.vsid)) {
slb               328 drivers/misc/cxl/fault.c 			rc = copro_calculate_slb(mm, ea, &slb);
slb               332 drivers/misc/cxl/fault.c 			if (last_esid == slb.esid)
slb               335 drivers/misc/cxl/fault.c 			cxl_load_segment(ctx, &slb);
slb               336 drivers/misc/cxl/fault.c 			last_esid = slb.esid;
slb               185 tools/arch/powerpc/include/uapi/asm/kvm.h 				} slb[64];