Lines Matching defs:wi
24 struct s1_walk_info wi;
162 static int get_ia_size(struct s2_walk_info *wi)
164 return 64 - wi->t0sz;
167 static int check_base_s2_limits(struct kvm_vcpu *vcpu, struct s2_walk_info *wi,
175 switch (BIT(wi->pgshift)) {
195 start_size = input_size - ((3 - level) * stride + wi->pgshift);
203 static int check_output_size(struct s2_walk_info *wi, phys_addr_t output)
205 unsigned int output_size = wi->max_oa_bits;
214 struct s2_walk_info *wi)
227 if (wi->be)
236 struct s2_walk_info *wi)
238 if (wi->be) {
257 struct s2_walk_info *wi, struct kvm_s2_trans *out)
266 switch (BIT(wi->pgshift)) {
270 level = 3 - wi->sl;
274 level = 2 - wi->sl;
279 stride = wi->pgshift - 3;
280 input_size = get_ia_size(wi);
284 ret = check_base_s2_limits(vcpu, wi, level, input_size, stride);
291 wi->pgshift);
292 base_addr = wi->baddr & GENMASK_ULL(47, base_lower_bound);
294 if (check_output_size(wi, base_addr)) {
305 addr_bottom = (3 - level) * stride + wi->pgshift;
310 ret = read_guest_s2_desc(vcpu, paddr, &desc, wi);
338 if (check_output_size(wi, desc)) {
344 base_addr = desc & GENMASK_ULL(47, wi->pgshift);
356 if (check_output_size(wi, desc)) {
362 if (wi->ha)
366 ret = swap_guest_s2_desc(vcpu, paddr, desc, new_desc, wi);
384 addr_bottom += contiguous_bit_shift(desc, wi, level);
390 out->block_size = 1UL << ((3 - level) * stride + wi->pgshift);
478 static void setup_s2_walk(struct kvm_vcpu *vcpu, struct s2_walk_info *wi)
482 wi->baddr = vcpu_read_sys_reg(vcpu, VTTBR_EL2);
483 wi->t0sz = vtcr & VTCR_EL2_T0SZ_MASK;
484 wi->pgshift = vtcr_to_tg0_pgshift(vcpu->kvm, vtcr);
485 wi->sl = FIELD_GET(VTCR_EL2_SL0_MASK, vtcr);
487 wi->max_oa_bits = min(get_kvm_ipa_limit(),
489 wi->ha = vtcr & VTCR_EL2_HA;
490 wi->be = vcpu_read_sys_reg(vcpu, SCTLR_EL2) & SCTLR_ELx_EE;
496 struct s2_walk_info wi;
504 setup_s2_walk(vcpu, &wi);
506 ret = walk_nested_s2_pgd(vcpu, gipa, &wi, result);
1037 tlb_size = ttl_to_size(pgshift_level_to_ttl(vt->wi.pgshift, vt->wr.level));
1446 vt->wi = (struct s1_walk_info) {
1461 ret = __kvm_translate_va(vcpu, &vt->wi, &vt->wr, va);