MCPcopy Create free account
hub / github.com/F-Stack/f-stack / dump_link

Function dump_link

freebsd/arm/arm/pmap-v6.c:6775–6806  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

6773}
6774
6775static void
6776dump_link(pmap_t pmap, uint32_t pte1_idx, boolean_t invalid_ok)
6777{
6778 uint32_t i;
6779 vm_offset_t va;
6780 pt2_entry_t *pte2p, pte2;
6781 vm_page_t m;
6782
6783 va = pte1_idx << PTE1_SHIFT;
6784 pte2p = pmap_pte2_ddb(pmap, va);
6785 for (i = 0; i < NPTE2_IN_PT2; i++, pte2p++, va += PAGE_SIZE) {
6786 pte2 = pte2_load(pte2p);
6787 if (pte2 == 0)
6788 continue;
6789 if (!pte2_is_valid(pte2)) {
6790 printf(" 0x%08X: 0x%08X", va, pte2);
6791 if (!invalid_ok)
6792 printf(" - not valid !!!");
6793 printf("\n");
6794 continue;
6795 }
6796 m = PHYS_TO_VM_PAGE(pte2_pa(pte2));
6797 printf(" 0x%08X: 0x%08X, TEX%d, s:%d, g:%d, m:%p", va , pte2,
6798 pte2_class(pte2), !!(pte2 & PTE2_S), !(pte2 & PTE2_NG), m);
6799 if (m != NULL) {
6800 printf(" v:%d w:%d f:0x%04X\n", m->valid,
6801 m->ref_count, m->flags);
6802 } else {
6803 printf("\n");
6804 }
6805 }
6806}
6807
6808static __inline boolean_t
6809is_pv_chunk_space(vm_offset_t va)

Callers 1

pmap-v6.cFile · 0.85

Calls 7

pmap_pte2_ddbFunction · 0.85
pte2_loadFunction · 0.85
pte2_is_validFunction · 0.85
PHYS_TO_VM_PAGEFunction · 0.85
pte2_paFunction · 0.85
pte2_classFunction · 0.85
printfFunction · 0.50

Tested by

no test coverage detected