Lines Matching refs:pfn

275 static struct rmpentry *get_rmpentry(u64 pfn)  in get_rmpentry()  argument
277 if (WARN_ON_ONCE(pfn > rmptable_max_pfn)) in get_rmpentry()
280 return &rmptable[pfn]; in get_rmpentry()
283 static struct rmpentry *__snp_lookup_rmpentry(u64 pfn, int *level) in __snp_lookup_rmpentry() argument
290 entry = get_rmpentry(pfn); in __snp_lookup_rmpentry()
299 large_entry = get_rmpentry(pfn & PFN_PMD_MASK); in __snp_lookup_rmpentry()
308 int snp_lookup_rmpentry(u64 pfn, bool *assigned, int *level) in snp_lookup_rmpentry() argument
312 e = __snp_lookup_rmpentry(pfn, level); in snp_lookup_rmpentry()
327 static void dump_rmpentry(u64 pfn) in dump_rmpentry() argument
333 e = __snp_lookup_rmpentry(pfn, &level); in dump_rmpentry()
336 pfn, PTR_ERR(e)); in dump_rmpentry()
342 pfn, e->lo, e->hi); in dump_rmpentry()
354 pfn_i = ALIGN_DOWN(pfn, PTRS_PER_PMD); in dump_rmpentry()
358 pfn, pfn_i, pfn_end); in dump_rmpentry()
399 int psmash(u64 pfn) in psmash() argument
401 unsigned long paddr = pfn << PAGE_SHIFT; in psmash()
407 if (!pfn_valid(pfn)) in psmash()
446 static int adjust_direct_map(u64 pfn, int rmp_level) in adjust_direct_map() argument
457 vaddr = (unsigned long)pfn_to_kaddr(pfn); in adjust_direct_map()
463 if (!pfn_valid(pfn)) in adjust_direct_map()
467 (!IS_ALIGNED(pfn, PTRS_PER_PMD) || !pfn_valid(pfn + PTRS_PER_PMD - 1))) in adjust_direct_map()
490 pfn, ret); in adjust_direct_map()
508 static int rmpupdate(u64 pfn, struct rmp_state *state) in rmpupdate() argument
510 unsigned long paddr = pfn << PAGE_SHIFT; in rmpupdate()
518 if (adjust_direct_map(pfn, level)) in rmpupdate()
531 pfn, level, ret); in rmpupdate()
532 dump_rmpentry(pfn); in rmpupdate()
541 int rmp_make_private(u64 pfn, u64 gpa, enum pg_level level, u32 asid, bool immutable) in rmp_make_private() argument
552 return rmpupdate(pfn, &state); in rmp_make_private()
557 int rmp_make_shared(u64 pfn, enum pg_level level) in rmp_make_shared() argument
564 return rmpupdate(pfn, &state); in rmp_make_shared()
568 void snp_leak_pages(u64 pfn, unsigned int npages) in snp_leak_pages() argument
570 struct page *page = pfn_to_page(pfn); in snp_leak_pages()
572 pr_warn("Leaking PFN range 0x%llx-0x%llx\n", pfn, pfn + npages); in snp_leak_pages()
591 dump_rmpentry(pfn); in snp_leak_pages()
593 pfn++; in snp_leak_pages()