Lines Matching +full:clear +full:- +full:mask
1 // SPDX-License-Identifier: GPL-2.0-only
49 { -1, NULL },
53 u64 mask; member
56 const char *clear; member
63 .mask = SLB_VSID_B,
66 .clear = "ssize: 1T ",
68 .mask = HPTE_V_SECONDARY,
71 .clear = "primary ",
73 .mask = HPTE_V_VALID,
76 .clear = "invalid",
78 .mask = HPTE_V_BOLTED,
81 .clear = "",
87 .mask = HPTE_R_PP0 | HPTE_R_PP,
89 .set = "prot:RW--",
91 .mask = HPTE_R_PP0 | HPTE_R_PP,
93 .set = "prot:RWR-",
95 .mask = HPTE_R_PP0 | HPTE_R_PP,
99 .mask = HPTE_R_PP0 | HPTE_R_PP,
101 .set = "prot:R-R-",
103 .mask = HPTE_R_PP0 | HPTE_R_PP,
105 .set = "prot:R---",
107 .mask = HPTE_R_KEY_HI | HPTE_R_KEY_LO,
110 .clear = "",
113 .mask = HPTE_R_R,
116 .clear = " ",
118 .mask = HPTE_R_C,
121 .clear = " ",
123 .mask = HPTE_R_N,
127 .mask = HPTE_R_WIMG,
131 .mask = HPTE_R_WIMG,
135 .mask = HPTE_R_WIMG,
147 ps -= 10; in calculate_pagesize()
150 seq_printf(st->seq, " %s_ps: %i%c\t", s, 1<<ps, *unit); in calculate_pagesize()
164 if (flag->mask == 0) in dump_flag_info()
167 if (flag->is_val) { in dump_flag_info()
168 val = pte & flag->val; in dump_flag_info()
169 if (flag->shift) in dump_flag_info()
170 val = val >> flag->shift; in dump_flag_info()
171 seq_printf(st->seq, " %s:%llx", flag->set, val); in dump_flag_info()
173 if ((pte & flag->mask) == flag->val) in dump_flag_info()
174 s = flag->set; in dump_flag_info()
176 s = flag->clear; in dump_flag_info()
178 seq_printf(st->seq, " %s", s); in dump_flag_info()
188 while (ea >= st->marker[1].start_address) { in dump_hpte_info()
189 st->marker++; in dump_hpte_info()
190 seq_printf(st->seq, "---[ %s ]---\n", st->marker->name); in dump_hpte_info()
192 seq_printf(st->seq, "0x%lx:\t", ea); in dump_hpte_info()
193 seq_printf(st->seq, "AVPN:%llx\t", HPTE_V_AVPN_VAL(v)); in dump_hpte_info()
195 seq_printf(st->seq, " rpn: %lx\t", rpn); in dump_hpte_info()
201 seq_printf(st->seq, "LP enc: %lx", lp); in dump_hpte_info()
202 seq_putc(st->seq, '\n'); in dump_hpte_info()
226 hpte_v = be64_to_cpu(hptep->v); in native_find()
230 *v = be64_to_cpu(hptep->v); in native_find()
231 *r = be64_to_cpu(hptep->r); in native_find()
236 return -1; in native_find()
276 return -1; in pseries_find()
283 unsigned long arpn, mask, lp; in decode_r() local
284 int penc = -2, idx = 0, shift; in decode_r()
292 * - find the mmu entry for our base page size in decode_r()
293 * - go through all page encodings and use the associated mask to in decode_r()
302 if ((penc != -1) && (mmu_psize_defs[idx].shift)) { in decode_r()
303 shift = mmu_psize_defs[idx].shift - HPTE_R_RPN_SHIFT; in decode_r()
304 mask = (0x1 << (shift)) - 1; in decode_r()
305 if ((lp & mask) == penc) { in decode_r()
307 *lp_bits = lp & mask; in decode_r()
333 return -1; in hpte_find()
339 if (slot == -1) in hpte_find()
343 if (slot == -1) in hpte_find()
344 return -1; in hpte_find()
348 * - check that this has the same base page in hpte_find()
349 * - find the actual page size in hpte_find()
350 * - find the RPN in hpte_find()
361 lp_bits = -1; in hpte_find()
367 if (actual_psize == -1) in hpte_find()
368 return -1; in hpte_find()
399 && (status != -1)) { in walk_pte()
401 seq_printf(st->seq, "page probably bolted before linux" in walk_pte()
495 hpte_find(st, ptr->virt_addr, mmu_vmemmap_psize); in walk_vmemmap()
496 ptr = ptr->list; in walk_vmemmap()
498 seq_puts(st->seq, "---[ vmemmap end ]---\n"); in walk_vmemmap()