Lines Matching refs:mode
65 static bool is_kasan_populate_mode(enum populate_mode mode)
68 return mode >= POPULATE_KASAN_MAP_SHADOW;
74 static void pgtable_populate(unsigned long addr, unsigned long end, enum populate_mode mode);
87 static inline void kasan_populate(unsigned long start, unsigned long end, enum populate_mode mode)
92 boot_debug("%-17s 0x%016lx-0x%016lx >> 0x%016lx-0x%016lx\n", get_populate_mode_name(mode),
94 pgtable_populate(sha_start, sha_end, mode);
139 unsigned long end, enum populate_mode mode)
141 if (mode == POPULATE_KASAN_ZERO_SHADOW &&
150 unsigned long end, enum populate_mode mode)
152 if (mode == POPULATE_KASAN_ZERO_SHADOW &&
161 unsigned long end, enum populate_mode mode)
163 if (mode == POPULATE_KASAN_ZERO_SHADOW &&
172 unsigned long end, enum populate_mode mode)
174 if (mode == POPULATE_KASAN_ZERO_SHADOW &&
182 static bool kasan_pte_populate_zero_shadow(pte_t *pte, enum populate_mode mode)
184 if (mode == POPULATE_KASAN_ZERO_SHADOW) {
197 unsigned long end, enum populate_mode mode)
203 unsigned long end, enum populate_mode mode)
209 unsigned long end, enum populate_mode mode)
215 unsigned long end, enum populate_mode mode)
220 static bool kasan_pte_populate_zero_shadow(pte_t *pte, enum populate_mode mode)
269 enum populate_mode mode)
271 switch (mode) {
299 static bool large_page_mapping_allowed(enum populate_mode mode)
301 switch (mode) {
315 enum populate_mode mode)
319 if (!cpu_has_edat2() || !large_page_mapping_allowed(mode) ||
323 pa = resolve_pa_may_alloc(addr, size, mode);
331 enum populate_mode mode)
335 if (!cpu_has_edat1() || !large_page_mapping_allowed(mode) ||
339 pa = resolve_pa_may_alloc(addr, size, mode);
347 enum populate_mode mode)
355 if (kasan_pte_populate_zero_shadow(pte, mode))
357 entry = __pte(resolve_pa_may_alloc(addr, PAGE_SIZE, mode));
363 if (mode == POPULATE_IDENTITY)
368 enum populate_mode mode)
378 if (kasan_pmd_populate_zero_shadow(pmd, addr, next, mode))
380 pa = try_get_large_pmd_pa(pmd, addr, next, mode);
393 pgtable_pte_populate(pmd, addr, next, mode);
395 if (mode == POPULATE_IDENTITY)
400 enum populate_mode mode)
410 if (kasan_pud_populate_zero_shadow(pud, addr, next, mode))
412 pa = try_get_large_pud_pa(pud, addr, next, mode);
425 pgtable_pmd_populate(pud, addr, next, mode);
427 if (mode == POPULATE_IDENTITY)
432 enum populate_mode mode)
442 if (kasan_p4d_populate_zero_shadow(p4d, addr, next, mode))
447 pgtable_pud_populate(p4d, addr, next, mode);
451 static void pgtable_populate(unsigned long addr, unsigned long end, enum populate_mode mode)
457 if (!is_kasan_populate_mode(mode)) {
459 get_populate_mode_name(mode), addr, end,
460 resolve_pa_may_alloc(addr, 0, mode),
461 resolve_pa_may_alloc(end - 1, 0, mode) + 1);
468 if (kasan_pgd_populate_zero_shadow(pgd, addr, next, mode))
474 if (mode == POPULATE_KASAN_SHALLOW)
477 pgtable_p4d_populate(pgd, addr, next, mode);